/* 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_54 ();
extern rtx gen_split_56 ();
extern rtx gen_split_57 ();
extern rtx gen_split_60 ();
extern rtx gen_split_62 ();
extern rtx gen_split_67 ();
extern rtx gen_split_70 ();
extern rtx gen_split_73 ();
extern rtx gen_split_75 ();
extern rtx gen_split_84 ();
extern rtx gen_split_87 ();
extern rtx gen_split_123 ();
extern rtx gen_split_125 ();
extern rtx gen_split_129 ();
extern rtx gen_split_131 ();
extern rtx gen_split_132 ();
extern rtx gen_split_136 ();
extern rtx gen_split_138 ();
extern rtx gen_split_139 ();
extern rtx gen_split_142 ();
extern rtx gen_split_144 ();
extern rtx gen_split_147 ();
extern rtx gen_split_149 ();
extern rtx gen_split_152 ();
extern rtx gen_split_154 ();
extern rtx gen_split_157 ();
extern rtx gen_split_159 ();
extern rtx gen_split_162 ();
extern rtx gen_split_164 ();
extern rtx gen_split_265 ();
extern rtx gen_split_267 ();
extern rtx gen_split_284 ();
extern rtx gen_split_286 ();
extern rtx gen_split_292 ();
extern rtx gen_split_295 ();
extern rtx gen_split_302 ();
extern rtx gen_split_317 ();
extern rtx gen_split_321 ();
extern rtx gen_split_335 ();
extern rtx gen_split_344 ();
extern rtx gen_split_346 ();
extern rtx gen_split_396 ();
extern rtx gen_split_401 ();
extern rtx gen_split_421 ();
extern rtx gen_split_424 ();
extern rtx gen_split_433 ();
extern rtx gen_split_437 ();
extern rtx gen_split_438 ();
extern rtx gen_split_439 ();
extern rtx gen_split_446 ();
extern rtx gen_split_447 ();
extern rtx gen_split_450 ();
extern rtx gen_split_451 ();
extern rtx gen_split_452 ();
extern rtx gen_split_453 ();
extern rtx gen_split_454 ();
extern rtx gen_split_455 ();
extern rtx gen_split_559 ();
extern rtx gen_split_564 ();
extern rtx gen_split_565 ();
extern rtx gen_split_578 ();
extern rtx gen_split_704 ();
extern rtx gen_split_705 ();
extern rtx gen_split_706 ();
extern rtx gen_split_707 ();

/* `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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case EQ:
      goto L5503;
    case LSHIFTRT:
      goto L5644;
    case LE:
      goto L5838;
    case LEU:
      goto L5967;
    case LT:
      goto L6147;
    case LTU:
      goto L6245;
    case GE:
      goto L6366;
    case GEU:
      goto L6662;
    case GT:
      goto L6895;
    case GTU:
      goto L7171;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L380;
	}
    }
  goto ret0;

  L5503: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5504;
    }
  goto ret0;

  L5504: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5505;
    }
  goto ret0;

  L5505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5506;
    }
  goto ret0;

  L5506: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 580;
      }
  goto ret0;

  L5644: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L5645;
  goto ret0;

  L5645: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == ABS && 1)
    goto L5646;
  goto ret0;

  L5646: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L5647;
    }
  goto ret0;

  L5647: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 31 && 1)
    goto L5648;
  goto ret0;

  L5648: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5649;
    }
  goto ret0;

  L5649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 587;
      }
  goto ret0;

  L5838: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5839;
    }
  goto ret0;

  L5839: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5840;
    }
  goto ret0;

  L5840: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5841;
    }
  goto ret0;

  L5841: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 594;
      }
  goto ret0;

  L5967: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5968;
    }
  goto ret0;

  L5968: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5969;
    }
  goto ret0;

  L5969: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5970;
    }
  goto ret0;

  L5970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 603;
      }
  goto ret0;

  L6147: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6148;
    }
  goto ret0;

  L6148: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6149;
    }
  goto ret0;

  L6149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6150;
    }
  goto ret0;

  L6150: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 612;
      }
  goto ret0;

  L6245: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6246;
    }
  goto ret0;

  L6246: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6247;
    }
  goto ret0;

  L6247: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6248;
    }
  goto ret0;

  L6248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 618;
      }
  goto ret0;

  L6366: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6367;
    }
  goto ret0;

  L6367: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6368;
    }
  goto ret0;

  L6368: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6369;
    }
  goto ret0;

  L6369: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 624;
      }
  goto ret0;

  L6662: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6663;
    }
  goto ret0;

  L6663: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6664;
    }
  goto ret0;

  L6664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6665;
    }
  goto ret0;

  L6665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 638;
      }
  goto ret0;

  L6895: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6896;
    }
  goto ret0;

  L6896: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L6897;
  L7027: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L7028;
    }
  goto ret0;

  L6897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6898;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7027;

  L6898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 652;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7027;

  L7028: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L7029;
    }
  goto ret0;

  L7029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 657;
      }
  goto ret0;

  L7171: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L7172;
    }
  goto ret0;

  L7172: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L7173;
    }
  goto ret0;

  L7173: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L7174;
    }
  goto ret0;

  L7174: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 668;
      }
  goto ret0;

  L380: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L381;
    }
  goto ret0;

  L381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 53;
      }
  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, x7 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 ZERO_EXTEND:
	  goto L17;
	case SIGN_EXTEND:
	  goto L47;
	case PLUS:
	  goto L5668;
	case NOT:
	  goto L3911;
	case MINUS:
	  goto L3284;
	case NEG:
	  goto L3356;
	case DIV:
	  goto L3417;
	case ROTATE:
	  goto L3462;
	case AND:
	  goto L3501;
	case ASHIFT:
	  goto L3679;
	case LSHIFTRT:
	  goto L3716;
	case ASHIFTRT:
	  goto L3751;
	case IOR:
	  goto L3991;
	case XOR:
	  goto L3869;
	case SUBREG:
	case REG:
	  if (gpc_reg_operand (x2, DImode))
	    {
	      ro[1] = x2;
	      goto L5253;
	    }
	}
      break;
    case SImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L197;
	case SIGN_EXTEND:
	  goto L227;
	case PLUS:
	  goto L5502;
	case NOT:
	  goto L1310;
	case MINUS:
	  goto L499;
	case IF_THEN_ELSE:
	  goto L619;
	case NEG:
	  goto L719;
	case MULT:
	  goto L772;
	case DIV:
	  goto L907;
	case AND:
	  goto L1376;
	case IOR:
	  goto L1442;
	case XOR:
	  goto L1245;
	case ZERO_EXTRACT:
	  goto L1833;
	case ROTATE:
	  goto L1911;
	case ASHIFT:
	  goto L2098;
	case LSHIFTRT:
	  goto L2244;
	case ASHIFTRT:
	  goto L2505;
	case SUBREG:
	case REG:
	  if (gpc_reg_operand (x2, SImode))
	    {
	      ro[1] = x2;
	      goto L5248;
	    }
	}
      break;
    case HImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L257;
	case SIGN_EXTEND:
	  goto L287;
	}
    }
  goto ret0;

  L17: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x3, QImode))
	{
	  ro[1] = x3;
	  goto L18;
	}
      break;
    case HImode:
      if (GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
	goto L3592;
    L77: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x3, HImode))
	{
	  ro[1] = x3;
	  goto L78;
	}
      break;
    case SImode:
      if (GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
	goto L3637;
    L137: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L138;
	}
    }
  L3546: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == QImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L3547;
  goto ret0;

  L18: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 2;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L3546;

  L3592: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3593;
  goto L77;

  L3593: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3594;
    }
  goto L77;

  L3594: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3595;
    }
  goto L77;

  L3595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 372;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L77;

  L78: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 9;
      }
  goto ret0;

  L3637: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3638;
  goto L137;

  L3638: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3639;
    }
  goto L137;

  L3639: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3640;
    }
  goto L137;

  L3640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 375;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L137;

  L138: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 17;
      }
  goto ret0;

  L3547: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3548;
  goto ret0;

  L3548: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3549;
    }
  goto ret0;

  L3549: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3550;
    }
  goto ret0;

  L3550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 369;
      }
  goto ret0;

  L47: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x3, QImode))
	{
	  ro[1] = x3;
	  goto L48;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x3, HImode))
	{
	  ro[1] = x3;
	  goto L108;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L168;
	}
    }
  goto ret0;

  L48: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 5;
      }
  goto ret0;

  L108: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 13;
      }
  goto ret0;

  L168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 21;
      }
  goto ret0;

  L5668: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5669;
    case GT:
      goto L6916;
    case GTU:
      goto L7192;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x3, DImode))
	{
	  ro[1] = x3;
	  goto L3215;
	}
    }
  goto ret0;

  L5669: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L5670;
  goto ret0;

  L5670: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ABS && 1)
    goto L5671;
  goto ret0;

  L5671: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L5672;
    }
  goto ret0;

  L5672: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 63 && 1)
    goto L5673;
  goto ret0;

  L5673: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L5674;
    }
  goto ret0;

  L5674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 588;
      }
  goto ret0;

  L6916: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L6917;
    }
  goto ret0;

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

  L6918: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L6919;
    }
  goto ret0;

  L6919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 653;
      }
  goto ret0;

  L7192: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L7193;
    }
  goto ret0;

  L7193: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L7194;
    }
  goto ret0;

  L7194: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L7195;
    }
  goto ret0;

  L7195: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 669;
      }
  goto ret0;

  L3215: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3216;
    }
  goto ret0;

  L3216: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 333;
      }
  goto ret0;

  L3911: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  if (GET_CODE (x3) == XOR && 1)
    goto L3912;
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3253;
    }
  goto ret0;

  L3912: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3913;
    }
  goto ret0;

  L3913: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3914;
    }
  goto ret0;

  L3914: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 403;
      }
  goto ret0;

  L3253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 337;
      }
  goto ret0;

  L3284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3285;
    }
  goto ret0;

  L3285: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3286;
    }
  goto ret0;

  L3286: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 340;
      }
  goto ret0;

  L3356: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3357;
    }
  goto ret0;

  L3357: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 349;
      }
  goto ret0;

  L3417: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3418;
    }
  goto ret0;

  L3418: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L3419;
    }
  goto ret0;

  L3419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64 && exact_log2 (INTVAL (operands[2])) >= 0)
      {
	*pnum_clobbers = 1;
	return 358;
      }
  goto ret0;

  L3462: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3463;
    }
  goto ret0;

  L3463: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3464;
    }
  goto ret0;

  L3464: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 363;
      }
  goto ret0;

  L3501: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case ROTATE:
      goto L3502;
    case NOT:
      goto L3952;
    case NEG:
      goto L6498;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x3, DImode))
	{
	  ro[1] = x3;
	  goto L3795;
	}
    }
  goto ret0;

  L3502: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3503;
    }
  goto ret0;

  L3503: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3504;
    }
  goto ret0;

  L3504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (mask64_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L3505;
    }
  goto ret0;

  L3505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 366;
      }
  goto ret0;

  L3952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L4080;
    }
  goto ret0;

  L4080: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L4081;
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3954;
    }
  goto ret0;

  L4081: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L4082;
    }
  goto ret0;

  L4082: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 415;
      }
  goto ret0;

  L3954: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 406;
      }
  goto ret0;

  L6498: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6499;
  goto ret0;

  L6499: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NOT && 1)
    goto L6500;
  goto ret0;

  L6500: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L6501;
    }
  goto ret0;

  L6501: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L6502;
  goto ret0;

  L6502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L6503;
    }
  goto ret0;

  L6503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 630;
      }
  goto ret0;

  L3795: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (and64_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3796;
    }
  goto ret0;

  L3796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 390;
      }
  goto ret0;

  L3679: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3680;
    }
  goto ret0;

  L3680: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L3681;
    }
  goto ret0;

  L3681: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 379;
      }
  goto ret0;

  L3716: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3717;
    }
  goto ret0;

  L3717: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L3718;
    }
  goto ret0;

  L3718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 383;
      }
  goto ret0;

  L3751: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3752;
    }
  goto ret0;

  L3752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L3753;
    }
  goto ret0;

  L3753: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 387;
      }
  goto ret0;

  L3991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L3992;
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3830;
    }
  goto ret0;

  L3992: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L4035;
    }
  goto ret0;

  L4035: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L4036;
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3994;
    }
  goto ret0;

  L4036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L4037;
    }
  goto ret0;

  L4037: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 412;
      }
  goto ret0;

  L3994: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 409;
      }
  goto ret0;

  L3830: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3831;
    }
  goto ret0;

  L3831: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 394;
      }
  goto ret0;

  L3869: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3870;
    }
  goto ret0;

  L3870: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3871;
    }
  goto ret0;

  L3871: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 399;
      }
  goto ret0;

  L5253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 558;
      }
  goto ret0;

  L197: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x3, QImode))
	{
	  ro[1] = x3;
	  goto L198;
	}
      break;
    case HImode:
      if (GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
	goto L2041;
    L317: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x3, HImode))
	{
	  ro[1] = x3;
	  goto L318;
	}
    }
  L1995: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == QImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L1996;
  goto ret0;

  L198: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 25;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1995;

  L2041: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    {
      goto L317;
    }
  switch (GET_CODE (x4))
    {
    default:
      break;
    case ROTATE:
      goto L2042;
    case LSHIFTRT:
      goto L2424;
    }
  goto L317;

  L2042: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2043;
    }
  goto L317;

  L2043: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L2044;
    }
  goto L317;

  L2044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 197;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L317;

  L2424: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2425;
    }
  goto L317;

  L2425: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && 1)
    {
      ro[2] = x5;
      goto L2426;
    }
  goto L317;

  L2426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (includes_rshift_p (operands[2], GEN_INT (65535)))
      {
	*pnum_clobbers = 1;
	return 223;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L317;

  L318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 45;
    }
  goto ret0;

  L1996: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case ROTATE:
      goto L1997;
    case LSHIFTRT:
      goto L2379;
    }
  goto ret0;

  L1997: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1998;
    }
  goto ret0;

  L1998: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1999;
    }
  goto ret0;

  L1999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 194;
    }
  goto ret0;

  L2379: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2380;
    }
  goto ret0;

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

  L2381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (includes_rshift_p (operands[2], GEN_INT (255)))
      {
	*pnum_clobbers = 1;
	return 220;
      }
  goto ret0;

  L227: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x3, QImode))
	{
	  ro[1] = x3;
	  goto L228;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x3, HImode))
	{
	  ro[1] = x3;
	  goto L348;
	}
    }
  goto ret0;

  L228: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC)
      {
	*pnum_clobbers = 1;
	return 29;
      }
  goto ret0;

  L348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 49;
    }
  goto ret0;
 L5502: ATTRIBUTE_UNUSED_LABEL
  return recog_1 (x0, insn, pnum_clobbers);

  L1310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  if (GET_CODE (x3) == XOR && 1)
    goto L1311;
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L441;
    }
  goto ret0;

  L1311: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1312;
    }
  goto ret0;

  L1312: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1313;
    }
  goto ret0;

  L1313: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 141;
      }
  goto ret0;

  L441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 59;
      }
  goto ret0;

  L499: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L500;
    }
  goto ret0;

  L500: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L501;
    }
  goto ret0;

  L501: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L521;
  goto ret0;

  L521: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC)
      {
	*pnum_clobbers = 1;
	return 65;
      }
  L522: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC && ! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 66;
      }
  goto ret0;

  L619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == GT && 1)
    goto L620;
  goto ret0;

  L620: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L621;
    }
  goto ret0;

  L621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L622;
    }
  goto ret0;

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

  L623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MINUS && 1)
    goto L624;
  goto ret0;

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

  L625: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L626;
  goto ret0;

  L626: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 79;
      }
  goto ret0;

  L719: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L720;
    }
  goto ret0;

  L720: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 89;
      }
  goto ret0;

  L772: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L773;
    }
  goto ret0;

  L773: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L774;
    }
  goto ret0;

  L774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L792;
  goto ret0;

  L792: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 2;
	return 95;
      }
  L793: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (! TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 96;
      }
  goto ret0;

  L907: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L908;
    }
  goto ret0;

  L908: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L909;
    }
  goto ret0;

  L909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (exact_log2 (INTVAL (operands[2])) >= 0)
      {
	*pnum_clobbers = 1;
	return 109;
      }
  goto ret0;

  L1376: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case NOT:
      goto L1377;
    case ROTATE:
      goto L1951;
    case ASHIFT:
      goto L2187;
    case LSHIFTRT:
      goto L2333;
    case NEG:
      goto L6050;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L1106;
	}
    }
  goto ret0;

  L1377: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1586;
    }
  goto ret0;

  L1586: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L1587;
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1379;
    }
  goto ret0;

  L1587: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1588;
    }
  goto ret0;

  L1588: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 161;
      }
  goto ret0;

  L1379: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 146;
      }
  goto ret0;

  L1951: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1952;
    }
  goto ret0;

  L1952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1953;
    }
  goto ret0;

  L1953: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && mask_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L1954;
    }
  goto ret0;

  L1954: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 191;
      }
  goto ret0;

  L2187: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2188;
    }
  goto ret0;

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

  L2189: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && mask_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L2190;
    }
  goto ret0;

  L2190: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64 && includes_lshift_p (operands[2], operands[3]))
      {
	*pnum_clobbers = 1;
	return 207;
      }
  goto ret0;

  L2333: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2334;
    }
  goto ret0;

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

  L2335: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && mask_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L2336;
    }
  goto ret0;

  L2336: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64 && includes_rshift_p (operands[2], operands[3]))
      {
	*pnum_clobbers = 1;
	return 217;
      }
  goto ret0;

  L6050: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LEU:
      goto L6051;
    case LSHIFTRT:
      goto L6474;
    case GEU:
      goto L6746;
    }
  goto ret0;

  L6051: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6052;
    }
  goto ret0;

  L6052: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6053;
    }
  goto ret0;

  L6053: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6054;
    }
  goto ret0;

  L6054: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 607;
      }
  goto ret0;

  L6474: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L6475;
  goto ret0;

  L6475: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6476;
    }
  goto ret0;

  L6476: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L6477;
  goto ret0;

  L6477: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6478;
    }
  goto ret0;

  L6478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 629;
    }
  goto ret0;

  L6746: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6747;
    }
  goto ret0;

  L6747: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6748;
    }
  goto ret0;

  L6748: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6749;
    }
  goto ret0;

  L6749: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 642;
      }
  goto ret0;

  L1106: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (and_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1107;
    }
  goto ret0;

  L1107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 122;
      }
  goto ret0;

  L1442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L1443;
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1183;
    }
  goto ret0;

  L1443: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1512;
    }
  goto ret0;

  L1512: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L1513;
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1445;
    }
  goto ret0;

  L1513: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1514;
    }
  goto ret0;

  L1514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 156;
      }
  goto ret0;

  L1445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 151;
      }
  goto ret0;

  L1183: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1184;
    }
  goto ret0;

  L1184: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 128;
      }
  goto ret0;

  L1245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1246;
    }
  goto ret0;

  L1246: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1247;
    }
  goto ret0;

  L1247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 135;
      }
  goto ret0;

  L1833: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1834;
    }
  goto ret0;

  L1834: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L1835;
    }
  goto ret0;

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

  L1836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 182;
      }
  goto ret0;

  L1911: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1912;
    }
  goto ret0;

  L1912: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1913;
    }
  goto ret0;

  L1913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 188;
      }
  goto ret0;

  L2098: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2099;
    }
  goto ret0;

  L2099: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2100;
    }
  goto ret0;

  L2100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L2118;
  goto ret0;

  L2118: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 2;
	return 202;
      }
  L2119: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 203;
      }
  goto ret0;

  L2244: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2245;
    }
  goto ret0;

  L2245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2246;
    }
  goto ret0;

  L2246: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L2264;
  goto ret0;

  L2264: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 2;
	return 212;
      }
  L2265: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 213;
      }
  goto ret0;

  L2505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2506;
    }
  goto ret0;

  L2506: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2507;
    }
  goto ret0;

  L2507: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L2525;
  goto ret0;

  L2525: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 2;
	return 231;
      }
  L2526: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (! TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 232;
      }
  goto ret0;

  L5248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      return 557;
    }
  goto ret0;

  L257: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, QImode))
    {
      ro[1] = x3;
      goto L258;
    }
  goto ret0;

  L258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 35;
    }
  goto ret0;

  L287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, QImode))
    {
      ro[1] = x3;
      goto L288;
    }
  goto ret0;

  L288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC)
      {
	*pnum_clobbers = 1;
	return 39;
      }
  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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L183;
	case SIGN_EXTEND:
	  goto L213;
	case PLUS:
	  goto L5482;
	case NOT:
	  goto L1292;
	case MINUS:
	  goto L476;
	case IF_THEN_ELSE:
	  goto L593;
	case ABS:
	  goto L653;
	case NEG:
	  goto L677;
	case FFS:
	  goto L735;
	case MULT:
	  goto L747;
	case UDIV:
	  goto L859;
	case DIV:
	  goto L879;
	case AND:
	  goto L1358;
	case IOR:
	  goto L1424;
	case XOR:
	  goto L1229;
	case ZERO_EXTRACT:
	  goto L1815;
	case ROTATE:
	  goto L1895;
	case ASHIFT:
	  goto L2073;
	case LSHIFTRT:
	  goto L5562;
	case ASHIFTRT:
	  goto L2480;
	case TRUNCATE:
	  goto L3102;
	case HIGH:
	  goto L4103;
	case LO_SUM:
	  goto L4107;
	case EQ:
	case NE:
	case LE:
	case LT:
	case GE:
	case GT:
	case LEU:
	case LTU:
	case GEU:
	case GTU:
	  if (scc_comparison_operator (x1, SImode))
	    {
	      ro[1] = x1;
	      goto L5329;
	    }
	}
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case UNSPEC:
      if (XINT (x1, 1) == 16 && XVECLEN (x1, 0) == 2 && 1)
	goto L2991;
      if (XINT (x1, 1) == 8 && XVECLEN (x1, 0) == 2 && 1)
	goto L4112;
    }
  L5387: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x1) != SImode)
    goto ret0;
  switch (GET_CODE (x1))
    {
    default:
      break;
    case EQ:
      goto L5388;
    case LE:
      goto L5774;
    case LEU:
      goto L5887;
    case LT:
      goto L6098;
    case LTU:
      goto L6196;
    case GE:
      goto L6302;
    case GEU:
      goto L6595;
    case GT:
      goto L6793;
    case GTU:
      goto L7087;
    }
  goto ret0;

  L183: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (reg_or_mem_operand (x2, QImode))
	{
	  ro[1] = x2;
	  return 24;
	}
      break;
    case HImode:
      if (reg_or_mem_operand (x2, HImode))
	{
	  ro[1] = x2;
	  return 44;
	}
    }
  L1975: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) != SUBREG)
    goto ret0;
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (XINT (x2, 1) == 0 && 1)
	goto L1976;
      break;
    case HImode:
    L2020: ATTRIBUTE_UNUSED_LABEL
      if (XINT (x2, 1) == 0 && 1)
	goto L2021;
    }
  goto ret0;

  L1976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case ROTATE:
      goto L1977;
    case LSHIFTRT:
      goto L2359;
    }
  goto ret0;

  L1977: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1978;
    }
  goto ret0;

  L1978: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      return 193;
    }
  goto ret0;

  L2359: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2360;
    }
  goto ret0;

  L2360: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[2] = x4;
      if (includes_rshift_p (operands[2], GEN_INT (255)))
	return 219;
      }
  goto ret0;

  L2021: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case ROTATE:
      goto L2022;
    case LSHIFTRT:
      goto L2404;
    }
  goto ret0;

  L2022: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2023;
    }
  goto ret0;

  L2023: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      return 196;
    }
  goto ret0;

  L2404: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2405;
    }
  goto ret0;

  L2405: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[2] = x4;
      if (includes_rshift_p (operands[2], GEN_INT (65535)))
	return 222;
      }
  goto ret0;

  L213: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC)
	    return 28;
	  }
      break;
    case HImode:
      if (reg_or_mem_operand (x2, HImode))
	{
	  ro[1] = x2;
	  return 48;
	}
    }
  goto ret0;

  L5482: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case EQ:
      goto L5483;
    case LSHIFTRT:
      goto L5599;
    case LE:
      goto L5818;
    case LEU:
      goto L5947;
    case LT:
      goto L6127;
    case LTU:
      goto L6225;
    case GE:
      goto L6346;
    case GEU:
      goto L6642;
    case GT:
      goto L6858;
    case GTU:
      goto L7134;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[1] = x2;
	  goto L364;
	}
    }
  goto ret0;

  L5483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5484;
    }
  goto ret0;

  L5484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5485;
    }
  goto ret0;

  L5485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 579;
	}
      }
  goto ret0;

  L5599: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L5600;
  goto ret0;

  L5600: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == ABS && 1)
    goto L5601;
  goto ret0;

  L5601: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5602;
    }
  goto ret0;

  L5602: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 31 && 1)
    goto L5603;
  goto ret0;

  L5603: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 585;
	}
      }
  goto ret0;

  L5818: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5819;
    }
  goto ret0;

  L5819: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5820;
    }
  goto ret0;

  L5820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 593;
	}
      }
  goto ret0;

  L5947: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5948;
    }
  goto ret0;

  L5948: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5949;
    }
  goto ret0;

  L5949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 602;
	}
      }
  goto ret0;

  L6127: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6128;
    }
  goto ret0;

  L6128: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6129;
    }
  goto ret0;

  L6129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 611;
	}
      }
  goto ret0;

  L6225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6226;
    }
  goto ret0;

  L6226: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_neg_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6227;
    }
  goto ret0;

  L6227: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_short_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 617;
	}
      }
  goto ret0;

  L6346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6347;
    }
  goto ret0;

  L6347: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6348;
    }
  goto ret0;

  L6348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 623;
	}
      }
  goto ret0;

  L6642: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6643;
    }
  goto ret0;

  L6643: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_neg_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6644;
    }
  goto ret0;

  L6644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 637;
	}
      }
  goto ret0;

  L6858: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6859;
    }
  goto ret0;

  L6859: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6860;
  L7007: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L7008;
    }
  goto ret0;

  L6860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 650;
	}
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L7007;

  L7008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 656;
	}
      }
  goto ret0;

  L7134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L7135;
    }
  goto ret0;

  L7135: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L7136;
    }
  goto ret0;

  L7136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_short_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 666;
	}
      }
  goto ret0;

  L364: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, SImode))
    {
      ro[2] = x2;
      return 52;
    }
  goto ret0;

  L1292: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == XOR && 1)
    goto L1293;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      return 58;
    }
  goto ret0;

  L1293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1294;
    }
  goto ret0;

  L1294: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      return 140;
    }
  goto ret0;

  L476: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L477;
    }
  goto ret0;

  L477: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    goto L483;
  goto ret0;

  L483: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWERPC)
    return 63;
  L484: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC)
    return 64;
  goto ret0;

  L593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == GT && 1)
    goto L594;
  goto ret0;

  L594: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L595;
    }
  goto ret0;

  L595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L596;
    }
  goto ret0;

  L596: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L597;
  goto ret0;

  L597: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MINUS && 1)
    goto L598;
  goto ret0;

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

  L599: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWER)
      return 78;
  goto ret0;

  L653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    goto L665;
  goto ret0;

  L665: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_POWER)
    return 82;
  L666: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x2;
      if (! TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 83;
	}
      }
  goto ret0;

  L677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ABS:
      goto L678;
    case EQ:
      goto L5547;
    case LE:
      goto L5882;
    case LEU:
      goto L6011;
    case LT:
      goto L6191;
    case LTU:
      goto L6289;
    case GE:
      goto L6410;
    case GEU:
      goto L6706;
    case GT:
      goto L7070;
    case GTU:
      goto L7272;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[1] = x2;
	  return 88;
	}
    }
  goto ret0;

  L678: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    goto L692;
  goto ret0;

  L692: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x3;
  if (TARGET_POWER)
    return 85;
  L693: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x3;
      if (! TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 86;
	}
      }
  goto ret0;

  L5547: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5548;
    }
  goto ret0;

  L5548: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      if (! TARGET_POWERPC64)
	return 582;
      }
  goto ret0;

  L5882: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5883;
    }
  goto ret0;

  L5883: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWER)
	return 596;
      }
  goto ret0;

  L6011: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6012;
    }
  goto ret0;

  L6012: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (! TARGET_POWERPC64)
	return 605;
      }
  goto ret0;

  L6191: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6192;
    }
  goto ret0;

  L6192: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWER)
	return 614;
      }
  goto ret0;

  L6289: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6290;
    }
  goto ret0;

  L6290: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_neg_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (! TARGET_POWERPC64)
	return 620;
      }
  goto ret0;

  L6410: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6411;
    }
  goto ret0;

  L6411: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWER)
	return 626;
      }
  goto ret0;

  L6706: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6707;
    }
  goto ret0;

  L6707: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (! TARGET_POWERPC64)
	return 640;
      }
  goto ret0;

  L7070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L7071;
    }
  goto ret0;

  L7071: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (! TARGET_POWERPC64)
      return 659;
  L7083: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWER)
	return 661;
      }
  goto ret0;

  L7272: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L7273;
    }
  goto ret0;

  L7273: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      if (! TARGET_POWERPC64)
	return 672;
      }
  goto ret0;

  L735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      return 91;
    }
  goto ret0;

  L747: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L748;
    }
  goto ret0;

  L748: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    goto L754;
  goto ret0;

  L754: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 93;
	}
      }
  L755: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWER)
    return 94;
  goto ret0;

  L859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L860;
    }
  goto ret0;

  L860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    goto L866;
  goto ret0;

  L866: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 102;
	}
      }
  L867: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && ! TARGET_POWER)
    return 103;
  goto ret0;

  L879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L880;
    }
  goto ret0;

  L880: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    goto L886;
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (exact_log2 (INTVAL (operands[2])) >= 0)
	return 108;
      }
  goto ret0;

  L886: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 105;
	}
      }
  L887: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && ! TARGET_POWER)
    return 106;
  goto ret0;

  L1358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case NOT:
      goto L1359;
    case ROTATE:
      goto L1931;
    case ASHIFT:
      goto L2167;
    case LSHIFTRT:
      goto L2313;
    case NEG:
      goto L6028;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[1] = x2;
	  goto L1088;
	}
    }
  goto ret0;

  L1359: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1566;
    }
  goto ret0;

  L1566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == NOT && 1)
    goto L1567;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      return 145;
    }
  goto ret0;

  L1567: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      return 160;
    }
  goto ret0;

  L1931: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1932;
    }
  goto ret0;

  L1932: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1933;
    }
  goto ret0;

  L1933: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && mask_operand (x2, SImode))
    {
      ro[3] = x2;
      return 190;
    }
  goto ret0;

  L2167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2168;
    }
  goto ret0;

  L2168: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L2169;
    }
  goto ret0;

  L2169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && mask_operand (x2, SImode))
    {
      ro[3] = x2;
      if (includes_lshift_p (operands[2], operands[3]))
	return 206;
      }
  goto ret0;

  L2313: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2314;
    }
  goto ret0;

  L2314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L2315;
    }
  goto ret0;

  L2315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && mask_operand (x2, SImode))
    {
      ro[3] = x2;
      if (includes_rshift_p (operands[2], operands[3]))
	return 216;
      }
  goto ret0;

  L6028: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LEU:
      goto L6029;
    case LSHIFTRT:
      goto L6429;
    case GEU:
      goto L6724;
    }
  goto ret0;

  L6029: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6030;
    }
  goto ret0;

  L6030: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6031;
    }
  goto ret0;

  L6031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 606;
	}
      }
  goto ret0;

  L6429: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L6430;
  goto ret0;

  L6430: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6431;
    }
  goto ret0;

  L6431: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 31 && 1)
    goto L6432;
  goto ret0;

  L6432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      *pnum_clobbers = 1;
      return 627;
    }
  goto ret0;

  L6724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6725;
    }
  goto ret0;

  L6725: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6726;
    }
  goto ret0;

  L6726: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 641;
	}
      }
  goto ret0;

  L1088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && and_operand (x2, SImode))
    {
      ro[2] = x2;
      *pnum_clobbers = 1;
      return 121;
    }
  goto ret0;

  L1424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case NOT:
      goto L1425;
    case AND:
      goto L1639;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[1] = x2;
	  goto L1167;
	}
    }
  goto ret0;

  L1425: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1492;
    }
  goto ret0;

  L1492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == NOT && 1)
    goto L1493;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      return 150;
    }
  goto ret0;

  L1493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      return 155;
    }
  goto ret0;

  L1639: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  if (GET_CODE (x3) == NOT && 1)
    goto L1640;
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1660;
    }
  L1669: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L1670;
    }
  goto ret0;

  L1640: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1641;
    }
  goto ret0;

  L1641: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1642;
    }
  goto ret0;

  L1642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1643;
  goto ret0;

  L1643: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L1644;
  L1653: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L1654;
    }
  goto ret0;

  L1644: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      if (TARGET_POWER)
	return 165;
      }
  x3 = XEXP (x2, 0);
  goto L1653;

  L1654: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWER)
      return 166;
  goto ret0;

  L1660: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L1661;
    }
  x3 = XEXP (x2, 0);
  goto L1669;

  L1661: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1662;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1669;

  L1662: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1663;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1669;

  L1663: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L1664;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1669;

  L1664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      if (TARGET_POWER)
	return 167;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1669;

  L1670: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1671;
    }
  goto ret0;

  L1671: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1672;
  goto ret0;

  L1672: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1673;
  goto ret0;

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

  L1674: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      if (TARGET_POWER)
	return 168;
      }
  goto ret0;

  L1167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (logical_operand (x2, SImode))
    {
      ro[2] = x2;
      return 127;
    }
  goto ret0;

  L1229: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L1230;
    }
  goto ret0;

  L1230: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (logical_operand (x2, SImode))
    {
      ro[2] = x2;
      return 134;
    }
  goto ret0;

  L1815: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L1816;
    }
  goto ret0;

  L1816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L1817;
    }
  goto ret0;

  L1817: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      return 181;
    }
  goto ret0;

  L1895: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L1896;
    }
  goto ret0;

  L1896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      return 187;
    }
  goto ret0;

  L2073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L2074;
    }
  if (scc_comparison_operator (x2, SImode))
    {
      ro[1] = x2;
      goto L5348;
    }
  goto ret0;

  L2074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    goto L2080;
  goto ret0;

  L2080: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 200;
	}
      }
  L2081: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWER)
    return 201;
  goto ret0;

  L5348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (cc_reg_operand (x3, VOIDmode))
    {
      ro[2] = x3;
      goto L5349;
    }
  goto ret0;

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

  L5350: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      return 570;
    }
  goto ret0;

  L5562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == NEG && 1)
    goto L5563;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L2220;
    }
  goto ret0;

  L5563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == ABS && 1)
    goto L5564;
  goto ret0;

  L5564: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5565;
    }
  goto ret0;

  L5565: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 31 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 583;
      }
  goto ret0;

  L2220: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    goto L2226;
  goto ret0;

  L2226: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 210;
	}
      }
  L2227: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWER)
    return 211;
  goto ret0;

  L2480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L2481;
    }
  goto ret0;

  L2481: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    goto L2487;
  goto ret0;

  L2487: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 229;
	}
      }
  L2488: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWER)
    return 230;
  goto ret0;

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

  L3103: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MULT && 1)
    goto L3104;
  goto ret0;

  L3104: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3105;
    case ZERO_EXTEND:
      goto L3140;
    }
  goto ret0;

  L3105: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L3106;
    }
  goto ret0;

  L3106: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == SIGN_EXTEND && 1)
    goto L3107;
  goto ret0;

  L3107: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L3108;
    }
  goto ret0;

  L3108: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 32 && 1)
    goto L3119;
  goto ret0;

  L3119: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 323;
      }
  L3120: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_POWERPC && ! TARGET_POWER)
    return 324;
  goto ret0;

  L3140: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L3141;
    }
  goto ret0;

  L3141: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L3142;
  goto ret0;

  L3142: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L3143;
    }
  goto ret0;

  L3143: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 32 && 1)
    goto L3154;
  goto ret0;

  L3154: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC && TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 326;
      }
  L3155: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_POWERPC && ! TARGET_POWER)
    return 327;
  goto ret0;

  L4103: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  ro[1] = x2;
  if (TARGET_ELF && ! TARGET_64BIT)
    return 417;
  goto ret0;

  L4107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L4108;
    }
  goto ret0;

  L4108: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[2] = x2;
  if (TARGET_ELF && ! TARGET_64BIT)
    return 418;
  goto ret0;

  L5329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (cc_reg_operand (x2, VOIDmode))
    {
      ro[2] = x2;
      goto L5330;
    }
  goto L5387;

  L5330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    return 568;
  goto L5387;

  L2991: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    goto L2992;
  goto ret0;

  L2992: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[1] = x2;
      if ((TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT)
	return 304;
      }
  goto ret0;

  L4112: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (got_no_const_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L4113;
    }
  goto ret0;

  L4113: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && flag_pic == 1)
	return 420;
      }
  goto ret0;

  L5388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L5389;
    }
  goto ret0;

  L5389: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 574;
	}
      }
  goto ret0;

  L5774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L5775;
    }
  goto ret0;

  L5775: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 591;
	}
      }
  goto ret0;

  L5887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L5888;
    }
  goto ret0;

  L5888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 597;
      }
  goto ret0;

  L6098: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L6099;
    }
  goto ret0;

  L6099: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWER)
	return 609;
      }
  goto ret0;

  L6196: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L6197;
    }
  goto ret0;

  L6197: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_neg_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 615;
      }
  goto ret0;

  L6302: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L6303;
    }
  goto ret0;

  L6303: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 621;
	}
      }
  goto ret0;

  L6595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L6596;
    }
  goto ret0;

  L6596: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_neg_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 633;
      }
  goto ret0;

  L6793: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L6794;
    }
  goto ret0;

  L6794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    if (! TARGET_POWERPC64)
      return 644;
  L6830: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWER)
	return 648;
      }
  goto ret0;

  L7087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L7088;
    }
  goto ret0;

  L7088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 662;
      }
  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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != DImode)
    goto ret0;
  switch (GET_CODE (x1))
    {
    default:
      break;
    case MULT:
      goto L3033;
    case ASHIFT:
      goto L3167;
    case LSHIFTRT:
      goto L3180;
    case ASHIFTRT:
      goto L3193;
    case PLUS:
      goto L3198;
    case NOT:
      goto L3893;
    case MINUS:
      goto L3268;
    case ABS:
      goto L3310;
    case NEG:
      goto L3329;
    case FFS:
      goto L3372;
    case TRUNCATE:
      goto L3381;
    case DIV:
      goto L3401;
    case UDIV:
      goto L3441;
    case ROTATE:
      goto L3446;
    case AND:
      goto L3481;
    case ZERO_EXTEND:
      goto L3526;
    case IOR:
      goto L3973;
    case XOR:
      goto L3853;
    }
  goto ret0;

  L3033: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3034;
    case ZERO_EXTEND:
      goto L3067;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[1] = x2;
	  goto L3377;
	}
    }
  goto ret0;

  L3034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L3035;
    }
  goto ret0;

  L3035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L3036;
  goto ret0;

  L3036: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    goto L3044;
  goto ret0;

  L3044: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x3;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 315;
	}
      }
  L3045: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x3;
  if (TARGET_POWERPC && ! TARGET_POWER && ! TARGET_POWERPC64)
    return 316;
  goto ret0;

  L3067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L3068;
    }
  goto ret0;

  L3068: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L3069;
  goto ret0;

  L3069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    goto L3077;
  goto ret0;

  L3077: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x3;
      if (TARGET_POWERPC && TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 319;
	}
      }
  L3078: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x3;
  if (TARGET_POWERPC && ! TARGET_POWER && ! TARGET_POWERPC64)
    return 320;
  goto ret0;

  L3377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 352;
      }
  goto ret0;

  L3167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3168;
    }
  goto ret0;

  L3168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    goto L3663;
  goto ret0;

  L3663: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 328;
	}
      }
  L3664: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC64)
    return 378;
  goto ret0;

  L3180: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3181;
    }
  goto ret0;

  L3181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, SImode))
    goto L3700;
  goto ret0;

  L3700: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 329;
	}
      }
  L3701: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC64)
    return 382;
  goto ret0;

  L3193: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3194;
    }
  goto ret0;

  L3194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_POWER)
	{
	  *pnum_clobbers = 1;
	  return 330;
	}
      }
  L3736: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 386;
      }
  goto ret0;

  L3198: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3199;
    }
  goto ret0;

  L3199: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 332;
      }
  goto ret0;

  L3893: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == XOR && 1)
    goto L3894;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64)
	return 336;
      }
  goto ret0;

  L3894: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3895;
    }
  goto ret0;

  L3895: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC64)
	return 402;
      }
  goto ret0;

  L3268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3269;
    }
  goto ret0;

  L3269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 339;
      }
  goto ret0;

  L3310: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 343;
	}
      }
  goto ret0;

  L3329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == ABS && 1)
    goto L3330;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64)
	return 348;
      }
  goto ret0;

  L3330: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 345;
	}
      }
  goto ret0;

  L3372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64)
	return 351;
      }
  goto ret0;

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

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

  L3383: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != TImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3384;
    case ZERO_EXTEND:
      goto L3394;
    }
  goto ret0;

  L3384: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3385;
    }
  goto ret0;

  L3385: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == TImode && GET_CODE (x4) == SIGN_EXTEND && 1)
    goto L3386;
  goto ret0;

  L3386: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3387;
    }
  goto ret0;

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

  L3394: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3395;
    }
  goto ret0;

  L3395: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == TImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L3396;
  goto ret0;

  L3396: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3397;
    }
  goto ret0;

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

  L3401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3437;
    }
  goto ret0;

  L3437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 360;
      }
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (TARGET_POWERPC64 && exact_log2 (INTVAL (operands[2])) >= 0)
	return 357;
      }
  goto ret0;

  L3441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3442;
    }
  goto ret0;

  L3442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 361;
      }
  goto ret0;

  L3446: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3447;
    }
  goto ret0;

  L3447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_cint_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 362;
      }
  goto ret0;

  L3481: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ROTATE:
      goto L3482;
    case NOT:
      goto L3934;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[1] = x2;
	  goto L3779;
	}
    }
  goto ret0;

  L3482: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3483;
    }
  goto ret0;

  L3483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3484;
    }
  goto ret0;

  L3484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (mask64_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 365;
      }
  goto ret0;

  L3934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L4060;
    }
  goto ret0;

  L4060: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == NOT && 1)
    goto L4061;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 405;
      }
  goto ret0;

  L4061: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC64)
	return 414;
      }
  goto ret0;

  L3779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && and64_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 389;
	}
      }
  goto ret0;

  L3526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != SUBREG)
    goto ret0;
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (XINT (x2, 1) == 0 && 1)
	goto L3527;
      break;
    case HImode:
      if (XINT (x2, 1) == 0 && 1)
	goto L3572;
      break;
    case SImode:
      if (XINT (x2, 1) == 0 && 1)
	goto L3617;
    }
  goto ret0;

  L3527: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ROTATE && 1)
    goto L3528;
  goto ret0;

  L3528: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3529;
    }
  goto ret0;

  L3529: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      if (TARGET_POWERPC64)
	return 368;
      }
  goto ret0;

  L3572: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ROTATE && 1)
    goto L3573;
  goto ret0;

  L3573: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3574;
    }
  goto ret0;

  L3574: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      if (TARGET_POWERPC64)
	return 371;
      }
  goto ret0;

  L3617: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ROTATE && 1)
    goto L3618;
  goto ret0;

  L3618: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3619;
    }
  goto ret0;

  L3619: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      if (TARGET_POWERPC64)
	return 374;
      }
  goto ret0;

  L3973: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == NOT && 1)
    goto L3974;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3814;
    }
  goto ret0;

  L3974: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L4015;
    }
  goto ret0;

  L4015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == NOT && 1)
    goto L4016;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 408;
      }
  goto ret0;

  L4016: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC64)
	return 411;
      }
  goto ret0;

  L3814: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (logical_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 393;
      }
  goto ret0;

  L3853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3854;
    }
  goto ret0;

  L3854: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (logical_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 398;
      }
  goto ret0;
 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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DFmode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case FLOAT_EXTEND:
	  goto L2573;
	case NEG:
	  goto L2764;
	case ABS:
	  goto L2760;
	case PLUS:
	  goto L2789;
	case MINUS:
	  goto L2796;
	case MULT:
	  goto L2779;
	case DIV:
	  goto L2784;
	case SQRT:
	  goto L2819;
	case IF_THEN_ELSE:
	  goto L2839;
	case FLOAT:
	  goto L3001;
	}
    }
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 14 && XVECLEN (x1, 0) == 2 && 1)
    goto L2950;
  goto ret0;

  L2573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 235;
      }
  goto ret0;

  L2764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ABS:
      goto L2765;
    case PLUS:
      goto L2804;
    case MINUS:
      goto L2812;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[1] = x2;
	  if (TARGET_HARD_FLOAT)
	    return 271;
	  }
    }
  goto ret0;

  L2765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      if (TARGET_HARD_FLOAT)
	return 273;
      }
  goto ret0;

  L2804: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode && GET_CODE (x3) == MULT && 1)
    goto L2805;
  goto ret0;

  L2805: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L2806;
    }
  goto ret0;

  L2806: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DFmode))
    {
      ro[2] = x4;
      goto L2807;
    }
  goto ret0;

  L2807: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[3] = x3;
      if (TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
	return 280;
      }
  goto ret0;

  L2812: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode && GET_CODE (x3) == MULT && 1)
    goto L2813;
  goto ret0;

  L2813: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L2814;
    }
  goto ret0;

  L2814: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DFmode))
    {
      ro[2] = x4;
      goto L2815;
    }
  goto ret0;

  L2815: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[3] = x3;
      if (TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
	return 281;
      }
  goto ret0;

  L2760: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 272;
      }
  goto ret0;

  L2789: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == MULT && 1)
    goto L2790;
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L2770;
    }
  goto ret0;

  L2790: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2791;
    }
  goto ret0;

  L2791: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L2792;
    }
  goto ret0;

  L2792: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
	return 278;
      }
  goto ret0;

  L2770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 274;
      }
  goto ret0;

  L2796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == MULT && 1)
    goto L2797;
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L2775;
    }
  goto ret0;

  L2797: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2798;
    }
  goto ret0;

  L2798: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L2799;
    }
  goto ret0;

  L2799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
	return 279;
      }
  goto ret0;

  L2775: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 275;
      }
  goto ret0;

  L2779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L2780;
    }
  goto ret0;

  L2780: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 276;
      }
  goto ret0;

  L2784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L2785;
    }
  goto ret0;

  L2785: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 277;
      }
  goto ret0;

  L2819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      if ((TARGET_PPC_GPOPT || TARGET_POWER2) && TARGET_HARD_FLOAT)
	return 282;
      }
  goto ret0;

  L2839: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == GE && 1)
    goto L2840;
  goto ret0;

  L2840: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case DFmode:
      if (gpc_reg_operand (x3, DFmode))
	{
	  ro[1] = x3;
	  goto L2841;
	}
      break;
    case SFmode:
      if (gpc_reg_operand (x3, SFmode))
	{
	  ro[1] = x3;
	  goto L2849;
	}
    }
  goto ret0;

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

  L2842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      goto L2843;
    }
  goto ret0;

  L2843: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return 288;
      }
  goto ret0;

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

  L2850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      goto L2851;
    }
  goto ret0;

  L2851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT)
	return 289;
      }
  goto ret0;

  L3001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64 && TARGET_HARD_FLOAT)
	return 309;
      }
  goto ret0;

  L2950: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    goto L2951;
  goto ret0;

  L2951: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 299;
      }
  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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SFmode)
    goto ret0;
  switch (GET_CODE (x1))
    {
    default:
      break;
    case FLOAT_TRUNCATE:
      goto L2577;
    case UNSPEC:
      if (XINT (x1, 1) == 0 && XVECLEN (x1, 0) == 1 && 1)
	goto L2581;
      break;
    case NEG:
      goto L2593;
    case ABS:
      goto L2589;
    case PLUS:
      goto L2646;
    case MINUS:
      goto L2662;
    case MULT:
      goto L2622;
    case DIV:
      goto L2634;
    case SQRT:
      goto L2714;
    case IF_THEN_ELSE:
      goto L2740;
    }
  goto ret0;

  L2577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 236;
      }
  goto ret0;

  L2581: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (! TARGET_POWERPC && TARGET_HARD_FLOAT)
	return 237;
      }
  goto ret0;

  L2593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SFmode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ABS:
      goto L2594;
    case PLUS:
      goto L2679;
    case MINUS:
      goto L2697;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x2, SFmode))
	{
	  ro[1] = x2;
	  if (TARGET_HARD_FLOAT)
	    return 238;
	  }
    }
  goto ret0;

  L2594: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[1] = x3;
      if (TARGET_HARD_FLOAT)
	return 240;
      }
  goto ret0;

  L2679: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode && GET_CODE (x3) == MULT && 1)
    goto L2680;
  goto ret0;

  L2680: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SFmode))
    {
      ro[1] = x4;
      goto L2681;
    }
  goto ret0;

  L2681: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SFmode))
    {
      ro[2] = x4;
      goto L2682;
    }
  goto ret0;

  L2682: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    goto L2691;
  goto ret0;

  L2691: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 257;
  L2692: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 258;
  goto ret0;

  L2697: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode && GET_CODE (x3) == MULT && 1)
    goto L2698;
  goto ret0;

  L2698: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SFmode))
    {
      ro[1] = x4;
      goto L2699;
    }
  goto ret0;

  L2699: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SFmode))
    {
      ro[2] = x4;
      goto L2700;
    }
  goto ret0;

  L2700: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    goto L2709;
  goto ret0;

  L2709: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 259;
  L2710: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 260;
  goto ret0;

  L2589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 239;
      }
  goto ret0;

  L2646: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SFmode)
    goto ret0;
  if (GET_CODE (x2) == MULT && 1)
    goto L2647;
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L2599;
    }
  goto ret0;

  L2647: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L2648;
    }
  goto ret0;

  L2648: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[2] = x3;
      goto L2649;
    }
  goto ret0;

  L2649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2657;
  goto ret0;

  L2657: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 253;
  L2658: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 254;
  goto ret0;

  L2599: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2605;
  goto ret0;

  L2605: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 242;
  L2606: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 243;
  goto ret0;

  L2662: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SFmode)
    goto ret0;
  if (GET_CODE (x2) == MULT && 1)
    goto L2663;
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L2611;
    }
  goto ret0;

  L2663: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L2664;
    }
  goto ret0;

  L2664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[2] = x3;
      goto L2665;
    }
  goto ret0;

  L2665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2673;
  goto ret0;

  L2673: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 255;
  L2674: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FUSED_MADD)
    return 256;
  goto ret0;

  L2611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2617;
  goto ret0;

  L2617: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 245;
  L2618: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 246;
  goto ret0;

  L2622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L2623;
    }
  goto ret0;

  L2623: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2629;
  goto ret0;

  L2629: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 248;
  L2630: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 249;
  goto ret0;

  L2634: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L2635;
    }
  goto ret0;

  L2635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    goto L2641;
  goto ret0;

  L2641: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 251;
  L2642: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (! TARGET_POWERPC && TARGET_HARD_FLOAT)
    return 252;
  goto ret0;

  L2714: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    goto L2719;
  goto ret0;

  L2719: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_PPC_GPOPT && TARGET_HARD_FLOAT)
    return 262;
  L2720: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_POWER2 && TARGET_HARD_FLOAT)
    return 263;
  goto ret0;

  L2740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == GE && 1)
    goto L2741;
  goto ret0;

  L2741: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SFmode:
      if (gpc_reg_operand (x3, SFmode))
	{
	  ro[1] = x3;
	  goto L2742;
	}
      break;
    case DFmode:
      if (gpc_reg_operand (x3, DFmode))
	{
	  ro[1] = x3;
	  goto L2750;
	}
    }
  goto ret0;

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

  L2743: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[2] = x2;
      goto L2744;
    }
  goto ret0;

  L2744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return 269;
      }
  goto ret0;

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

  L2751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[2] = x2;
      goto L2752;
    }
  goto ret0;

  L2752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return 270;
      }
  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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      if (gpc_reg_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L2;
	}
      break;
    case CCmode:
      if (cc_reg_operand (x1, CCmode))
	{
	  ro[0] = x1;
	  goto L15;
	}
    L1870: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x1, CCmode))
	{
	  ro[0] = x1;
	  goto L1871;
	}
    L4141: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, CCmode))
	{
	  ro[0] = x1;
	  goto L4142;
	}
      break;
    case SImode:
      if (GET_CODE (x1) == REG && XINT (x1, 0) == 3 && 1)
	goto L961;
    L181: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L182;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x1, HImode))
	{
	  ro[0] = x1;
	  goto L242;
	}
    L4135: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, HImode))
	{
	  ro[0] = x1;
	  goto L4136;
	}
    }
  L982: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case REG:
	  if (XINT (x1, 0) == 3 && 1)
	    goto L983;
	  if (XINT (x1, 0) == 76 && 1)
	    goto L2985;
	  break;
	case ZERO_EXTRACT:
	  goto L1808;
	}
    L3031: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L3032;
	}
    L4180: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L4181;
	}
    L4194: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L5400;
	}
      break;
    case SImode:
    L1053: ATTRIBUTE_UNUSED_LABEL
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case REG:
	  if (XINT (x1, 0) == 3 && 1)
	    goto L1054;
	  if (XINT (x1, 0) == 1 && 1)
	    goto L4826;
	  break;
	case ZERO_EXTRACT:
	  goto L1769;
	case SUBREG:
	  if (XINT (x1, 1) == 0 && 1)
	    goto L2995;
	}
    L4120: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L4121;
	}
    L5241: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L5242;
	}
      break;
    case DFmode:
      if (GET_CODE (x1) == REG && XINT (x1, 0) == 76 && 1)
	goto L2938;
    L2571: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x1, DFmode))
	{
	  ro[0] = x1;
	  goto L2572;
	}
    L4164: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, DFmode))
	{
	  ro[0] = x1;
	  goto L4165;
	}
      break;
    case SFmode:
      if (gpc_reg_operand (x1, SFmode))
	{
	  ro[0] = x1;
	  goto L2576;
	}
    L4147: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, SFmode))
	{
	  ro[0] = x1;
	  goto L4148;
	}
      break;
    case QImode:
      if (nonimmediate_operand (x1, QImode))
	{
	  ro[0] = x1;
	  goto L4139;
	}
      break;
    case TImode:
      if (reg_or_mem_operand (x1, TImode))
	{
	  ro[0] = x1;
	  goto L4233;
	}
    L4248: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, TImode))
	{
	  ro[0] = x1;
	  goto L4249;
	}
      break;
    case CCUNSmode:
      if (cc_reg_operand (x1, CCUNSmode))
	{
	  ro[0] = x1;
	  goto L5264;
	}
      break;
    case CCFPmode:
      if (cc_reg_operand (x1, CCFPmode))
	{
	  ro[0] = x1;
	  goto L5318;
	}
      break;
    case CCEQmode:
      if (cc_reg_operand (x1, CCEQmode))
	{
	  ro[0] = x1;
	  goto L5370;
	}
    }
  if (GET_CODE (x1) == PC && 1)
    goto L7321;
  L2933: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x1, VOIDmode))
    {
      ro[0] = x1;
      goto L2934;
    }
  goto ret0;

  L2: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != DImode)
    {
      x1 = XEXP (x0, 0);
      goto L982;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ZERO_EXTEND:
      goto L3;
    case SIGN_EXTEND:
      goto L33;
    case ZERO_EXTRACT:
      goto L1855;
    case FIX:
      goto L3005;
    case PLUS:
      goto L3009;
    case MINUS:
      goto L3014;
    case NEG:
      goto L3019;
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L3: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (reg_or_mem_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 1;
	  }
      break;
    case HImode:
      if (reg_or_mem_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 8;
	  }
      break;
    case SImode:
      if (reg_or_mem_operand (x2, SImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 16;
	  }
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L33: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 4;
	  }
      break;
    case HImode:
      if (reg_or_mem_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 12;
	  }
      break;
    case SImode:
      if (lwa_operand (x2, SImode))
	{
	  ro[1] = x2;
	  if (TARGET_POWERPC64)
	    return 20;
	  }
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L1855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L1856;
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L1856: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L1857;
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L1857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 184;
      }
  x1 = XEXP (x0, 0);
  goto L982;

  L3005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC64 && TARGET_HARD_FLOAT)
	return 310;
      }
  x1 = XEXP (x0, 0);
  goto L982;

  L3009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3010;
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L3010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 311;
      }
  x1 = XEXP (x0, 0);
  goto L982;

  L3014: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3015;
    }
  x1 = XEXP (x0, 0);
  goto L982;

  L3015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 312;
      }
  x1 = XEXP (x0, 0);
  goto L982;

  L3019: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      if (! TARGET_POWERPC64)
	return 313;
      }
  x1 = XEXP (x0, 0);
  goto L982;

  L15: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCmode && GET_CODE (x1) == COMPARE && 1)
    goto L16;
  x1 = XEXP (x0, 0);
  goto L1870;
 L16: ATTRIBUTE_UNUSED_LABEL
  tem = recog_2 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L1870;

  L1871: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCmode && GET_CODE (x1) == COMPARE && 1)
    goto L1872;
  x1 = XEXP (x0, 0);
  goto L4141;

  L1872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTRACT && 1)
    goto L1873;
  x1 = XEXP (x0, 0);
  goto L4141;

  L1873: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1874;
    }
  x1 = XEXP (x0, 0);
  goto L4141;

  L1874: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L1875;
    }
  x1 = XEXP (x0, 0);
  goto L4141;

  L1875: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[3] = x3;
      goto L1876;
    }
  x1 = XEXP (x0, 0);
  goto L4141;

  L1876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 185;
      }
  x1 = XEXP (x0, 0);
  goto L4141;

  L4142: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_operand (x1, CCmode))
    {
      ro[1] = x1;
      if (register_operand (operands[0], CCmode)
   || register_operand (operands[1], CCmode))
	return 431;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L961: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode && GET_CODE (x1) == TRUNCATE && 1)
    goto L962;
  x1 = XEXP (x0, 0);
  goto L181;

  L962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L963;
  x1 = XEXP (x0, 0);
  goto L181;

  L963: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MULT && 1)
    goto L964;
  x1 = XEXP (x0, 0);
  goto L181;

  L964: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == SIGN_EXTEND && 1)
    goto L965;
  x1 = XEXP (x0, 0);
  goto L181;

  L965: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == REG && XINT (x5, 0) == 3 && 1)
    goto L966;
  x1 = XEXP (x0, 0);
  goto L181;

  L966: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == SIGN_EXTEND && 1)
    goto L967;
  x1 = XEXP (x0, 0);
  goto L181;

  L967: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == REG && XINT (x5, 0) == 4 && 1)
    goto L968;
  x1 = XEXP (x0, 0);
  goto L181;

  L968: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 32 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 1;
	return 115;
      }
  x1 = XEXP (x0, 0);
  goto L181;
 L182: ATTRIBUTE_UNUSED_LABEL
  tem = recog_3 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L1053;

  L242: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != HImode)
    {
      x1 = XEXP (x0, 0);
      goto L4135;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ZERO_EXTEND:
      goto L243;
    case SIGN_EXTEND:
      goto L273;
    }
  x1 = XEXP (x0, 0);
  goto L4135;

  L243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_mem_operand (x2, QImode))
    {
      ro[1] = x2;
      return 34;
    }
  x1 = XEXP (x0, 0);
  goto L4135;

  L273: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, QImode))
    {
      ro[1] = x2;
      if (TARGET_POWERPC)
	return 38;
      }
  x1 = XEXP (x0, 0);
  goto L4135;

  L4136: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, HImode))
    {
      ro[1] = x1;
      if (gpc_reg_operand (operands[0], HImode)
   || gpc_reg_operand (operands[1], HImode))
	return 427;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L983: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode && GET_CODE (x1) == MULT && 1)
    goto L984;
  x1 = XEXP (x0, 0);
  goto L3031;

  L984: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L985;
  x1 = XEXP (x0, 0);
  goto L3031;

  L985: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L986;
  x1 = XEXP (x0, 0);
  goto L3031;

  L986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L987;
  x1 = XEXP (x0, 0);
  goto L3031;

  L987: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 2;
	return 116;
      }
  x1 = XEXP (x0, 0);
  goto L3031;

  L2985: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 15 && XVECLEN (x1, 0) == 2 && 1)
    goto L2986;
  x1 = XEXP (x0, 0);
  goto L3031;

  L2986: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L2987;
    }
  x1 = XEXP (x0, 0);
  goto L3031;

  L2987: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[1] = x2;
      if ((TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT)
	return 303;
      }
  x1 = XEXP (x0, 0);
  goto L3031;

  L1808: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L1809;
    }
  goto ret0;

  L1809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L1810;
    }
  goto ret0;

  L1810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L1811;
    }
  goto ret0;

  L1811: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (gpc_reg_operand (x1, DImode))
    {
      ro[3] = x1;
      if (TARGET_POWERPC64)
	return 179;
      }
  goto ret0;
 L3032: ATTRIBUTE_UNUSED_LABEL
  tem = recog_4 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L4180;

  L4181: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, DImode))
    goto L4191;
  x1 = XEXP (x0, 0);
  goto L4194;

  L4191: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], DImode)
       || gpc_reg_operand (operands[1], DImode)))
    return 445;
  L4192: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], DImode)
       || gpc_reg_operand (operands[1], DImode)))
    return 448;
  x1 = XEXP (x0, 0);
  goto L4194;

  L5400: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case EQ:
	  goto L5401;
	case LSHIFTRT:
	  goto L5579;
	case PLUS:
	  goto L5619;
	case LEU:
	  goto L5892;
	case AND:
	  goto L6448;
	case GEU:
	  goto L6600;
	case GT:
	  goto L6798;
	case NEG:
	  goto L7075;
	case GTU:
	  goto L7092;
	}
    }
  if (const_double_operand (x1, DImode))
    {
      ro[1] = x1;
      if (TARGET_POWERPC64 && GET_CODE (operands[1]) == CONST_DOUBLE
   && num_insns_constant (operands[1], DImode) == 1)
	return 449;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L5402;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_cint_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 575;
	}
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5579: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NEG && 1)
    goto L5580;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5580: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ABS && 1)
    goto L5581;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5581: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L5582;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5582: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 63 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 584;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5619: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    {
      x1 = XEXP (x0, 0);
      goto L2933;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5620;
    case GT:
      goto L6875;
    case GTU:
      goto L7151;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5620: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NEG && 1)
    goto L5621;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ABS && 1)
    goto L5622;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5622: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L5623;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 63 && 1)
    goto L5624;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 586;
	}
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6875: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L6876;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6876: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6877;
  x1 = XEXP (x0, 0);
  goto L2933;

  L6877: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 651;
	}
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7151: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L7152;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7152: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L7153;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7153: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && reg_or_short_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 667;
	}
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L5893;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5893: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 598;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NEG && 1)
    goto L6449;
  x1 = XEXP (x0, 0);
  goto L2933;

  L6449: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L6450;
  x1 = XEXP (x0, 0);
  goto L2933;

  L6450: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NOT && 1)
    goto L6451;
  x1 = XEXP (x0, 0);
  goto L2933;

  L6451: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L6452;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6452: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 63 && 1)
    goto L6453;
  x1 = XEXP (x0, 0);
  goto L2933;

  L6453: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	{
	  *pnum_clobbers = 1;
	  return 628;
	}
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L6601;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6601: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_neg_short_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 634;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L6799;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L6799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    if (TARGET_POWERPC64)
      return 645;
  x1 = XEXP (x0, 0);
  goto L2933;

  L7075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    {
      x1 = XEXP (x0, 0);
      goto L2933;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case GT:
      goto L7076;
    case GTU:
      goto L7278;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7076: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L7077;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7077: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (TARGET_POWERPC64)
      return 660;
  x1 = XEXP (x0, 0);
  goto L2933;

  L7278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L7279;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7279: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, DImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC64)
	return 673;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L7093;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L7093: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 663;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L1054: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SImode)
    {
      x1 = XEXP (x0, 0);
      goto L4120;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case DIV:
      goto L1055;
    case UDIV:
      goto L1074;
    }
  x1 = XEXP (x0, 0);
  goto L4120;

  L1055: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
    goto L1056;
  x1 = XEXP (x0, 0);
  goto L4120;

  L1056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 1;
	return 119;
      }
  x1 = XEXP (x0, 0);
  goto L4120;

  L1074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
    goto L1075;
  x1 = XEXP (x0, 0);
  goto L4120;

  L1075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 4;
	return 120;
      }
  x1 = XEXP (x0, 0);
  goto L4120;

  L4826: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 7 && XVECLEN (x1, 0) == 1 && 1)
    goto L4827;
  x1 = XEXP (x0, 0);
  goto L4120;

  L4827: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      ro[0] = x2;
      return 503;
    }
  x1 = XEXP (x0, 0);
  goto L4120;

  L1769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1770;
    }
  goto ret0;

  L1770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != CONST_INT)
    goto ret0;
  ro[1] = x2;
  goto L1771;
  L2447: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x2, 0) == 1 && 1)
    goto L2448;
  goto ret0;

  L1771: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L1778;
    }
  x2 = XEXP (x1, 1);
  goto L2447;

  L1778: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SImode)
    {
      x1 = XEXP (x0, 0);
      x2 = XEXP (x1, 1);
      goto L2447;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ASHIFT:
      goto L1779;
    case ASHIFTRT:
      goto L1787;
    case LSHIFTRT:
      goto L1795;
    case ZERO_EXTRACT:
      goto L1803;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x1, SImode))
	{
	  ro[3] = x1;
	  return 174;
	}
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1780;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1780: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[4] = x2;
      if ((32 - (INTVAL (operands[4]) & 31)) >= INTVAL (operands[1]))
	return 175;
      }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1787: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1788;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1788: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[4] = x2;
      if ((32 - (INTVAL (operands[4]) & 31)) >= INTVAL (operands[1]))
	return 176;
      }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1795: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1796;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[4] = x2;
      if ((32 - (INTVAL (operands[4]) & 31)) >= INTVAL (operands[1]))
	return 177;
      }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1804;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1804: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[4] = x2;
      goto L1805;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L1805: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[5] = x2;
      if (INTVAL (operands[4]) >= INTVAL (operands[1]))
	return 178;
      }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L2447;

  L2448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L2449;
    }
  goto ret0;

  L2449: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SImode)
    goto ret0;
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ASHIFTRT:
      goto L2450;
    case LSHIFTRT:
      goto L2458;
    case ZERO_EXTRACT:
      goto L2466;
    }
  goto ret0;

  L2450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2451;
    }
  goto ret0;

  L2451: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 31 && 1)
    if (TARGET_POWER)
      return 225;
  goto ret0;

  L2458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2459;
    }
  goto ret0;

  L2459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 31 && 1)
    if (TARGET_POWER)
      return 226;
  goto ret0;

  L2466: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2467;
    }
  goto ret0;

  L2467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 1 && 1)
    goto L2468;
  goto ret0;

  L2468: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    if (TARGET_POWER)
      return 227;
  goto ret0;

  L2995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L2996;
    }
  goto L4120;

  L2996: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode && GET_CODE (x1) == FIX && 1)
    goto L2997;
  x1 = XEXP (x0, 0);
  goto L4120;

  L2997: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[1] = x2;
      if ((TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT)
	return 308;
      }
  x1 = XEXP (x0, 0);
  goto L4120;

  L4121: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, SImode))
    {
      ro[1] = x1;
      if (gpc_reg_operand (operands[0], SImode)
   || gpc_reg_operand (operands[1], SImode))
	return 423;
      }
  x1 = XEXP (x0, 0);
  goto L5241;

  L5242: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 7 && XVECLEN (x1, 0) == 1 && 1)
    goto L5243;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5243: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
      return 532;
  x1 = XEXP (x0, 0);
  goto L2933;

  L2938: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) != UNSPEC)
    {
      x1 = XEXP (x0, 0);
    goto L2571;
    }
  if (XINT (x1, 1) == 12 && XVECLEN (x1, 0) == 2 && 1)
    goto L2939;
  if (XINT (x1, 1) == 13 && XVECLEN (x1, 0) == 3 && 1)
    goto L2944;
  x1 = XEXP (x0, 0);
  goto L2571;

  L2939: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2940;
    }
  x1 = XEXP (x0, 0);
  goto L2571;

  L2940: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[1] = x2;
      if (TARGET_HARD_FLOAT)
	return 297;
      }
  x1 = XEXP (x0, 0);
  goto L2571;

  L2944: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2945;
    }
  x1 = XEXP (x0, 0);
  goto L2571;

  L2945: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[1] = x2;
      goto L2946;
    }
  x1 = XEXP (x0, 0);
  goto L2571;

  L2946: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (TARGET_HARD_FLOAT)
      return 298;
  x1 = XEXP (x0, 0);
  goto L2571;
 L2572: ATTRIBUTE_UNUSED_LABEL
  tem = recog_5 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L4164;

  L4165: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, DFmode))
    goto L4169;
  L4173: ATTRIBUTE_UNUSED_LABEL
  if (input_operand (x1, DFmode))
    goto L4177;
  x1 = XEXP (x0, 0);
  goto L2933;

  L4169: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT
   && (gpc_reg_operand (operands[0], DFmode)
       || gpc_reg_operand (operands[1], DFmode)))
    return 440;
  L4170: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_POWERPC64 && TARGET_SOFT_FLOAT
   && (gpc_reg_operand (operands[0], DFmode)
       || gpc_reg_operand (operands[1], DFmode)))
    return 441;
  goto L4173;

  L4177: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_POWERPC64 && TARGET_HARD_FLOAT
   && (gpc_reg_operand (operands[0], DFmode)
       || gpc_reg_operand (operands[1], DFmode)))
    return 442;
  L4178: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_POWERPC64 && TARGET_SOFT_FLOAT
   && (gpc_reg_operand (operands[0], DFmode)
       || gpc_reg_operand (operands[1], DFmode)))
    return 443;
  x1 = XEXP (x0, 0);
  goto L2933;
 L2576: ATTRIBUTE_UNUSED_LABEL
  tem = recog_6 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L4147;

  L4148: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, SFmode))
    goto L4152;
  x1 = XEXP (x0, 0);
  goto L2933;

  L4152: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if ((gpc_reg_operand (operands[0], SFmode)
   || gpc_reg_operand (operands[1], SFmode)) && TARGET_HARD_FLOAT)
    return 434;
  L4153: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if ((gpc_reg_operand (operands[0], SFmode)
   || gpc_reg_operand (operands[1], SFmode)) && TARGET_SOFT_FLOAT)
    return 435;
  x1 = XEXP (x0, 0);
  goto L2933;

  L4139: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, QImode))
    {
      ro[1] = x1;
      if (gpc_reg_operand (operands[0], QImode)
   || gpc_reg_operand (operands[1], QImode))
	return 429;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L4233: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (reg_or_mem_operand (x1, TImode))
    goto L4245;
  x1 = XEXP (x0, 0);
  goto L4248;

  L4245: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x1;
      if (TARGET_STRING && TARGET_POWER && ! TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode)))
	{
	  *pnum_clobbers = 1;
	  return 458;
	}
      }
  L4246: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x1;
      if (TARGET_STRING && ! TARGET_POWER && ! TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode)))
	{
	  *pnum_clobbers = 1;
	  return 459;
	}
      }
  x1 = XEXP (x0, 0);
  goto L4248;

  L4249: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, TImode))
    {
      ro[1] = x1;
      if (TARGET_POWERPC64 && (gpc_reg_operand (operands[0], TImode)
   || gpc_reg_operand (operands[1], TImode)))
	return 460;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5264: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCUNSmode && GET_CODE (x1) == COMPARE && 1)
    goto L5265;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[1] = x2;
	  goto L5266;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[1] = x2;
	  goto L5271;
	}
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_u_short_operand (x2, SImode))
    {
      ro[2] = x2;
      return 560;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_u_short_operand (x2, DImode))
    {
      ro[2] = x2;
      return 561;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5318: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCFPmode && GET_CODE (x1) == COMPARE && 1)
    goto L5319;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5319: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SFmode:
      if (gpc_reg_operand (x2, SFmode))
	{
	  ro[1] = x2;
	  goto L5320;
	}
      break;
    case DFmode:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[1] = x2;
	  goto L5325;
	}
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 566;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5325: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_HARD_FLOAT)
	return 567;
      }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5370: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCEQmode && GET_CODE (x1) == COMPARE && 1)
    goto L5371;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scc_comparison_operator (x2, VOIDmode))
    {
      ro[1] = x2;
      goto L5372;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5372: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (cc_reg_operand (x3, VOIDmode))
    {
      ro[2] = x3;
      goto L5373;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5373: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L5374;
  x1 = XEXP (x0, 0);
  goto L2933;

  L5374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (scc_comparison_operator (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L5375;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5375: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (cc_reg_operand (x3, VOIDmode))
    {
      ro[4] = x3;
      goto L5376;
    }
  x1 = XEXP (x0, 0);
  goto L2933;

  L5376: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (REGNO (operands[2]) != REGNO (operands[4]))
      return 572;
  x1 = XEXP (x0, 0);
  goto L2933;

  L7321: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case SImode:
      if (register_operand (x1, SImode))
	{
	  ro[0] = x1;
	  if (TARGET_32BIT)
	    return 681;
	  }
      break;
    case DImode:
      if (register_operand (x1, DImode))
	{
	  ro[0] = x1;
	  if (TARGET_64BIT)
	    return 682;
	  }
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case IF_THEN_ELSE:
      goto L7283;
    case LABEL_REF:
      goto L7317;
    }
  goto ret0;

  L7283: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (branch_comparison_operator (x2, VOIDmode))
    {
      ro[1] = x2;
      goto L7284;
    }
  L7292: ATTRIBUTE_UNUSED_LABEL
  if (branch_comparison_operator (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L7293;
    }
  goto ret0;

  L7284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (cc_reg_operand (x3, VOIDmode))
    {
      ro[2] = x3;
      goto L7285;
    }
  goto L7292;

  L7285: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L7286;
  goto L7292;

  L7286: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case LABEL_REF:
      goto L7287;
    case PC:
      goto L7304;
    }
  x2 = XEXP (x1, 0);
  goto L7292;

  L7287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L7288;

  L7288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    return 674;
  x2 = XEXP (x1, 0);
  goto L7292;

  L7304: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L7305;
  x2 = XEXP (x1, 0);
  goto L7292;

  L7305: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  return 676;

  L7293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (cc_reg_operand (x3, VOIDmode))
    {
      ro[1] = x3;
      goto L7294;
    }
  goto ret0;

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

  L7295: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case RETURN:
      goto L7296;
    case PC:
      goto L7313;
    }
  goto ret0;

  L7296: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    if (direct_return ())
      return 675;
  goto ret0;

  L7313: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == RETURN && 1)
    if (direct_return ())
      return 677;
  goto ret0;

  L7317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  ro[0] = x2;
  return 678;

  L2934: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 11 && XVECLEN (x1, 0) == 1 && 1)
    goto L2935;
  goto ret0;

  L2935: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    if (TARGET_HARD_FLOAT)
      return 296;
  goto ret0;
 ret0: return -1;
}

int
recog_8 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L9;
	case SIGN_EXTEND:
	  goto L39;
	case PLUS:
	  goto L3205;
	case NOT:
	  goto L3901;
	case MINUS:
	  goto L3275;
	case NEG:
	  goto L3348;
	case DIV:
	  goto L3408;
	case ROTATE:
	  goto L3453;
	case AND:
	  goto L3490;
	case ASHIFT:
	  goto L3670;
	case LSHIFTRT:
	  goto L3707;
	case ASHIFTRT:
	  goto L3742;
	case IOR:
	  goto L3981;
	case XOR:
	  goto L3860;
	}
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L189;
	case SIGN_EXTEND:
	  goto L219;
	case PLUS:
	  goto L370;
	case NOT:
	  goto L1300;
	case MINUS:
	  goto L490;
	case IF_THEN_ELSE:
	  goto L605;
	case NEG:
	  goto L711;
	case MULT:
	  goto L780;
	case DIV:
	  goto L898;
	case IOR:
	  goto L1432;
	case XOR:
	  goto L1236;
	case AND:
	  goto L1366;
	case ZERO_EXTRACT:
	  goto L1823;
	case ROTATE:
	  goto L1902;
	case ASHIFT:
	  goto L2106;
	case LSHIFTRT:
	  goto L2252;
	case ASHIFTRT:
	  goto L2513;
	}
      break;
    case HImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L249;
	case SIGN_EXTEND:
	  goto L279;
	}
    }
  goto ret0;

  L9: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L10;
	}
      break;
    case HImode:
      if (GET_CODE (x4) == SUBREG && XINT (x4, 1) == 0 && 1)
	goto L3581;
    L69: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L70;
	}
      break;
    case SImode:
      if (GET_CODE (x4) == SUBREG && XINT (x4, 1) == 0 && 1)
	goto L3626;
    L129: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L130;
	}
    }
  L3535: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x4) == QImode && GET_CODE (x4) == SUBREG && XINT (x4, 1) == 0 && 1)
    goto L3536;
  goto ret0;

  L10: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L11;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L3535;

  L11: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L12;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L3535;

  L12: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 2;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L3535;

  L3581: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3582;
  goto L69;

  L3582: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3583;
    }
  goto L69;

  L3583: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3584;
    }
  goto L69;

  L3584: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L3585;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L69;

  L3585: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3586;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L69;

  L3586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 372;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L69;

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

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

  L72: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 9;
      }
  goto ret0;

  L3626: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3627;
  goto L129;

  L3627: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3628;
    }
  goto L129;

  L3628: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3629;
    }
  goto L129;

  L3629: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L3630;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L129;

  L3630: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3631;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L129;

  L3631: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 375;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L129;

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

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

  L132: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 17;
      }
  goto ret0;

  L3536: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3537;
  goto ret0;

  L3537: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3538;
    }
  goto ret0;

  L3538: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3539;
    }
  goto ret0;

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

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

  L3541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 369;
      }
  goto ret0;

  L39: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L40;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L100;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L160;
	}
    }
  goto ret0;

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

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

  L42: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 5;
      }
  goto ret0;

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

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

  L102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 13;
      }
  goto ret0;

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

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

  L162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 21;
      }
  goto ret0;

  L3205: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3206;
    }
  goto ret0;

  L3206: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3207;
    }
  goto ret0;

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

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

  L3209: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 333;
      }
  goto ret0;

  L3901: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == XOR && 1)
    goto L3902;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3245;
    }
  goto ret0;

  L3902: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3903;
    }
  goto ret0;

  L3903: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3904;
    }
  goto ret0;

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

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

  L3906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 403;
      }
  goto ret0;

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

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

  L3247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 337;
      }
  goto ret0;

  L3275: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3276;
    }
  goto ret0;

  L3276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3277;
    }
  goto ret0;

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

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

  L3279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 340;
      }
  goto ret0;

  L3348: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3349;
    }
  goto ret0;

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

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

  L3351: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 349;
      }
  goto ret0;

  L3408: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3409;
    }
  goto ret0;

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

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

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

  L3412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64 && exact_log2 (INTVAL (operands[2])) >= 0)
	return 358;
      }
  goto ret0;

  L3453: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3454;
    }
  goto ret0;

  L3454: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3455;
    }
  goto ret0;

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

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

  L3457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 363;
      }
  goto ret0;

  L3490: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case ROTATE:
      goto L3491;
    case NOT:
      goto L3942;
    case SUBREG:
    case REG:
      if (gpc_reg_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L3786;
	}
    }
  goto ret0;

  L3491: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3492;
    }
  goto ret0;

  L3492: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3493;
    }
  goto ret0;

  L3493: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (mask64_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L3494;
    }
  goto ret0;

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

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

  L3496: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 366;
      }
  goto ret0;

  L3942: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L4069;
    }
  goto ret0;

  L4069: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L4070;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3944;
    }
  goto ret0;

  L4070: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L4071;
    }
  goto ret0;

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

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

  L4073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 415;
      }
  goto ret0;

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

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

  L3946: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 406;
      }
  goto ret0;

  L3786: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and64_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3787;
    }
  goto ret0;

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

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

  L3789: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 390;
      }
  goto ret0;

  L3670: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3671;
    }
  goto ret0;

  L3671: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3672;
    }
  goto ret0;

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

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

  L3674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 379;
      }
  goto ret0;

  L3707: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3708;
    }
  goto ret0;

  L3708: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3709;
    }
  goto ret0;

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

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

  L3711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 383;
      }
  goto ret0;

  L3742: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3743;
    }
  goto ret0;

  L3743: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3744;
    }
  goto ret0;

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

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

  L3746: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 387;
      }
  goto ret0;

  L3981: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L3982;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3821;
    }
  goto ret0;

  L3982: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L4024;
    }
  goto ret0;

  L4024: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L4025;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3984;
    }
  goto ret0;

  L4025: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L4026;
    }
  goto ret0;

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

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

  L4028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 412;
      }
  goto ret0;

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

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

  L3986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 409;
      }
  goto ret0;

  L3821: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3822;
    }
  goto ret0;

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

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

  L3824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 394;
      }
  goto ret0;

  L3860: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3861;
    }
  goto ret0;

  L3861: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3862;
    }
  goto ret0;

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

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

  L3864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 399;
      }
  goto ret0;

  L189: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L190;
	}
      break;
    case HImode:
      if (GET_CODE (x4) == SUBREG && XINT (x4, 1) == 0 && 1)
	goto L2030;
    L309: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L310;
	}
    }
  L1984: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x4) == QImode && GET_CODE (x4) == SUBREG && XINT (x4, 1) == 0 && 1)
    goto L1985;
  goto ret0;

  L190: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L191;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1984;

  L191: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L192;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1984;

  L192: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      return 25;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1984;

  L2030: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    {
      goto L309;
    }
  switch (GET_CODE (x5))
    {
    default:
      break;
    case ROTATE:
      goto L2031;
    case LSHIFTRT:
      goto L2413;
    }
  goto L309;

  L2031: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2032;
    }
  goto L309;

  L2032: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L2033;
    }
  goto L309;

  L2033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L2034;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

  L2034: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2035;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

  L2035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      return 197;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

  L2413: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2414;
    }
  goto L309;

  L2414: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && 1)
    {
      ro[2] = x6;
      goto L2415;
    }
  goto L309;

  L2415: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L2416;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

  L2416: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2417;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

  L2417: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (includes_rshift_p (operands[2], GEN_INT (65535)))
	return 223;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L309;

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

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

  L312: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      return 45;
    }
  goto ret0;

  L1985: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case ROTATE:
      goto L1986;
    case LSHIFTRT:
      goto L2368;
    }
  goto ret0;

  L1986: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L1987;
    }
  goto ret0;

  L1987: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L1988;
    }
  goto ret0;

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

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

  L1990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      return 194;
    }
  goto ret0;

  L2368: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2369;
    }
  goto ret0;

  L2369: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && 1)
    {
      ro[2] = x6;
      goto L2370;
    }
  goto ret0;

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

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

  L2372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (includes_rshift_p (operands[2], GEN_INT (255)))
	return 220;
      }
  goto ret0;

  L219: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L220;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L340;
	}
    }
  goto ret0;

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

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

  L222: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC)
	return 29;
      }
  goto ret0;

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

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

  L342: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      return 49;
    }
  goto ret0;

  L370: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L371;
    }
  goto ret0;

  L371: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L372;
    }
  goto ret0;

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

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

  L374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 53;
      }
  goto ret0;

  L1300: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == XOR && 1)
    goto L1301;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L433;
    }
  goto ret0;

  L1301: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1302;
    }
  goto ret0;

  L1302: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1303;
    }
  goto ret0;

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

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

  L1305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 141;
      }
  goto ret0;

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

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

  L435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 59;
      }
  goto ret0;

  L490: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L491;
    }
  goto ret0;

  L491: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L492;
    }
  goto ret0;

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

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

  L494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L519;
  goto ret0;

  L519: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (! TARGET_POWERPC)
    return 65;
  L520: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_POWERPC && ! TARGET_POWERPC64)
    return 66;
  goto ret0;

  L605: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == GT && 1)
    goto L606;
  goto ret0;

  L606: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L607;
    }
  goto ret0;

  L607: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L608;
    }
  goto ret0;

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

  L609: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == MINUS && 1)
    goto L610;
  goto ret0;

  L610: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L611;
  goto ret0;

  L611: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L612;
  goto ret0;

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

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

  L614: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 79;
      }
  goto ret0;

  L711: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L712;
    }
  goto ret0;

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

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

  L714: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64)
	return 89;
      }
  goto ret0;

  L780: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L781;
    }
  goto ret0;

  L781: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L782;
    }
  goto ret0;

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

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

  L784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWER)
	return 96;
      }
  goto ret0;

  L898: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L899;
    }
  goto ret0;

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

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

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

  L902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (exact_log2 (INTVAL (operands[2])) >= 0)
	return 109;
      }
  goto ret0;

  L1432: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1433;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1174;
    }
  goto ret0;

  L1433: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1501;
    }
  goto ret0;

  L1501: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1502;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1435;
    }
  goto ret0;

  L1502: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1503;
    }
  goto ret0;

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

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

  L1505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 156;
      }
  goto ret0;

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

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

  L1437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 151;
      }
  goto ret0;

  L1174: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1175;
    }
  goto ret0;

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

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

  L1177: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 128;
      }
  goto ret0;

  L1236: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1237;
    }
  goto ret0;

  L1237: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1238;
    }
  goto ret0;

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

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

  L1240: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 135;
      }
  goto ret0;

  L1366: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case NOT:
      goto L1367;
    case ROTATE:
      goto L1940;
    case ASHIFT:
      goto L2176;
    case LSHIFTRT:
      goto L2322;
    }
  goto ret0;

  L1367: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1575;
    }
  goto ret0;

  L1575: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1576;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1369;
    }
  goto ret0;

  L1576: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1577;
    }
  goto ret0;

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

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

  L1579: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 161;
      }
  goto ret0;

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

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

  L1371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 146;
      }
  goto ret0;

  L1940: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1941;
    }
  goto ret0;

  L1941: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1942;
    }
  goto ret0;

  L1942: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L1943;
    }
  goto ret0;

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

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

  L1945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 191;
      }
  goto ret0;

  L2176: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2177;
    }
  goto ret0;

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

  L2178: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L2179;
    }
  goto ret0;

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

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

  L2181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && includes_lshift_p (operands[2], operands[3]))
	return 207;
      }
  goto ret0;

  L2322: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2323;
    }
  goto ret0;

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

  L2324: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L2325;
    }
  goto ret0;

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

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

  L2327: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && includes_rshift_p (operands[2], operands[3]))
	return 217;
      }
  goto ret0;

  L1823: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1824;
    }
  goto ret0;

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

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

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

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

  L1828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 182;
      }
  goto ret0;

  L1902: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1903;
    }
  goto ret0;

  L1903: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1904;
    }
  goto ret0;

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

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

  L1906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 188;
      }
  goto ret0;

  L2106: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2107;
    }
  goto ret0;

  L2107: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2108;
    }
  goto ret0;

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

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

  L2110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWER && ! TARGET_POWERPC64)
	return 203;
      }
  goto ret0;

  L2252: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2253;
    }
  goto ret0;

  L2253: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2254;
    }
  goto ret0;

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

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

  L2256: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWER && ! TARGET_POWERPC64)
	return 213;
      }
  goto ret0;

  L2513: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2514;
    }
  goto ret0;

  L2514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2515;
    }
  goto ret0;

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

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

  L2517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWER)
	return 232;
      }
  goto ret0;

  L249: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, QImode))
    {
      ro[1] = x4;
      goto L250;
    }
  goto ret0;

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

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

  L252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      ro[2] = x2;
      return 35;
    }
  goto ret0;

  L279: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, QImode))
    {
      ro[1] = x4;
      goto L280;
    }
  goto ret0;

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

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

  L282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC)
	return 39;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_9 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L24;
	case SIGN_EXTEND:
	  goto L54;
	case NOT:
	  goto L3259;
	case NEG:
	  goto L3363;
	case SUBREG:
	case REG:
	  if (gpc_reg_operand (x3, DImode))
	    {
	      ro[1] = x3;
	      goto L4221;
	    }
	}
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L204;
	case SIGN_EXTEND:
	  goto L234;
	case NOT:
	  goto L456;
	case NEG:
	  goto L726;
	case SUBREG:
	case REG:
	  if (gpc_reg_operand (x3, SImode))
	    {
	      ro[1] = x3;
	      goto L4130;
	    }
	}
      break;
    case HImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ZERO_EXTEND:
	  goto L264;
	case SIGN_EXTEND:
	  goto L294;
	}
    }
  goto ret0;

  L24: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L25;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L85;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L145;
	}
    }
  goto ret0;

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

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

  L27: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L28;
    }
  goto ret0;

  L28: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L29;
  goto ret0;

  L29: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 3;
  goto ret0;

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

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

  L87: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L88;
    }
  goto ret0;

  L88: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L89;
  goto ret0;

  L89: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 10;
  goto ret0;

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

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

  L147: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L148;
    }
  goto ret0;

  L148: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L149;
  goto ret0;

  L149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 18;
  goto ret0;

  L54: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L55;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L115;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L175;
	}
    }
  goto ret0;

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

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

  L57: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L58;
    }
  goto ret0;

  L58: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L59;
  goto ret0;

  L59: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 6;
  goto ret0;

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

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

  L117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L118;
    }
  goto ret0;

  L118: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L119;
  goto ret0;

  L119: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 14;
  goto ret0;

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

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

  L177: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L178;
    }
  goto ret0;

  L178: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L179;
  goto ret0;

  L179: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 22;
  goto ret0;

  L3259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3260;
    }
  goto ret0;

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

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

  L3262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3263;
    }
  goto ret0;

  L3263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NOT && 1)
    goto L3264;
  goto ret0;

  L3264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 338;
  goto ret0;

  L3363: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3364;
    }
  goto ret0;

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

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

  L3366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3367;
    }
  goto ret0;

  L3367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NEG && 1)
    goto L3368;
  goto ret0;

  L3368: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 350;
  goto ret0;

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

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

  L4223: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4224;
    }
  goto ret0;

  L4224: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, ro[1]) && 1)
    if (TARGET_POWERPC64)
      return 456;
  goto ret0;

  L204: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L205;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L325;
	}
    }
  goto ret0;

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

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

  L207: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L208;
    }
  goto ret0;

  L208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L209;
  goto ret0;

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

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

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

  L327: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L328;
    }
  goto ret0;

  L328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L329;
  goto ret0;

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

  L234: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (gpc_reg_operand (x4, QImode))
	{
	  ro[1] = x4;
	  goto L235;
	}
      break;
    case HImode:
      if (gpc_reg_operand (x4, HImode))
	{
	  ro[1] = x4;
	  goto L355;
	}
    }
  goto ret0;

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

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

  L237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L238;
    }
  goto ret0;

  L238: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L239;
  goto ret0;

  L239: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC)
      return 30;
  goto ret0;

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

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

  L357: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L358;
    }
  goto ret0;

  L358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L359;
  goto ret0;

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

  L456: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L457;
    }
  goto ret0;

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

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

  L459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L460;
    }
  goto ret0;

  L460: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == NOT && 1)
    goto L461;
  goto ret0;

  L461: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (! TARGET_POWERPC64)
      return 61;
  goto ret0;

  L726: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L727;
    }
  goto ret0;

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

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

  L729: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L730;
    }
  goto ret0;

  L730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == NEG && 1)
    goto L731;
  goto ret0;

  L731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (! TARGET_POWERPC64)
      return 90;
  goto ret0;

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

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

  L4132: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4133;
    }
  goto ret0;

  L4133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, ro[1]) && 1)
    if (! TARGET_POWERPC64)
      return 425;
  goto ret0;

  L264: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, QImode))
    {
      ro[1] = x4;
      goto L265;
    }
  goto ret0;

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

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

  L267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, HImode))
    {
      ro[0] = x2;
      goto L268;
    }
  goto ret0;

  L268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L269;
  goto ret0;

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

  L294: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, QImode))
    {
      ro[1] = x4;
      goto L295;
    }
  goto ret0;

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

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

  L297: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, HImode))
    {
      ro[0] = x2;
      goto L298;
    }
  goto ret0;

  L298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L299;
  goto ret0;

  L299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (TARGET_POWERPC)
      return 40;
  goto ret0;
 ret0: return -1;
}

int
recog_10 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case PLUS:
	  goto L397;
	case MINUS:
	  goto L538;
	case IF_THEN_ELSE:
	  goto L632;
	case MULT:
	  goto L814;
	case DIV:
	  goto L915;
	case AND:
	  goto L1396;
	case IOR:
	  goto L1462;
	case XOR:
	  goto L1263;
	case NOT:
	  goto L1330;
	case ROTATE:
	  goto L1919;
	case ZERO_EXTEND:
	  goto L2005;
	case ASHIFT:
	  goto L2140;
	case LSHIFTRT:
	  goto L2286;
	case ASHIFTRT:
	  goto L2547;
	}
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case PLUS:
	  goto L3222;
	case MINUS:
	  goto L3292;
	case DIV:
	  goto L3425;
	case ROTATE:
	  goto L3470;
	case ZERO_EXTEND:
	  goto L3556;
	case ASHIFT:
	  goto L3687;
	case LSHIFTRT:
	  goto L3724;
	case ASHIFTRT:
	  goto L3759;
	case AND:
	  goto L3960;
	case IOR:
	  goto L4000;
	case XOR:
	  goto L3877;
	case NOT:
	  goto L3920;
	}
    }
  goto ret0;

  L397: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L398;
    }
  goto ret0;

  L398: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L399;
    }
  goto ret0;

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

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

  L401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L402;
    }
  goto ret0;

  L402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L403;
  goto ret0;

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

  L404: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 55;
  goto ret0;

  L538: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L539;
    }
  goto ret0;

  L539: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L540;
    }
  goto ret0;

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

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

  L542: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L543;
    }
  goto ret0;

  L543: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MINUS && 1)
    goto L544;
  goto ret0;

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

  L545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L559;
  goto ret0;

  L559: ATTRIBUTE_UNUSED_LABEL
  if (! TARGET_POWERPC)
    return 68;
  L560: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_POWERPC && ! TARGET_POWERPC64)
    return 69;
  goto ret0;

  L632: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == GT && 1)
    goto L633;
  goto ret0;

  L633: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L634;
    }
  goto ret0;

  L634: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L635;
    }
  goto ret0;

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

  L636: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == MINUS && 1)
    goto L637;
  goto ret0;

  L637: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L638;
  goto ret0;

  L638: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L639;
  goto ret0;

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

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

  L641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L642;
    }
  goto ret0;

  L642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IF_THEN_ELSE && 1)
    goto L643;
  goto ret0;

  L643: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == GT && 1)
    goto L644;
  goto ret0;

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

  L645: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L646;
  goto ret0;

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

  L647: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MINUS && 1)
    goto L648;
  goto ret0;

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

  L649: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    if (TARGET_POWER)
      return 80;
  goto ret0;

  L814: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L815;
    }
  goto ret0;

  L815: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L816;
    }
  goto ret0;

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

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

  L818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L819;
    }
  goto ret0;

  L819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MULT && 1)
    goto L820;
  goto ret0;

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

  L821: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L835;
  goto ret0;

  L835: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 97;
      }
  L836: ATTRIBUTE_UNUSED_LABEL
  if (! TARGET_POWER)
    return 98;
  goto ret0;

  L915: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L916;
    }
  goto ret0;

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

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

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

  L919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L920;
    }
  goto ret0;

  L920: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == DIV && 1)
    goto L921;
  goto ret0;

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

  L922: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (exact_log2 (INTVAL (operands[2])) >= 0)
      return 110;
  goto ret0;

  L1396: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1397;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1141;
    }
  goto ret0;

  L1397: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1608;
    }
  goto ret0;

  L1608: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1609;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1399;
    }
  goto ret0;

  L1609: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1610;
    }
  goto ret0;

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

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

  L1612: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1613;
    }
  goto ret0;

  L1613: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1614;
  goto ret0;

  L1614: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1615;
  goto ret0;

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

  L1616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1617;
  goto ret0;

  L1617: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 163;
  goto ret0;

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

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

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

  L1402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1403;
  goto ret0;

  L1403: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1404;
  goto ret0;

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

  L1405: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 148;
  goto ret0;

  L1141: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1142;
    }
  goto ret0;

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

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

  L1144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1145;
    }
  goto ret0;

  L1145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1146;
  goto ret0;

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

  L1147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 124;
      }
  goto ret0;

  L1462: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1463;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1201;
    }
  goto ret0;

  L1463: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1534;
    }
  goto ret0;

  L1534: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1535;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1465;
    }
  goto ret0;

  L1535: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1536;
    }
  goto ret0;

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

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

  L1538: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1539;
    }
  goto ret0;

  L1539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1540;
  goto ret0;

  L1540: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1541;
  goto ret0;

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

  L1542: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1543;
  goto ret0;

  L1543: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 158;
  goto ret0;

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

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

  L1467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1468;
    }
  goto ret0;

  L1468: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1469;
  goto ret0;

  L1469: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1470;
  goto ret0;

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

  L1471: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 153;
  goto ret0;

  L1201: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1202;
    }
  goto ret0;

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

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

  L1204: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1205;
    }
  goto ret0;

  L1205: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1206;
  goto ret0;

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

  L1207: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 130;
  goto ret0;

  L1263: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1264;
    }
  goto ret0;

  L1264: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1265;
    }
  goto ret0;

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

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

  L1267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1268;
    }
  goto ret0;

  L1268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == XOR && 1)
    goto L1269;
  goto ret0;

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

  L1270: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 137;
  goto ret0;

  L1330: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == XOR && 1)
    goto L1331;
  goto ret0;

  L1331: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1332;
    }
  goto ret0;

  L1332: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1333;
    }
  goto ret0;

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

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

  L1335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1336;
    }
  goto ret0;

  L1336: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == NOT && 1)
    goto L1337;
  goto ret0;

  L1337: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == XOR && 1)
    goto L1338;
  goto ret0;

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

  L1339: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 143;
  goto ret0;

  L1919: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1920;
    }
  goto ret0;

  L1920: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1921;
    }
  goto ret0;

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

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

  L1923: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1924;
    }
  goto ret0;

  L1924: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ROTATE && 1)
    goto L1925;
  goto ret0;

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

  L1926: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 189;
  goto ret0;

  L2005: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SUBREG)
    goto ret0;
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (XINT (x4, 1) == 0 && 1)
	goto L2006;
      break;
    case HImode:
      if (XINT (x4, 1) == 0 && 1)
	goto L2051;
    }
  goto ret0;

  L2006: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case ROTATE:
      goto L2007;
    case LSHIFTRT:
      goto L2389;
    }
  goto ret0;

  L2007: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2008;
    }
  goto ret0;

  L2008: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L2009;
    }
  goto ret0;

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

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

  L2011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2012;
    }
  goto ret0;

  L2012: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L2013;
  goto ret0;

  L2013: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L2014;
  goto ret0;

  L2014: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == ROTATE && 1)
    goto L2015;
  goto ret0;

  L2015: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L2016;
  goto ret0;

  L2016: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    return 195;
  goto ret0;

  L2389: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2390;
    }
  goto ret0;

  L2390: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && 1)
    {
      ro[2] = x6;
      goto L2391;
    }
  goto ret0;

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

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

  L2393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2394;
    }
  goto ret0;

  L2394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L2395;
  goto ret0;

  L2395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L2396;
  goto ret0;

  L2396: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L2397;
  goto ret0;

  L2397: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L2398;
  goto ret0;

  L2398: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    if (includes_rshift_p (operands[2], GEN_INT (255)))
      return 221;
  goto ret0;

  L2051: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case ROTATE:
      goto L2052;
    case LSHIFTRT:
      goto L2434;
    }
  goto ret0;

  L2052: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2053;
    }
  goto ret0;

  L2053: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L2054;
    }
  goto ret0;

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

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

  L2056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2057;
    }
  goto ret0;

  L2057: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L2058;
  goto ret0;

  L2058: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L2059;
  goto ret0;

  L2059: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == ROTATE && 1)
    goto L2060;
  goto ret0;

  L2060: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L2061;
  goto ret0;

  L2061: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    return 198;
  goto ret0;

  L2434: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L2435;
    }
  goto ret0;

  L2435: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && 1)
    {
      ro[2] = x6;
      goto L2436;
    }
  goto ret0;

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

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

  L2438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2439;
    }
  goto ret0;

  L2439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L2440;
  goto ret0;

  L2440: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L2441;
  goto ret0;

  L2441: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L2442;
  goto ret0;

  L2442: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L2443;
  goto ret0;

  L2443: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    if (includes_rshift_p (operands[2], GEN_INT (65535)))
      return 224;
  goto ret0;

  L2140: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2141;
    }
  goto ret0;

  L2141: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2142;
    }
  goto ret0;

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

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

  L2144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2145;
    }
  goto ret0;

  L2145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
    goto L2146;
  goto ret0;

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

  L2147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2161;
  goto ret0;

  L2161: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 204;
      }
  L2162: ATTRIBUTE_UNUSED_LABEL
  if (! TARGET_POWER && ! TARGET_POWERPC64)
    return 205;
  goto ret0;

  L2286: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2287;
    }
  goto ret0;

  L2287: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2288;
    }
  goto ret0;

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

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

  L2290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2291;
    }
  goto ret0;

  L2291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L2292;
  goto ret0;

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

  L2293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2307;
  goto ret0;

  L2307: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 214;
      }
  L2308: ATTRIBUTE_UNUSED_LABEL
  if (! TARGET_POWER && ! TARGET_POWERPC64)
    return 215;
  goto ret0;

  L2547: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2548;
    }
  goto ret0;

  L2548: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2549;
    }
  goto ret0;

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

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

  L2551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2552;
    }
  goto ret0;

  L2552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFTRT && 1)
    goto L2553;
  goto ret0;

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

  L2554: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2568;
  goto ret0;

  L2568: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 233;
      }
  L2569: ATTRIBUTE_UNUSED_LABEL
  if (! TARGET_POWER)
    return 234;
  goto ret0;

  L3222: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3223;
    }
  goto ret0;

  L3223: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3224;
    }
  goto ret0;

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

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

  L3226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3227;
    }
  goto ret0;

  L3227: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L3228;
  goto ret0;

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

  L3229: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 334;
  goto ret0;

  L3292: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3293;
    }
  goto ret0;

  L3293: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3294;
    }
  goto ret0;

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

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

  L3296: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3297;
    }
  goto ret0;

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

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

  L3299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 341;
  goto ret0;

  L3425: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3426;
    }
  goto ret0;

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

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

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

  L3429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3430;
    }
  goto ret0;

  L3430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == DIV && 1)
    goto L3431;
  goto ret0;

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

  L3432: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64 && exact_log2 (INTVAL (operands[2])) >= 0)
      return 359;
  goto ret0;

  L3470: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3471;
    }
  goto ret0;

  L3471: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3472;
    }
  goto ret0;

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

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

  L3474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3475;
    }
  goto ret0;

  L3475: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ROTATE && 1)
    goto L3476;
  goto ret0;

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

  L3477: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 364;
  goto ret0;

  L3556: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SUBREG)
    goto ret0;
  switch (GET_MODE (x4))
    {
    default:
      break;
    case QImode:
      if (XINT (x4, 1) == 0 && 1)
	goto L3557;
      break;
    case HImode:
      if (XINT (x4, 1) == 0 && 1)
	goto L3602;
      break;
    case SImode:
      if (XINT (x4, 1) == 0 && 1)
	goto L3647;
    }
  goto ret0;

  L3557: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3558;
  goto ret0;

  L3558: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3559;
    }
  goto ret0;

  L3559: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3560;
    }
  goto ret0;

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

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

  L3562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3563;
    }
  goto ret0;

  L3563: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L3564;
  goto ret0;

  L3564: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L3565;
  goto ret0;

  L3565: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3566;
  goto ret0;

  L3566: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L3567;
  goto ret0;

  L3567: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 370;
  goto ret0;

  L3602: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3603;
  goto ret0;

  L3603: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3604;
    }
  goto ret0;

  L3604: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3605;
    }
  goto ret0;

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

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

  L3607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3608;
    }
  goto ret0;

  L3608: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L3609;
  goto ret0;

  L3609: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L3610;
  goto ret0;

  L3610: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3611;
  goto ret0;

  L3611: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L3612;
  goto ret0;

  L3612: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 373;
  goto ret0;

  L3647: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ROTATE && 1)
    goto L3648;
  goto ret0;

  L3648: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L3649;
    }
  goto ret0;

  L3649: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_cint_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L3650;
    }
  goto ret0;

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

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

  L3652: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3653;
    }
  goto ret0;

  L3653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L3654;
  goto ret0;

  L3654: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == SUBREG && XINT (x3, 1) == 0 && 1)
    goto L3655;
  goto ret0;

  L3655: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3656;
  goto ret0;

  L3656: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L3657;
  goto ret0;

  L3657: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 376;
  goto ret0;

  L3687: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3688;
    }
  goto ret0;

  L3688: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3689;
    }
  goto ret0;

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

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

  L3691: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3692;
    }
  goto ret0;

  L3692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ASHIFT && 1)
    goto L3693;
  goto ret0;

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

  L3694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 380;
  goto ret0;

  L3724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3725;
    }
  goto ret0;

  L3725: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3726;
    }
  goto ret0;

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

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

  L3728: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3729;
    }
  goto ret0;

  L3729: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L3730;
  goto ret0;

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

  L3731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 384;
  goto ret0;

  L3759: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3760;
    }
  goto ret0;

  L3760: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3761;
    }
  goto ret0;

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

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

  L3763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3764;
    }
  goto ret0;

  L3764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ASHIFTRT && 1)
    goto L3765;
  goto ret0;

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

  L3766: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 388;
  goto ret0;

  L3960: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L3961;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3803;
    }
  goto ret0;

  L3961: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L4090;
    }
  goto ret0;

  L4090: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L4091;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3963;
    }
  goto ret0;

  L4091: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L4092;
    }
  goto ret0;

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

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

  L4094: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4095;
    }
  goto ret0;

  L4095: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L4096;
  goto ret0;

  L4096: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L4097;
  goto ret0;

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

  L4098: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L4099;
  goto ret0;

  L4099: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 416;
  goto ret0;

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

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

  L3965: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3966;
    }
  goto ret0;

  L3966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L3967;
  goto ret0;

  L3967: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L3968;
  goto ret0;

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

  L3969: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 407;
  goto ret0;

  L3803: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and64_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3804;
    }
  goto ret0;

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

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

  L3806: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3807;
    }
  goto ret0;

  L3807: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L3808;
  goto ret0;

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

  L3809: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 391;
  goto ret0;

  L4000: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L4001;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3838;
    }
  goto ret0;

  L4001: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L4045;
    }
  goto ret0;

  L4045: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L4046;
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L4003;
    }
  goto ret0;

  L4046: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L4047;
    }
  goto ret0;

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

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

  L4049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4050;
    }
  goto ret0;

  L4050: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == IOR && 1)
    goto L4051;
  goto ret0;

  L4051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L4052;
  goto ret0;

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

  L4053: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L4054;
  goto ret0;

  L4054: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 413;
  goto ret0;

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

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

  L4005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4006;
    }
  goto ret0;

  L4006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == IOR && 1)
    goto L4007;
  goto ret0;

  L4007: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NOT && 1)
    goto L4008;
  goto ret0;

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

  L4009: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 410;
  goto ret0;

  L3838: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3839;
    }
  goto ret0;

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

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

  L3841: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3842;
    }
  goto ret0;

  L3842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == IOR && 1)
    goto L3843;
  goto ret0;

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

  L3844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 395;
  goto ret0;

  L3877: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3878;
    }
  goto ret0;

  L3878: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L3879;
    }
  goto ret0;

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

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

  L3881: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3882;
    }
  goto ret0;

  L3882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == XOR && 1)
    goto L3883;
  goto ret0;

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

  L3884: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 400;
  goto ret0;

  L3920: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == XOR && 1)
    goto L3921;
  goto ret0;

  L3921: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3922;
    }
  goto ret0;

  L3922: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3923;
    }
  goto ret0;

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

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

  L3925: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3926;
    }
  goto ret0;

  L3926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NOT && 1)
    goto L3927;
  goto ret0;

  L3927: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == XOR && 1)
    goto L3928;
  goto ret0;

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

  L3929: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 404;
  goto ret0;
 ret0: return -1;
}

int
recog_11 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  if (GET_CODE (x5) == NOT && 1)
    goto L1682;
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1728;
    }
  L1750: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x5, SImode))
    {
      ro[3] = x5;
      goto L1751;
    }
  goto ret0;

  L1682: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L1683;
    }
  goto ret0;

  L1683: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1684;
    }
  goto ret0;

  L1684: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == AND && 1)
    goto L1685;
  goto ret0;

  L1685: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1686;
  L1708: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x5, SImode))
    {
      ro[3] = x5;
      goto L1709;
    }
  goto ret0;

  L1686: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[3] = x5;
      goto L1687;
    }
  x5 = XEXP (x4, 0);
  goto L1708;

  L1687: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1688;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1688: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1689;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1689: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1690;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1691;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1691: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1692;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1692: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1693;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1693: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1694;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1694: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1695;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1695: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1696;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1696: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L1697;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1697: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[3]) && 1)
    if (TARGET_POWER)
      return 169;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  goto L1708;

  L1709: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1710;
  goto ret0;

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

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

  L1712: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1713;
    }
  goto ret0;

  L1713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1714;
  goto ret0;

  L1714: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1715;
  goto ret0;

  L1715: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1716;
  goto ret0;

  L1716: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1717;
  goto ret0;

  L1717: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1718;
  goto ret0;

  L1718: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1719;
  goto ret0;

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

  L1720: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (TARGET_POWER)
      return 170;
  goto ret0;

  L1728: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[3] = x5;
      goto L1729;
    }
  x5 = XEXP (x4, 0);
  goto L1750;

  L1729: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == AND && 1)
    goto L1730;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1730: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L1731;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1731: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[2]) && 1)
    goto L1732;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1732: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1733;
    }
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1733: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1734;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1734: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1735;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1736;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1736: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1737;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1737: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1738;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1738: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L1739;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1739: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[3]) && 1)
    goto L1740;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1740: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1741;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1741: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1742;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1742: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1743;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1743: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    if (TARGET_POWER)
      return 171;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L1750;

  L1751: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1752;
    }
  goto ret0;

  L1752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == AND && 1)
    goto L1753;
  goto ret0;

  L1753: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L1754;
  goto ret0;

  L1754: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[2]) && 1)
    goto L1755;
  goto ret0;

  L1755: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1756;
    }
  goto ret0;

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

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

  L1758: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1759;
    }
  goto ret0;

  L1759: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1760;
  goto ret0;

  L1760: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1761;
  goto ret0;

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

  L1762: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L1763;
  goto ret0;

  L1763: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1764;
  goto ret0;

  L1764: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1765;
  goto ret0;

  L1765: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L1766;
  goto ret0;

  L1766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[1]) && 1)
    if (TARGET_POWER)
      return 172;
  goto ret0;
 ret0: return -1;
}

int
recog_12 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case IOR:
	  goto L1680;
	case ZERO_EXTRACT:
	  goto L1842;
	case AND:
	  goto L1960;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == AND && 1)
	goto L3511;
    }
  goto ret0;

  L1680: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == AND && 1)
    goto L1681;
  goto ret0;
 L1681: ATTRIBUTE_UNUSED_LABEL
  return recog_11 (x0, insn, pnum_clobbers);

  L1842: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1843;
    }
  goto ret0;

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

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

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

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

  L1847: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1848;
    }
  goto ret0;

  L1848: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ZERO_EXTRACT && 1)
    goto L1849;
  goto ret0;

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

  L1850: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L1851;
  goto ret0;

  L1851: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (! TARGET_POWERPC64)
      return 183;
  goto ret0;

  L1960: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case ROTATE:
      goto L1961;
    case ASHIFT:
      goto L2197;
    case LSHIFTRT:
      goto L2343;
    }
  goto ret0;

  L1961: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1962;
    }
  goto ret0;

  L1962: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1963;
    }
  goto ret0;

  L1963: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L1964;
    }
  goto ret0;

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

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

  L1966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1967;
    }
  goto ret0;

  L1967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1968;
  goto ret0;

  L1968: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == ROTATE && 1)
    goto L1969;
  goto ret0;

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

  L1970: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L1971;
  goto ret0;

  L1971: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (! TARGET_POWERPC64)
      return 192;
  goto ret0;

  L2197: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2198;
    }
  goto ret0;

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

  L2199: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L2200;
    }
  goto ret0;

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

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

  L2202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2203;
    }
  goto ret0;

  L2203: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L2204;
  goto ret0;

  L2204: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == ASHIFT && 1)
    goto L2205;
  goto ret0;

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

  L2206: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L2207;
  goto ret0;

  L2207: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (! TARGET_POWERPC64 && includes_lshift_p (operands[2], operands[3]))
      return 208;
  goto ret0;

  L2343: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L2344;
    }
  goto ret0;

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

  L2345: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && mask_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L2346;
    }
  goto ret0;

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

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

  L2348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2349;
    }
  goto ret0;

  L2349: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L2350;
  goto ret0;

  L2350: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L2351;
  goto ret0;

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

  L2352: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L2353;
  goto ret0;

  L2353: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (! TARGET_POWERPC64 && includes_rshift_p (operands[2], operands[3]))
      return 218;
  goto ret0;

  L3511: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ROTATE && 1)
    goto L3512;
  goto ret0;

  L3512: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L3513;
    }
  goto ret0;

  L3513: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L3514;
    }
  goto ret0;

  L3514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (mask64_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L3515;
    }
  goto ret0;

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

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

  L3517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L3518;
    }
  goto ret0;

  L3518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L3519;
  goto ret0;

  L3519: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ROTATE && 1)
    goto L3520;
  goto ret0;

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

  L3521: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L3522;
  goto ret0;

  L3522: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (TARGET_POWERPC64)
      return 367;
  goto ret0;
 ret0: return -1;
}

int
recog_13 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ABS:
      goto L658;
    case NEG:
      goto L683;
    case MULT:
      goto L740;
    case DIV:
      goto L841;
    case UDIV:
      goto L852;
    case AND:
      goto L1080;
    case ASHIFT:
      goto L2066;
    case LSHIFTRT:
      goto L2212;
    case ASHIFTRT:
      goto L2473;
    case TRUNCATE:
      goto L3090;
    }
  goto ret0;

  L658: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L659;
    }
  goto ret0;

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

  L660: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWER)
	return 83;
      }
  goto ret0;

  L683: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == ABS && 1)
    goto L684;
  goto ret0;

  L684: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L685;
    }
  goto ret0;

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

  L686: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWER)
	return 86;
      }
  goto ret0;

  L740: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L741;
    }
  goto ret0;

  L741: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L742;
    }
  goto ret0;

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

  L743: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 93;
      }
  goto ret0;

  L841: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L842;
    }
  goto ret0;

  L842: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L843;
    }
  goto ret0;

  L843: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L844;
    case CLOBBER:
      goto L875;
    }
  goto ret0;

  L844: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L845;
    }
  goto ret0;

  L845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MOD && 1)
    goto L846;
  goto ret0;

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

  L847: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWER)
      return 100;
  goto ret0;

  L875: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	return 105;
      }
  goto ret0;

  L852: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L853;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == PLUS && 1)
	goto L928;
    }
  goto ret0;

  L853: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L854;
    }
  goto ret0;

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

  L855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	return 102;
      }
  goto ret0;

  L928: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ASHIFT && 1)
    goto L929;
  goto ret0;

  L929: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ZERO_EXTEND && 1)
    goto L930;
  goto ret0;

  L930: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L931;
    }
  goto ret0;

  L931: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 32 && 1)
    goto L932;
  goto ret0;

  L932: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L933;
  goto ret0;

  L933: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      ro[4] = x5;
      goto L934;
    }
  goto ret0;

  L934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L935;
    }
  goto ret0;

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

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

  L937: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == UMOD && 1)
    goto L938;
  goto ret0;

  L938: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == PLUS && 1)
    goto L939;
  goto ret0;

  L939: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ASHIFT && 1)
    goto L940;
  goto ret0;

  L940: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ZERO_EXTEND && 1)
    goto L941;
  goto ret0;

  L941: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L942;
  goto ret0;

  L942: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 32 && 1)
    goto L943;
  goto ret0;

  L943: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L944;
  goto ret0;

  L944: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[4]) && 1)
    goto L945;
  goto ret0;

  L945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (TARGET_POWER)
      return 111;
  goto ret0;

  L1080: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L1081;
    }
  goto ret0;

  L1081: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (and_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L1082;
    }
  goto ret0;

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

  L1083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      return 121;
    }
  goto ret0;

  L2066: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2067;
    }
  goto ret0;

  L2067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2068;
    }
  goto ret0;

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

  L2069: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 200;
      }
  goto ret0;

  L2212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2213;
    }
  goto ret0;

  L2213: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2214;
    }
  goto ret0;

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

  L2215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 210;
      }
  goto ret0;

  L2473: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2474;
    }
  goto ret0;

  L2474: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L2475;
    }
  goto ret0;

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

  L2476: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 229;
      }
  goto ret0;

  L3090: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L3091;
  goto ret0;

  L3091: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == MULT && 1)
    goto L3092;
  goto ret0;

  L3092: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != DImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3093;
    case ZERO_EXTEND:
      goto L3128;
    }
  goto ret0;

  L3093: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L3094;
    }
  goto ret0;

  L3094: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == SIGN_EXTEND && 1)
    goto L3095;
  goto ret0;

  L3095: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L3096;
    }
  goto ret0;

  L3096: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 32 && 1)
    goto L3097;
  goto ret0;

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

  L3098: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 323;
      }
  goto ret0;

  L3128: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L3129;
    }
  goto ret0;

  L3129: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ZERO_EXTEND && 1)
    goto L3130;
  goto ret0;

  L3130: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L3131;
    }
  goto ret0;

  L3131: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 32 && 1)
    goto L3132;
  goto ret0;

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

  L3133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	return 326;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_14 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case CCmode:
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L7;
	}
    L21: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[2] = x2;
	  goto L22;
	}
    L394: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L395;
	}
    L1677: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[4] = x2;
	  goto L1678;
	}
    L1860: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L1861;
	}
    L1879: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, CCmode))
	{
	  ro[4] = x2;
	  goto L1880;
	}
      break;
    case SImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
	goto L949;
    L656: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L657;
	}
    L4639: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[3] = x2;
	  goto L4640;
	}
    L1005: ATTRIBUTE_UNUSED_LABEL
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case REG:
	  if (XINT (x2, 0) == 3 && 1)
	    goto L1006;
	  break;
	case MEM:
	  goto L4652;
	}
      break;
    case DImode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4628;
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L3023;
	}
    L4602: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[3] = x2;
	  goto L4603;
	}
      break;
    case TImode:
      if (reg_or_mem_operand (x2, TImode))
	{
	  ro[0] = x2;
	  goto L4228;
	}
      break;
    case HImode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4702;
      if (gpc_reg_operand (x2, HImode))
	{
	  ro[3] = x2;
	  goto L4664;
	}
      break;
    case QImode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4739;
      if (gpc_reg_operand (x2, QImode))
	{
	  ro[3] = x2;
	  goto L4714;
	}
      break;
    case SFmode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4763;
      if (gpc_reg_operand (x2, SFmode))
	{
	  ro[3] = x2;
	  goto L4751;
	}
      break;
    case DFmode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4815;
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[3] = x2;
	  goto L4803;
	}
    }
  L5043: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L5044;
    }
  goto ret0;

  L7: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L8;
  x2 = XEXP (x1, 0);
  goto L21;
 L8: ATTRIBUTE_UNUSED_LABEL
  tem = recog_8 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L21;

  L22: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L23;
  x2 = XEXP (x1, 0);
  goto L394;
 L23: ATTRIBUTE_UNUSED_LABEL
  tem = recog_9 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L394;

  L395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L396;
  x2 = XEXP (x1, 0);
  goto L1677;
 L396: ATTRIBUTE_UNUSED_LABEL
  tem = recog_10 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L1677;

  L1678: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L1679;
  x2 = XEXP (x1, 0);
  goto L1860;
 L1679: ATTRIBUTE_UNUSED_LABEL
  tem = recog_12 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L1860;

  L1861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L1862;
  x2 = XEXP (x1, 0);
  goto L1879;

  L1862: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L1863;
  x2 = XEXP (x1, 0);
  goto L1879;

  L1863: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1864;
    }
  x2 = XEXP (x1, 0);
  goto L1879;

  L1864: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[2] = x4;
      goto L1865;
    }
  x2 = XEXP (x1, 0);
  goto L1879;

  L1865: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[3] = x4;
      goto L1866;
    }
  x2 = XEXP (x1, 0);
  goto L1879;

  L1866: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1867;
  x2 = XEXP (x1, 0);
  goto L1879;

  L1867: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1868;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1879;

  L1868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 185;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1879;

  L1880: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L1881;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1881: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L1882;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1882: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1883;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L1883: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[2] = x4;
      goto L1884;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L1884: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[3] = x4;
      goto L1885;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L1885: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1886;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1886: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1887;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L1888;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTRACT && 1)
    goto L1889;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1889: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L1890;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1890: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L1891;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1891: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (rtx_equal_p (x3, ro[3]) && 1)
    if (TARGET_POWERPC64)
      return 186;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == TRUNCATE && 1)
    goto L950;
  x2 = XEXP (x1, 0);
  goto L656;

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

  L951: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == MULT && 1)
    goto L952;
  x2 = XEXP (x1, 0);
  goto L656;

  L952: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == SIGN_EXTEND && 1)
    goto L953;
  x2 = XEXP (x1, 0);
  goto L656;

  L953: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == REG && XINT (x6, 0) == 3 && 1)
    goto L954;
  x2 = XEXP (x1, 0);
  goto L656;

  L954: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == SIGN_EXTEND && 1)
    goto L955;
  x2 = XEXP (x1, 0);
  goto L656;

  L955: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == REG && XINT (x6, 0) == 4 && 1)
    goto L956;
  x2 = XEXP (x1, 0);
  goto L656;

  L956: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 32 && 1)
    goto L957;
  x2 = XEXP (x1, 0);
  goto L656;

  L957: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L958;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L656;

  L958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      if (! TARGET_POWER && ! TARGET_POWERPC)
	return 115;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L656;
 L657: ATTRIBUTE_UNUSED_LABEL
  tem = recog_13 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L4639;

  L4640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    {
      x2 = XEXP (x1, 0);
      goto L1005;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case MEM:
      goto L4641;
    case ZERO_EXTEND:
      goto L4677;
    case SIGN_EXTEND:
      goto L4690;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4641: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L4642;
  x2 = XEXP (x1, 0);
  goto L1005;

  L4642: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4643;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4643: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4644;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4644: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4645;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4645: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4646;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4646: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4647;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4647: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4648;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4648: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    return 485;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4677: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != MEM)
    {
      x2 = XEXP (x1, 0);
    goto L1005;
    }
  switch (GET_MODE (x3))
    {
    default:
      break;
    case HImode:
      goto L4678;
    case QImode:
      goto L4728;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4678: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == PLUS && 1)
    goto L4679;
  x2 = XEXP (x1, 0);
  goto L1005;

  L4679: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L4680;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4680: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L4681;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4681: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4682;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4683;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4684;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4684: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4685;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4685: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 488;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4728: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == PLUS && 1)
    goto L4729;
  x2 = XEXP (x1, 0);
  goto L1005;

  L4729: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L4730;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4730: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L4731;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4731: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4732;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4732: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4733;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4733: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4734;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4734: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4735;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4735: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 492;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4690: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode && GET_CODE (x3) == MEM && 1)
    goto L4691;
  x2 = XEXP (x1, 0);
  goto L1005;

  L4691: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == PLUS && 1)
    goto L4692;
  x2 = XEXP (x1, 0);
  goto L1005;

  L4692: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L4693;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4693: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L4694;
    }
  x2 = XEXP (x1, 0);
  goto L1005;

  L4694: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4695;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4696;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4697;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4697: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4698;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L4698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 489;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1005;

  L1006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    {
      x2 = XEXP (x1, 0);
      goto L5043;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case DIV:
      goto L1007;
    case UDIV:
      goto L1037;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L1007: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1008;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1008: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L1009;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1009: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L1010;
    case CLOBBER:
      goto L1051;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && 1)
    goto L1011;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MOD && 1)
    goto L1012;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1012: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1013;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1013: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 2;
	return 117;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1051: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      if (! TARGET_POWER && ! TARGET_POWERPC)
	return 119;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1037: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1038;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1038: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L1039;
  x2 = XEXP (x1, 0);
  goto L5043;

  L1039: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1040;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && 1)
    goto L1041;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1041: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == UMOD && 1)
    goto L1042;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1043;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L1043: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      {
	*pnum_clobbers = 4;
	return 118;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L4653: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4654;
    }
  goto ret0;

  L4654: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4655;
    }
  goto ret0;

  L4655: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4656;
    }
  goto ret0;

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

  L4657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4658;
    }
  goto ret0;

  L4658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4659;
  goto ret0;

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

  L4660: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 486;
  goto ret0;

  L4628: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == PLUS && 1)
    goto L4629;
  goto ret0;

  L4629: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L4630;
    }
  goto ret0;

  L4630: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L4631;
    }
  goto ret0;

  L4631: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[3] = x2;
      goto L4632;
    }
  goto ret0;

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

  L4633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4634;
    }
  goto ret0;

  L4634: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L4635;
  goto ret0;

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

  L4636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64 && TARGET_UPDATE)
      return 484;
  goto ret0;

  L3023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    {
      x2 = XEXP (x1, 0);
      goto L4602;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case MULT:
      goto L3024;
    case ASHIFT:
      goto L3160;
    case LSHIFTRT:
      goto L3173;
    case ASHIFTRT:
      goto L3186;
    case ABS:
      goto L3304;
    case NEG:
      goto L3322;
    case AND:
      goto L3771;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3024: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    {
      x2 = XEXP (x1, 0);
      goto L4602;
    }
  switch (GET_CODE (x3))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3025;
    case ZERO_EXTEND:
      goto L3058;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3025: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L3026;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == SIGN_EXTEND && 1)
    goto L3027;
  x2 = XEXP (x1, 0);
  goto L4602;

  L3027: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3028;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3028: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3029;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 315;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3058: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L3059;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3059: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTEND && 1)
    goto L3060;
  x2 = XEXP (x1, 0);
  goto L4602;

  L3060: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L3061;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3061: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3062;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3062: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC && TARGET_POWER)
	return 319;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3161;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L3162;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3162: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3163;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3163: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 328;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3173: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3174;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L3175;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3175: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3176;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 329;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3186: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3187;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3187: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L3188;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3188: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3189;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 330;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3304: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3305;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3305: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3306;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3306: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 343;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3322: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ABS && 1)
    goto L3323;
  x2 = XEXP (x1, 0);
  goto L4602;

  L3323: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3324;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3324: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3325;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3325: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 345;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3771: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3772;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3772: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (and64_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L3773;
    }
  x2 = XEXP (x1, 0);
  goto L4602;

  L3773: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3774;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L3774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 389;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4602;

  L4603: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    {
      x2 = XEXP (x1, 0);
      goto L5043;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case MEM:
      goto L4604;
    case SIGN_EXTEND:
      goto L4616;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4604: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == PLUS && 1)
    goto L4605;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4605: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L4606;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4606: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L4607;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4607: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4608;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4608: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4609;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L4610;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4610: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4611;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4611: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64 && TARGET_UPDATE)
      return 482;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L4617;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4617: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == PLUS && 1)
    goto L4618;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4618: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L4619;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4619: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L4620;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4620: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4621;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4621: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L4622;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L4623;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4624;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4624: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 483;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4228: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_mem_operand (x2, TImode))
    {
      ro[1] = x2;
      goto L4229;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4229: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4230;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4230: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4243;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4243: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_STRING && TARGET_POWER && ! TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode)))
    return 458;
  L4244: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_STRING && ! TARGET_POWER && ! TARGET_POWERPC64
   && (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode)))
    return 459;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L4703: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4704;
    }
  goto ret0;

  L4704: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4705;
    }
  goto ret0;

  L4705: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, HImode))
    {
      ro[3] = x2;
      goto L4706;
    }
  goto ret0;

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

  L4707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4708;
    }
  goto ret0;

  L4708: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4709;
  goto ret0;

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

  L4710: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 490;
  goto ret0;

  L4664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode && GET_CODE (x2) == MEM && 1)
    goto L4665;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4665: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L4666;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4666: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4667;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4667: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4668;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4668: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4669;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4669: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4670;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4670: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4671;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4671: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4672;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4672: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 487;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L4740: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4741;
    }
  goto ret0;

  L4741: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4742;
    }
  goto ret0;

  L4742: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, QImode))
    {
      ro[3] = x2;
      goto L4743;
    }
  goto ret0;

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

  L4744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4745;
    }
  goto ret0;

  L4745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4746;
  goto ret0;

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

  L4747: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 493;
  goto ret0;

  L4714: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
    goto L4715;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4715: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L4716;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4716: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4717;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4717: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4718;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4718: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4719;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4719: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4720;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4720: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4721;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4721: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4722;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4722: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_UPDATE)
      return 491;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L4764: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4765;
    }
  goto ret0;

  L4765: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4766;
    }
  goto ret0;

  L4766: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[3] = x2;
      goto L4767;
    }
  goto ret0;

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

  L4768: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4769;
    }
  goto ret0;

  L4769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4770;
  goto ret0;

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

  L4771: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L4798;
  goto ret0;

  L4798: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_HARD_FLOAT && TARGET_UPDATE)
    return 495;
  L4799: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_SOFT_FLOAT && TARGET_UPDATE)
    return 497;
  goto ret0;

  L4751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode && GET_CODE (x2) == MEM && 1)
    goto L4752;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L4753;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4753: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4754;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4754: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4755;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4755: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4756;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4757;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4757: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4758;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4758: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4759;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4759: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L4784;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4784: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_HARD_FLOAT && TARGET_UPDATE)
    return 494;
  L4785: ATTRIBUTE_UNUSED_LABEL
  if (TARGET_SOFT_FLOAT && TARGET_UPDATE)
    return 496;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L4816: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4817;
    }
  goto ret0;

  L4817: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4818;
    }
  goto ret0;

  L4818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L4819;
    }
  goto ret0;

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

  L4820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4821;
    }
  goto ret0;

  L4821: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4822;
  goto ret0;

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

  L4823: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_HARD_FLOAT && TARGET_UPDATE)
      return 499;
  goto ret0;

  L4803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == MEM && 1)
    goto L4804;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4804: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L4805;
  x2 = XEXP (x1, 0);
  goto L5043;

  L4805: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4806;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4806: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L4807;
    }
  x2 = XEXP (x1, 0);
  goto L5043;

  L4807: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L4808;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4808: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L4809;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L4810;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4810: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L4811;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

  L4811: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_HARD_FLOAT && TARGET_UPDATE)
      return 498;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5043;

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

  L5045: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L5046;
  goto ret0;

  L5046: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5047;
    }
  goto ret0;

  L5047: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L5048;
    }
  goto ret0;

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

  L5049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS || DEFAULT_ABI == ABI_AIX_NODESC)
	{
	  *pnum_clobbers = 1;
	  return 517;
	}
      }
  goto ret0;
 ret0: return -1;
}

int
recog_15 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case MULT:
      goto L799;
    case AND:
      goto L1125;
    case ASHIFT:
      goto L2125;
    case LSHIFTRT:
      goto L2271;
    case ASHIFTRT:
      goto L2532;
    }
  goto ret0;

  L799: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L800;
    }
  goto ret0;

  L800: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L801;
    }
  goto ret0;

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

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

  L803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L804;
    }
  goto ret0;

  L804: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MULT && 1)
    goto L805;
  goto ret0;

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

  L806: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L807;
  goto ret0;

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

  L808: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 97;
      }
  goto ret0;

  L1125: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1126;
    }
  goto ret0;

  L1126: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1127;
    }
  goto ret0;

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

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

  L1129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1130;
    }
  goto ret0;

  L1130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1131;
  goto ret0;

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

  L1132: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L1133;
  goto ret0;

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

  L1134: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 124;
      }
  goto ret0;

  L2125: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2126;
    }
  goto ret0;

  L2126: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2127;
    }
  goto ret0;

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

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

  L2129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2130;
    }
  goto ret0;

  L2130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
    goto L2131;
  goto ret0;

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

  L2132: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2133;
  goto ret0;

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

  L2134: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 204;
      }
  goto ret0;

  L2271: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2272;
    }
  goto ret0;

  L2272: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2273;
    }
  goto ret0;

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

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

  L2275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2276;
    }
  goto ret0;

  L2276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L2277;
  goto ret0;

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

  L2278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2279;
  goto ret0;

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

  L2280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 214;
      }
  goto ret0;

  L2532: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2533;
    }
  goto ret0;

  L2533: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2534;
    }
  goto ret0;

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

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

  L2536: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2537;
    }
  goto ret0;

  L2537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFTRT && 1)
    goto L2538;
  goto ret0;

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

  L2539: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L2540;
  goto ret0;

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

  L2541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 233;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_16 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case CCmode:
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L759;
	}
    L796: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L797;
	}
      break;
    case DImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
	goto L972;
      break;
    case SImode:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L2966;
	}
      break;
    case BLKmode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4513;
    }
  L5032: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L5033;
    }
  goto ret0;

  L759: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L760;
  x2 = XEXP (x1, 0);
  goto L796;

  L760: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    {
      x2 = XEXP (x1, 0);
      goto L796;
    }
  switch (GET_CODE (x3))
    {
    default:
      break;
    case MULT:
      goto L761;
    case AND:
      goto L1094;
    case ASHIFT:
      goto L2087;
    case LSHIFTRT:
      goto L2233;
    case ASHIFTRT:
      goto L2494;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L761: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L762;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L762: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L763;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L763: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L764;
  x2 = XEXP (x1, 0);
  goto L796;

  L764: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L765;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L765: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L766;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L766: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L767;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L767: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 95;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L1094: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1095;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L1095: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1096;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L1096: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1097;
  x2 = XEXP (x1, 0);
  goto L796;

  L1097: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1098;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L1098: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1099;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L1099: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1100;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L1100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 122;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2087: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2088;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2088: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2089;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2089: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L2090;
  x2 = XEXP (x1, 0);
  goto L796;

  L2090: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2091;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L2092;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2092: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2093;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2093: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 202;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2233: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2234;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2234: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2235;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2235: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L2236;
  x2 = XEXP (x1, 0);
  goto L796;

  L2236: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2237;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L2238;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2238: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2239;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 212;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L2495;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2495: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L2496;
    }
  x2 = XEXP (x1, 0);
  goto L796;

  L2496: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L2497;
  x2 = XEXP (x1, 0);
  goto L796;

  L2497: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2498;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L2499;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2499: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2500;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L2500: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 231;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L796;

  L797: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L798;
  x2 = XEXP (x1, 0);
  goto L5032;
 L798: ATTRIBUTE_UNUSED_LABEL
  tem = recog_15 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L5032;

  L972: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MULT && 1)
    goto L973;
  x2 = XEXP (x1, 0);
  goto L5032;

  L973: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == SIGN_EXTEND && 1)
    goto L974;
  x2 = XEXP (x1, 0);
  goto L5032;

  L974: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == REG && XINT (x4, 0) == 3 && 1)
    goto L975;
  x2 = XEXP (x1, 0);
  goto L5032;

  L975: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == SIGN_EXTEND && 1)
    goto L976;
  x2 = XEXP (x1, 0);
  goto L5032;

  L976: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == REG && XINT (x4, 0) == 4 && 1)
    goto L977;
  x2 = XEXP (x1, 0);
  goto L5032;

  L977: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L979;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L979: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L980;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      return 116;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L2966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
    goto L2967;
  x2 = XEXP (x1, 0);
  goto L5032;

  L2967: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2968;
    }
  x2 = XEXP (x1, 0);
  goto L5032;

  L2968: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2969;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L2969: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L2970;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L2970: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2971;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L2971: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      if (TARGET_HARD_FLOAT)
	{
	  *pnum_clobbers = 1;
	  return 301;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5032;

  L4513: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4514;
    }
  goto ret0;

  L4514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4515;
  goto ret0;

  L4515: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4516;
    }
  goto ret0;

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

  L4517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4518;
    }
  goto ret0;

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

  L4519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    goto L4546;
  L4571: ATTRIBUTE_UNUSED_LABEL
  if (immediate_operand (x2, SImode))
    goto L4598;
  goto ret0;

  L4546: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if (TARGET_STRING && TARGET_POWER && ! TARGET_64BIT
   && INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8)
	{
	  *pnum_clobbers = 2;
	  return 477;
	}
      }
  L4547: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if (TARGET_STRING && ! TARGET_POWER && ! TARGET_64BIT
   && INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8)
	{
	  *pnum_clobbers = 2;
	  return 478;
	}
      }
  goto L4571;

  L4598: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4)
	{
	  *pnum_clobbers = 2;
	  return 480;
	}
      }
  L4599: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4)
	{
	  *pnum_clobbers = 2;
	  return 481;
	}
      }
  goto ret0;

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

  L5034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L5035;
  goto ret0;

  L5035: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5036;
    }
  goto ret0;

  L5036: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L5037;
    }
  goto ret0;

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

  L5038: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L5039;
    }
  goto ret0;

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

  L5040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS || DEFAULT_ABI == ABI_AIX_NODESC)
	return 517;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_17 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7346;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7414;
	}
    }
  goto ret0;

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

  L7347: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7348;
    case PC:
      goto L7382;
    }
  goto ret0;

  L7348: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7349;

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

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

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

  L7352: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7353;
  goto ret0;

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

  L7354: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7355;
  goto ret0;

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

  L7356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7357;
    }
  goto ret0;

  L7357: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7358;
  goto ret0;

  L7358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 692;
      }
  goto ret0;

  L7382: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7383;
  goto ret0;

  L7383: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7384;

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

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

  L7386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7387;
  goto ret0;

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

  L7388: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7389;
  goto ret0;

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

  L7390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7391;
    }
  goto ret0;

  L7391: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7392;
  goto ret0;

  L7392: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 693;
      }
  goto ret0;

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

  L7415: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7416;
    case PC:
      goto L7450;
    }
  goto ret0;

  L7416: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7417;

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

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

  L7419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7420;
    }
  goto ret0;

  L7420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7421;
  goto ret0;

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

  L7422: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7423;
  goto ret0;

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

  L7424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7425;
    }
  goto ret0;

  L7425: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7426;
  goto ret0;

  L7426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 694;
      }
  goto ret0;

  L7450: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7451;
  goto ret0;

  L7451: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7452;

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

  L7453: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7454;
    }
  goto ret0;

  L7454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7455;
  goto ret0;

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

  L7456: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7457;
  goto ret0;

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

  L7458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7459;
    }
  goto ret0;

  L7459: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7460;
  goto ret0;

  L7460: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 695;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_18 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7482;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7550;
	}
    }
  goto ret0;

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

  L7483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7484;
    case PC:
      goto L7518;
    }
  goto ret0;

  L7484: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7485;

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

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

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

  L7488: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7489;
  goto ret0;

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

  L7490: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7491;
  goto ret0;

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

  L7492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7493;
    }
  goto ret0;

  L7493: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7494;
  goto ret0;

  L7494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
	return 696;
      }
  goto ret0;

  L7518: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7519;
  goto ret0;

  L7519: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7520;

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

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

  L7522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7523;
  goto ret0;

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

  L7524: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7525;
  goto ret0;

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

  L7526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7527;
    }
  goto ret0;

  L7527: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7528;
  goto ret0;

  L7528: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
	return 697;
      }
  goto ret0;

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

  L7551: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7552;
    case PC:
      goto L7586;
    }
  goto ret0;

  L7552: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7553;

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

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

  L7555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7556;
    }
  goto ret0;

  L7556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7557;
  goto ret0;

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

  L7558: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7559;
  goto ret0;

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

  L7560: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7561;
    }
  goto ret0;

  L7561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7562;
  goto ret0;

  L7562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
	return 698;
      }
  goto ret0;

  L7586: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7587;
  goto ret0;

  L7587: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7588;

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

  L7589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7590;
    }
  goto ret0;

  L7590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7591;
  goto ret0;

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

  L7592: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7593;
  goto ret0;

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

  L7594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7595;
    }
  goto ret0;

  L7595: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7596;
  goto ret0;

  L7596: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
	return 699;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_19 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7618;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7686;
	}
    }
  goto ret0;

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

  L7619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7620;
    case PC:
      goto L7654;
    }
  goto ret0;

  L7620: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7621;

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

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

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

  L7624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7625;
  goto ret0;

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

  L7626: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7627;
  goto ret0;

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

  L7628: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7629;
    }
  goto ret0;

  L7629: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7630;
  goto ret0;

  L7630: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 700;
      }
  goto ret0;

  L7654: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7655;
  goto ret0;

  L7655: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7656;

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

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

  L7658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7659;
  goto ret0;

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

  L7660: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7661;
  goto ret0;

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

  L7662: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7663;
    }
  goto ret0;

  L7663: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7664;
  goto ret0;

  L7664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 701;
      }
  goto ret0;

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

  L7687: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7688;
    case PC:
      goto L7722;
    }
  goto ret0;

  L7688: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7689;

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

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

  L7691: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7692;
    }
  goto ret0;

  L7692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7693;
  goto ret0;

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

  L7694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7695;
  goto ret0;

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

  L7696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7697;
    }
  goto ret0;

  L7697: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7698;
  goto ret0;

  L7698: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 702;
      }
  goto ret0;

  L7722: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7723;
  goto ret0;

  L7723: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7724;

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

  L7725: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7726;
    }
  goto ret0;

  L7726: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7727;
  goto ret0;

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

  L7728: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7729;
  goto ret0;

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

  L7730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7731;
    }
  goto ret0;

  L7731: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7732;
  goto ret0;

  L7732: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 703;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_20 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
	goto L991;
    L2954: ATTRIBUTE_UNUSED_LABEL
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L2955;
	}
      break;
    case DFmode:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[0] = x2;
	  goto L2911;
	}
      break;
    case BLKmode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case MEM:
	  goto L4299;
	}
    }
  if (GET_CODE (x2) == PC && 1)
    goto L7343;
  L5003: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L5004;
    }
  goto ret0;

  L991: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == DIV && 1)
    goto L992;
  x2 = XEXP (x1, 0);
  goto L2954;

  L992: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L993;
  x2 = XEXP (x1, 0);
  goto L2954;

  L993: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L994;
  x2 = XEXP (x1, 0);
  goto L2954;

  L994: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L995;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && 1)
    goto L996;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L996: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MOD && 1)
    goto L997;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L997: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L998;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L998: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L999;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L999: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1000;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L1000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1001;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L1001: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1002;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L1002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 0 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      return 117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L2954;

  L2955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
    goto L2956;
  x2 = XEXP (x1, 0);
  goto L5003;

  L2956: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2957;
    }
  x2 = XEXP (x1, 0);
  goto L5003;

  L2957: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2958;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L2959;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2959: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2960;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L2961;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2961: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2962;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (TARGET_HARD_FLOAT)
      return 301;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2911: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == UNSIGNED_FLOAT && 1)
    goto L2912;
  x2 = XEXP (x1, 0);
  goto L5003;

  L2912: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2913;
    }
  x2 = XEXP (x1, 0);
  goto L5003;

  L2913: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2914;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2914: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2915;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2915: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2916;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2917;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2917: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2918;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L2918: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
	{
	  *pnum_clobbers = 1;
	  return 294;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5003;

  L4299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4300;
    }
  goto ret0;

  L4300: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4301;
  goto ret0;

  L4301: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4302;
    }
  goto ret0;

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

  L4303: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4304;
    }
  goto ret0;

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

  L4305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4306;
    }
  goto ret0;

  L4306: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4307;
  goto ret0;

  L4307: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (gpc_reg_operand (x2, SImode))
    goto L4350;
  L4387: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x2, SImode))
    goto L4426;
  L4459: ATTRIBUTE_UNUSED_LABEL
  if (gpc_reg_operand (x2, SImode))
    goto L4494;
  goto ret0;

  L4350: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && TARGET_POWER
   && ((INTVAL (operands[2]) > 24 && INTVAL (operands[2]) < 32) || INTVAL (operands[2]) == 0)
   && (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 5)
	{
	  *pnum_clobbers = 8;
	  return 468;
	}
      }
  L4351: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && ! TARGET_POWER
   && ((INTVAL (operands[2]) > 24 && INTVAL (operands[2]) < 32) || INTVAL (operands[2]) == 0)
   && (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 5)
	{
	  *pnum_clobbers = 8;
	  return 469;
	}
      }
  goto L4387;

  L4426: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 16 && INTVAL (operands[2]) <= 24
   && (REGNO (operands[0]) < 7 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 7 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 7)
	{
	  *pnum_clobbers = 6;
	  return 471;
	}
      }
  L4427: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 16 && INTVAL (operands[2]) <= 32
   && (REGNO (operands[0]) < 7 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 7 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 7)
	{
	  *pnum_clobbers = 6;
	  return 472;
	}
      }
  goto L4459;

  L4494: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16
   && (REGNO (operands[0]) < 9 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 9 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 9)
	{
	  *pnum_clobbers = 4;
	  return 474;
	}
      }
  L4495: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[4] = x2;
      if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16
   && (REGNO (operands[0]) < 9 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 9 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 9)
	{
	  *pnum_clobbers = 4;
	  return 475;
	}
      }
  goto ret0;

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

  L7344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case NE:
      goto L7345;
    case GE:
      goto L7481;
    case EQ:
      goto L7617;
    }
  goto ret0;
 L7345: ATTRIBUTE_UNUSED_LABEL
  return recog_17 (x0, insn, pnum_clobbers);
 L7481: ATTRIBUTE_UNUSED_LABEL
  return recog_18 (x0, insn, pnum_clobbers);
 L7617: ATTRIBUTE_UNUSED_LABEL
  return recog_19 (x0, insn, pnum_clobbers);

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

  L5005: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L5006;
  goto ret0;

  L5006: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5007;
    }
  goto ret0;

  L5007: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L5008;
    }
  goto ret0;

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

  L5009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L5010;
    }
  goto ret0;

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

  L5011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L5012;
    }
  goto ret0;

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

  L5013: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      if (DEFAULT_ABI == ABI_NT
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 515;
	}
      }
  goto ret0;
 ret0: return -1;
}

int
recog_21 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L1016;
    case CALL:
      goto L4960;
    }
  goto ret0;

  L1016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
	goto L1017;
      break;
    case DFmode:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[0] = x2;
	  goto L2855;
	}
    }
  L4986: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L4987;
    }
  goto ret0;

  L1017: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == UDIV && 1)
    goto L1018;
  x2 = XEXP (x1, 0);
  goto L4986;

  L1018: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1019;
  x2 = XEXP (x1, 0);
  goto L4986;

  L1019: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L1020;
  x2 = XEXP (x1, 0);
  goto L4986;

  L1020: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1021;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1021: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 4 && 1)
    goto L1022;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1022: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == UMOD && 1)
    goto L1023;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1023: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1024;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1024: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L1025;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1025: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1026;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1027;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1027: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1028;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 0 && 1)
    goto L1029;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1029: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1030;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[1] = x2;
      goto L1031;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1031: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1032;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L1032: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == REG && XINT (x2, 0) == 69 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      return 118;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT && 1)
    goto L2856;
  x2 = XEXP (x1, 0);
  goto L4986;

  L2856: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2857;
    }
  x2 = XEXP (x1, 0);
  goto L4986;

  L2857: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2858;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2859;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2859: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2860;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2861;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2861: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2862;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L2863;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2863: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2864;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L2865;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2865: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2866;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

  L2866: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
      return 291;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4986;

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

  L4988: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L4989;
  goto ret0;

  L4989: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L4990;
    }
  goto ret0;

  L4990: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L4991;
    }
  goto ret0;

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

  L4992: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L4993;
    }
  goto ret0;

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

  L4994: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4995;
    }
  goto ret0;

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

  L4996: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4997;
    }
  goto ret0;

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

  L4998: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[6] = x2;
      goto L4999;
    }
  goto ret0;

  L4999: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5000;
  goto ret0;

  L5000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[7] = x2;
      if (DEFAULT_ABI == ABI_NT
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	return 515;
      }
  goto ret0;

  L4960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L4961;
  goto ret0;

  L4961: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4962;
    }
  goto ret0;

  L4962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4963;
    }
  goto ret0;

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

  L4964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4965;
    }
  goto ret0;

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

  L4966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4967;
    }
  goto ret0;

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

  L4968: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4969;
    }
  goto ret0;

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

  L4970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[5] = x2;
      goto L4971;
    }
  goto ret0;

  L4971: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4972;
  goto ret0;

  L4972: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[6] = x2;
      if (DEFAULT_ABI == ABI_NT
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	return 514;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_22 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
	goto L1060;
      break;
    case DFmode:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[0] = x2;
	  goto L2870;
	}
      break;
    case BLKmode:
      if (GET_CODE (x2) == MEM && 1)
	goto L4499;
    }
  L4911: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L4912;
    }
  goto ret0;

  L1060: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == UDIV && 1)
    goto L1061;
  x2 = XEXP (x1, 0);
  goto L4911;

  L1061: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
    goto L1062;
  x2 = XEXP (x1, 0);
  goto L4911;

  L1062: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 4 && 1)
    goto L1063;
  x2 = XEXP (x1, 0);
  goto L4911;

  L1063: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1064;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1064: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1065;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1065: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1066;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1066: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 0 && 1)
    goto L1067;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1067: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1068;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1068: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[1] = x2;
      goto L1069;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1069: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1070;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L1070: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == REG && XINT (x2, 0) == 69 && 1)
    if (! TARGET_POWER && ! TARGET_POWERPC)
      return 120;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    {
      x2 = XEXP (x1, 0);
      goto L4911;
    }
  switch (GET_CODE (x2))
    {
    default:
      break;
    case FLOAT:
      goto L2871;
    case UNSIGNED_FLOAT:
      goto L2899;
    }
  x2 = XEXP (x1, 0);
  goto L4911;

  L2871: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2872;
    }
  x2 = XEXP (x1, 0);
  goto L4911;

  L2872: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2873;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2874;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2874: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2875;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2875: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2876;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2876: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2877;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2877: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L2878;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2878: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2879;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
	{
	  *pnum_clobbers = 1;
	  return 291;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2899: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2900;
    }
  x2 = XEXP (x1, 0);
  goto L4911;

  L2900: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2901;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2901: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2902;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2902: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2903;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2904;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2904: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2905;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2905: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L2906;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2906: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2907;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L2907: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
      return 294;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4911;

  L4499: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4500;
    }
  goto ret0;

  L4500: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4501;
  goto ret0;

  L4501: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4502;
    }
  goto ret0;

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

  L4503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4504;
    }
  goto ret0;

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

  L4505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4506;
    }
  goto ret0;

  L4506: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4507;
  goto ret0;

  L4507: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      if (scratch_operand (x2, DImode))
	{
	  ro[4] = x2;
	  goto L4508;
	}
      break;
    case SImode:
      if (scratch_operand (x2, SImode))
	{
	  ro[4] = x2;
	  goto L4560;
	}
    }
  goto ret0;

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

  L4509: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4544;
  goto ret0;

  L4544: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && TARGET_POWER && ! TARGET_64BIT
   && INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8)
    return 477;
  L4545: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && ! TARGET_POWER && ! TARGET_64BIT
   && INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8)
    return 478;
  goto ret0;

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

  L4561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4596;
  goto ret0;

  L4596: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4)
    return 480;
  L4597: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4)
    return 481;
  goto ret0;

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

  L4913: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L4914;
  goto ret0;

  L4914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L4915;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L4949;
	}
    }
  goto ret0;

  L4915: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L4916;
    }
  goto ret0;

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

  L4917: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L4918;
    }
  goto ret0;

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

  L4919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4920;
    }
  goto ret0;

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

  L4921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4922;
    }
  goto ret0;

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

  L4923: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[6] = x2;
      if (DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 512;
	}
      }
  goto ret0;

  L4949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L4950;
    }
  goto ret0;

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

  L4951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L4952;
    }
  goto ret0;

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

  L4953: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4954;
    }
  goto ret0;

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

  L4955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4956;
    }
  goto ret0;

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

  L4957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[6] = x2;
      if (TARGET_64BIT && DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 513;
	}
      }
  goto ret0;
 ret0: return -1;
}

int
recog_23 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case CALL:
      goto L4832;
    case SET:
      goto L4892;
    }
  goto ret0;

  L4832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L4833;
  goto ret0;

  L4833: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L4834;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L4864;
	}
    }
  goto ret0;

  L4834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4835;
    }
  goto ret0;

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

  L4836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4837;
    }
  goto ret0;

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

  L4838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4839;
    }
  goto ret0;

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

  L4840: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4841;
    }
  goto ret0;

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

  L4842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4843;
    }
  goto ret0;

  L4843: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4844;
  goto ret0;

  L4844: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[6] = x2;
      goto L4845;
    }
  goto ret0;

  L4845: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4846;
  goto ret0;

  L4846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[7] = x2;
      if (DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	return 510;
      }
  goto ret0;

  L4864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4865;
    }
  goto ret0;

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

  L4866: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4867;
    }
  goto ret0;

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

  L4868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4869;
    }
  goto ret0;

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

  L4870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4871;
    }
  goto ret0;

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

  L4872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4873;
    }
  goto ret0;

  L4873: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4874;
  goto ret0;

  L4874: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[6] = x2;
      goto L4875;
    }
  goto ret0;

  L4875: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4876;
  goto ret0;

  L4876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[7] = x2;
      if (TARGET_64BIT && DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	return 511;
      }
  goto ret0;

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

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

  L4894: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L4895;
  goto ret0;

  L4895: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L4896;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L4930;
	}
    }
  goto ret0;

  L4896: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L4897;
    }
  goto ret0;

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

  L4898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L4899;
    }
  goto ret0;

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

  L4900: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4901;
    }
  goto ret0;

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

  L4902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4903;
    }
  goto ret0;

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

  L4904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[6] = x2;
      goto L4905;
    }
  goto ret0;

  L4905: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4906;
  goto ret0;

  L4906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[7] = x2;
      goto L4907;
    }
  goto ret0;

  L4907: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4908;
  goto ret0;

  L4908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[8] = x2;
      if (DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	return 512;
      }
  goto ret0;

  L4930: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[2] = x3;
      goto L4931;
    }
  goto ret0;

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

  L4932: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[3] = x2;
      goto L4933;
    }
  goto ret0;

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

  L4934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4935;
    }
  goto ret0;

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

  L4936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L4937;
    }
  goto ret0;

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

  L4938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[6] = x2;
      goto L4939;
    }
  goto ret0;

  L4939: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4940;
  goto ret0;

  L4940: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[7] = x2;
      goto L4941;
    }
  goto ret0;

  L4941: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4942;
  goto ret0;

  L4942: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[8] = x2;
      if (TARGET_64BIT && DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[3]) == CALL_NORMAL || (INTVAL (operands[3]) & CALL_LONG) != 0))
	return 513;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_24 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case EQ:
	  goto L5408;
	case PLUS:
	  goto L5680;
	case LE:
	  goto L5781;
	case GE:
	  goto L6309;
	case AND:
	  goto L6509;
	}
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case EQ:
	  goto L5436;
	case PLUS:
	  goto L5724;
	case AND:
	  goto L6553;
	}
    }
  goto ret0;

  L5408: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5409;
    }
  goto ret0;

  L5409: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5410;
    }
  goto ret0;

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

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

  L5412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5413;
    }
  goto ret0;

  L5413: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == EQ && 1)
    goto L5414;
  goto ret0;

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

  L5415: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L5416;
  goto ret0;

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

  L5417: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 576;
      }
  goto ret0;

  L5680: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5681;
    case GT:
      goto L6926;
    }
  goto ret0;

  L5681: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NEG && 1)
    goto L5682;
  goto ret0;

  L5682: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == ABS && 1)
    goto L5683;
  goto ret0;

  L5683: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L5684;
    }
  goto ret0;

  L5684: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L5685;
  goto ret0;

  L5685: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5686;
    }
  goto ret0;

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

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

  L5688: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5689;
    }
  goto ret0;

  L5689: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5690;
  goto ret0;

  L5690: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L5691;
  goto ret0;

  L5691: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L5692;
  goto ret0;

  L5692: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == ABS && 1)
    goto L5693;
  goto ret0;

  L5693: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L5694;
  goto ret0;

  L5694: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 31 && 1)
    goto L5695;
  goto ret0;

  L5695: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L5696;
  goto ret0;

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

  L5697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 589;
      }
  goto ret0;

  L6926: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6927;
    }
  goto ret0;

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

  L6928: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6929;
    }
  goto ret0;

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

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

  L6931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6932;
    }
  goto ret0;

  L6932: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6933;
  goto ret0;

  L6933: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GT && 1)
    goto L6934;
  goto ret0;

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

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

  L6936: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L6937;
  goto ret0;

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

  L6938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 654;
      }
  goto ret0;

  L5781: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5782;
    }
  goto ret0;

  L5782: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5783;
    }
  goto ret0;

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

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

  L5785: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5786;
    }
  goto ret0;

  L5786: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LE && 1)
    goto L5787;
  goto ret0;

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

  L5788: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L5789;
  goto ret0;

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

  L5790: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 592;
      }
  goto ret0;

  L6309: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6310;
    }
  goto ret0;

  L6310: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6311;
    }
  goto ret0;

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

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

  L6313: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6314;
    }
  goto ret0;

  L6314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GE && 1)
    goto L6315;
  goto ret0;

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

  L6316: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L6317;
  goto ret0;

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

  L6318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 622;
      }
  goto ret0;

  L6509: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L6510;
  goto ret0;

  L6510: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == LSHIFTRT && 1)
    goto L6511;
  goto ret0;

  L6511: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == NOT && 1)
    goto L6512;
  goto ret0;

  L6512: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L6513;
    }
  goto ret0;

  L6513: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 31 && 1)
    goto L6514;
  goto ret0;

  L6514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6515;
    }
  goto ret0;

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

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

  L6517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6518;
    }
  goto ret0;

  L6518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6519;
  goto ret0;

  L6519: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6520;
  goto ret0;

  L6520: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6521;
  goto ret0;

  L6521: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L6522;
  goto ret0;

  L6522: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L6523;
  goto ret0;

  L6523: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L6524;
  goto ret0;

  L6524: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L6525;
  goto ret0;

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

  L6526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      return 631;
    }
  goto ret0;

  L5436: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L5437;
    }
  goto ret0;

  L5437: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5438;
    }
  goto ret0;

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

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

  L5440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5441;
    }
  goto ret0;

  L5441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == EQ && 1)
    goto L5442;
  goto ret0;

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

  L5443: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L5444;
  goto ret0;

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

  L5445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 577;
      }
  goto ret0;

  L5724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5725;
    case GT:
      goto L6962;
    }
  goto ret0;

  L5725: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NEG && 1)
    goto L5726;
  goto ret0;

  L5726: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == ABS && 1)
    goto L5727;
  goto ret0;

  L5727: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L5728;
    }
  goto ret0;

  L5728: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L5729;
  goto ret0;

  L5729: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5730;
    }
  goto ret0;

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

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

  L5732: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5733;
    }
  goto ret0;

  L5733: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L5734;
  goto ret0;

  L5734: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L5735;
  goto ret0;

  L5735: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L5736;
  goto ret0;

  L5736: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ABS && 1)
    goto L5737;
  goto ret0;

  L5737: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L5738;
  goto ret0;

  L5738: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 63 && 1)
    goto L5739;
  goto ret0;

  L5739: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L5740;
  goto ret0;

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

  L5741: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 590;
      }
  goto ret0;

  L6962: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L6963;
    }
  goto ret0;

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

  L6964: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6965;
    }
  goto ret0;

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

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

  L6967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6968;
    }
  goto ret0;

  L6968: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L6969;
  goto ret0;

  L6969: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == GT && 1)
    goto L6970;
  goto ret0;

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

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

  L6972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L6973;
  goto ret0;

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

  L6974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 655;
      }
  goto ret0;

  L6553: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L6554;
  goto ret0;

  L6554: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == LSHIFTRT && 1)
    goto L6555;
  goto ret0;

  L6555: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == NOT && 1)
    goto L6556;
  goto ret0;

  L6556: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L6557;
    }
  goto ret0;

  L6557: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 63 && 1)
    goto L6558;
  goto ret0;

  L6558: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6559;
    }
  goto ret0;

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

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

  L6561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6562;
    }
  goto ret0;

  L6562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L6563;
  goto ret0;

  L6563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NEG && 1)
    goto L6564;
  goto ret0;

  L6564: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6565;
  goto ret0;

  L6565: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NOT && 1)
    goto L6566;
  goto ret0;

  L6566: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L6567;
  goto ret0;

  L6567: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L6568;
  goto ret0;

  L6568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L6569;
  goto ret0;

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

  L6570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 632;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_25 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case EQ:
      goto L5513;
    case LE:
      goto L5848;
    case LEU:
      goto L5977;
    case LT:
      goto L6157;
    case LTU:
      goto L6255;
    case GE:
      goto L6376;
    case GEU:
      goto L6672;
    case GT:
      goto L7036;
    case GTU:
      goto L7202;
    }
  goto ret0;

  L5513: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5514;
    }
  goto ret0;

  L5514: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5515;
    }
  goto ret0;

  L5515: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5516;
    }
  goto ret0;

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

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

  L5518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5519;
    }
  goto ret0;

  L5519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5520;
  goto ret0;

  L5520: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == EQ && 1)
    goto L5521;
  goto ret0;

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

  L5522: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L5523;
  goto ret0;

  L5523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L5524;
  goto ret0;

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

  L5525: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 581;
      }
  goto ret0;

  L5848: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5849;
    }
  goto ret0;

  L5849: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5850;
    }
  goto ret0;

  L5850: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5851;
    }
  goto ret0;

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

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

  L5853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5854;
    }
  goto ret0;

  L5854: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5855;
  goto ret0;

  L5855: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LE && 1)
    goto L5856;
  goto ret0;

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

  L5857: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L5858;
  goto ret0;

  L5858: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L5859;
  goto ret0;

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

  L5860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 595;
      }
  goto ret0;

  L5977: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5978;
    }
  goto ret0;

  L5978: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5979;
    }
  goto ret0;

  L5979: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5980;
    }
  goto ret0;

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

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

  L5982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5983;
    }
  goto ret0;

  L5983: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5984;
  goto ret0;

  L5984: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LEU && 1)
    goto L5985;
  goto ret0;

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

  L5986: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L5987;
  goto ret0;

  L5987: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L5988;
  goto ret0;

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

  L5989: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 604;
      }
  goto ret0;

  L6157: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6158;
    }
  goto ret0;

  L6158: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6159;
    }
  goto ret0;

  L6159: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6160;
    }
  goto ret0;

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

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

  L6162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6163;
    }
  goto ret0;

  L6163: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6164;
  goto ret0;

  L6164: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LT && 1)
    goto L6165;
  goto ret0;

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

  L6166: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6167;
  goto ret0;

  L6167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6168;
  goto ret0;

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

  L6169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 613;
      }
  goto ret0;

  L6255: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6256;
    }
  goto ret0;

  L6256: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6257;
    }
  goto ret0;

  L6257: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6258;
    }
  goto ret0;

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

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

  L6260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6261;
    }
  goto ret0;

  L6261: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6262;
  goto ret0;

  L6262: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LTU && 1)
    goto L6263;
  goto ret0;

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

  L6264: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6265;
  goto ret0;

  L6265: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6266;
  goto ret0;

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

  L6267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 619;
      }
  goto ret0;

  L6376: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6377;
    }
  goto ret0;

  L6377: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6378;
    }
  goto ret0;

  L6378: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6379;
    }
  goto ret0;

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

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

  L6381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6382;
    }
  goto ret0;

  L6382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6383;
  goto ret0;

  L6383: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GE && 1)
    goto L6384;
  goto ret0;

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

  L6385: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6386;
  goto ret0;

  L6386: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6387;
  goto ret0;

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

  L6388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 625;
      }
  goto ret0;

  L6672: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6673;
    }
  goto ret0;

  L6673: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6674;
    }
  goto ret0;

  L6674: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6675;
    }
  goto ret0;

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

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

  L6677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6678;
    }
  goto ret0;

  L6678: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6679;
  goto ret0;

  L6679: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GEU && 1)
    goto L6680;
  goto ret0;

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

  L6681: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6682;
  goto ret0;

  L6682: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6683;
  goto ret0;

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

  L6684: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 639;
      }
  goto ret0;

  L7036: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L7037;
    }
  goto ret0;

  L7037: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7038;
    }
  goto ret0;

  L7038: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7039;
    }
  goto ret0;

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

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

  L7041: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7042;
    }
  goto ret0;

  L7042: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7043;
  goto ret0;

  L7043: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GT && 1)
    goto L7044;
  goto ret0;

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

  L7045: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7046;
  goto ret0;

  L7046: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L7047;
  goto ret0;

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

  L7048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 658;
      }
  goto ret0;

  L7202: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L7203;
    }
  goto ret0;

  L7203: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7204;
    }
  goto ret0;

  L7204: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7205;
    }
  goto ret0;

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

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

  L7207: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7208;
    }
  goto ret0;

  L7208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7209;
  goto ret0;

  L7209: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GTU && 1)
    goto L7210;
  goto ret0;

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

  L7211: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7212;
  goto ret0;

  L7212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L7213;
  goto ret0;

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

  L7214: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 670;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_26 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  ro[0] = x2;
  goto L5085;
  L5405: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) != CCmode)
    goto ret0;
  if (cc_reg_operand (x2, CCmode))
    {
      ro[4] = x2;
      goto L5406;
    }
  L5509: ATTRIBUTE_UNUSED_LABEL
  if (cc_reg_operand (x2, CCmode))
    {
      ro[5] = x2;
      goto L5510;
    }
  goto ret0;

  L5085: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L5086;
  x2 = XEXP (x1, 0);
  goto L5405;

  L5086: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L5087;
  x2 = XEXP (x1, 0);
  goto L5405;

  L5087: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x4) == SYMBOL_REF && current_file_function_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L5088;
	}
    L5179: ATTRIBUTE_UNUSED_LABEL
      if (call_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L5180;
	}
      break;
    case DImode:
      if (GET_CODE (x4) == SYMBOL_REF && current_file_function_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L5108;
	}
    L5199: ATTRIBUTE_UNUSED_LABEL
      if (call_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L5200;
	}
    }
  x2 = XEXP (x1, 0);
  goto L5405;

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

  L5089: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5090;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5179;

  L5090: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L5091;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5179;

  L5091: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5092;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5179;

  L5092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if ((INTVAL (operands[3]) & CALL_LONG) == 0)
	return 522;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5179;

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

  L5181: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5182;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5182: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L5183;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5183: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5184;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5184: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L5234;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5234: ATTRIBUTE_UNUSED_LABEL
  ro[4] = x2;
  if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
    return 527;
  L5235: ATTRIBUTE_UNUSED_LABEL
  ro[4] = x2;
  if ((DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
    return 529;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

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

  L5109: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5110;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5199;

  L5110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L5111;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5199;

  L5111: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5112;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5199;

  L5112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_64BIT && (INTVAL (operands[3]) & CALL_LONG) == 0)
	return 523;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5199;

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

  L5201: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5202;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L5203;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5203: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5204;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5204: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_64BIT && (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
	return 528;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5405;

  L5406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5407;
  x2 = XEXP (x1, 0);
  goto L5509;
 L5407: ATTRIBUTE_UNUSED_LABEL
  tem = recog_24 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L5509;

  L5510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5511;
  goto ret0;

  L5511: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case PLUS:
	  goto L5512;
	case AND:
	  goto L6060;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == PLUS && 1)
	goto L7237;
    }
  goto ret0;
 L5512: ATTRIBUTE_UNUSED_LABEL
  return recog_25 (x0, insn, pnum_clobbers);

  L6060: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L6061;
  goto ret0;

  L6061: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case LEU:
      goto L6062;
    case GEU:
      goto L6757;
    }
  goto ret0;

  L6062: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6063;
    }
  goto ret0;

  L6063: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6064;
    }
  goto ret0;

  L6064: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6065;
    }
  goto ret0;

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

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

  L6067: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6068;
    }
  goto ret0;

  L6068: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6069;
  goto ret0;

  L6069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6070;
  goto ret0;

  L6070: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LEU && 1)
    goto L6071;
  goto ret0;

  L6071: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L6072;
  goto ret0;

  L6072: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L6073;
  goto ret0;

  L6073: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6074;
  goto ret0;

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

  L6075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 608;
      }
  goto ret0;

  L6757: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6758;
    }
  goto ret0;

  L6758: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_neg_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6759;
    }
  goto ret0;

  L6759: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6760;
    }
  goto ret0;

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

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

  L6762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6763;
    }
  goto ret0;

  L6763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6764;
  goto ret0;

  L6764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6765;
  goto ret0;

  L6765: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == GEU && 1)
    goto L6766;
  goto ret0;

  L6766: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L6767;
  goto ret0;

  L6767: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L6768;
  goto ret0;

  L6768: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L6769;
  goto ret0;

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

  L6770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 643;
      }
  goto ret0;

  L7237: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == GTU && 1)
    goto L7238;
  goto ret0;

  L7238: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L7239;
    }
  goto ret0;

  L7239: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L7240;
    }
  goto ret0;

  L7240: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L7241;
    }
  goto ret0;

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

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

  L7243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L7244;
    }
  goto ret0;

  L7244: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7245;
  goto ret0;

  L7245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == GTU && 1)
    goto L7246;
  goto ret0;

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

  L7247: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7248;
  goto ret0;

  L7248: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    goto L7249;
  goto ret0;

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

  L7250: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 671;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_27 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case EQ:
      goto L5492;
    case LSHIFTRT:
      goto L5631;
    case LE:
      goto L5827;
    case LEU:
      goto L5956;
    case LT:
      goto L6136;
    case LTU:
      goto L6234;
    case GE:
      goto L6355;
    case GEU:
      goto L6651;
    case GT:
      goto L6884;
    case GTU:
      goto L7160;
    }
  goto ret0;

  L5492: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5493;
    }
  goto ret0;

  L5493: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5494;
    }
  goto ret0;

  L5494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5495;
    }
  goto ret0;

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

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

  L5497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 580;
      }
  goto ret0;

  L5631: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NEG && 1)
    goto L5632;
  goto ret0;

  L5632: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == ABS && 1)
    goto L5633;
  goto ret0;

  L5633: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L5634;
    }
  goto ret0;

  L5634: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L5635;
  goto ret0;

  L5635: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5636;
    }
  goto ret0;

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

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

  L5638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 587;
      }
  goto ret0;

  L5827: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5828;
    }
  goto ret0;

  L5828: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5829;
    }
  goto ret0;

  L5829: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5830;
    }
  goto ret0;

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

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

  L5832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 594;
      }
  goto ret0;

  L5956: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5957;
    }
  goto ret0;

  L5957: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5958;
    }
  goto ret0;

  L5958: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5959;
    }
  goto ret0;

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

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

  L5961: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 603;
      }
  goto ret0;

  L6136: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6137;
    }
  goto ret0;

  L6137: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6138;
    }
  goto ret0;

  L6138: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6139;
    }
  goto ret0;

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

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

  L6141: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 612;
      }
  goto ret0;

  L6234: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6235;
    }
  goto ret0;

  L6235: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6236;
    }
  goto ret0;

  L6236: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6237;
    }
  goto ret0;

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

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

  L6239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 618;
      }
  goto ret0;

  L6355: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6356;
    }
  goto ret0;

  L6356: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6357;
    }
  goto ret0;

  L6357: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6358;
    }
  goto ret0;

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

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

  L6360: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 624;
      }
  goto ret0;

  L6651: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6652;
    }
  goto ret0;

  L6652: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6653;
    }
  goto ret0;

  L6653: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6654;
    }
  goto ret0;

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

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

  L6656: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 638;
      }
  goto ret0;

  L6884: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6885;
    }
  goto ret0;

  L6885: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 0 && 1)
    goto L6886;
  L7016: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7017;
    }
  goto ret0;

  L6886: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6887;
    }
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L7016;

  L6887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6888;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L7016;

  L6888: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L6889;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L7016;

  L6889: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 652;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L7016;

  L7017: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7018;
    }
  goto ret0;

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

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

  L7020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 657;
      }
  goto ret0;

  L7160: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L7161;
    }
  goto ret0;

  L7161: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7162;
    }
  goto ret0;

  L7162: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7163;
    }
  goto ret0;

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

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

  L7165: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 668;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_28 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case ASHIFT:
	  goto L5356;
	case PLUS:
	  goto L5491;
	case AND:
	  goto L6037;
	case EQ:
	case NE:
	case LE:
	case LT:
	case GE:
	case GT:
	case LEU:
	case LTU:
	case GEU:
	case GTU:
	  if (scc_comparison_operator (x3, SImode))
	    {
	      ro[1] = x3;
	      goto L5336;
	    }
	}
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case PLUS:
	  goto L5655;
	case AND:
	  goto L6484;
	}
    }
  goto ret0;

  L5356: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (scc_comparison_operator (x4, SImode))
    {
      ro[1] = x4;
      goto L5357;
    }
  goto ret0;

  L5357: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (cc_reg_operand (x5, VOIDmode))
    {
      ro[2] = x5;
      goto L5358;
    }
  goto ret0;

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

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

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

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

  L5362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L5363;
    }
  goto ret0;

  L5363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
    goto L5364;
  goto ret0;

  L5364: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    {
      ro[1] = x3;
      goto L5365;
    }
  goto ret0;

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

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

  L5367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && 1)
    return 571;
  goto ret0;
 L5491: ATTRIBUTE_UNUSED_LABEL
  return recog_27 (x0, insn, pnum_clobbers);

  L6037: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L6038;
  goto ret0;

  L6038: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    goto ret0;
  switch (GET_CODE (x5))
    {
    default:
      break;
    case LEU:
      goto L6039;
    case LSHIFTRT:
      goto L6461;
    case GEU:
      goto L6734;
    }
  goto ret0;

  L6039: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6040;
    }
  goto ret0;

  L6040: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6041;
    }
  goto ret0;

  L6041: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6042;
    }
  goto ret0;

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

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

  L6044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 607;
      }
  goto ret0;

  L6461: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == NOT && 1)
    goto L6462;
  goto ret0;

  L6462: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L6463;
    }
  goto ret0;

  L6463: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 31 && 1)
    goto L6464;
  goto ret0;

  L6464: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6465;
    }
  goto ret0;

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

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

  L6467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      return 629;
    }
  goto ret0;

  L6734: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6735;
    }
  goto ret0;

  L6735: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_neg_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6736;
    }
  goto ret0;

  L6736: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6737;
    }
  goto ret0;

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

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

  L6739: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 642;
      }
  goto ret0;

  L5336: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (cc_reg_operand (x4, VOIDmode))
    {
      ro[2] = x4;
      goto L5337;
    }
  goto ret0;

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

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

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

  L5340: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L5341;
    }
  goto ret0;

  L5341: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, ro[1]) && 1)
    {
      ro[1] = x2;
      goto L5342;
    }
  goto ret0;

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

  L5343: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (! TARGET_POWERPC64)
      return 569;
  goto ret0;

  L5655: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5656;
    case GT:
      goto L6905;
    case GTU:
      goto L7181;
    }
  goto ret0;

  L5656: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NEG && 1)
    goto L5657;
  goto ret0;

  L5657: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == ABS && 1)
    goto L5658;
  goto ret0;

  L5658: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L5659;
    }
  goto ret0;

  L5659: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L5660;
  goto ret0;

  L5660: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5661;
    }
  goto ret0;

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

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

  L5663: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 588;
      }
  goto ret0;

  L6905: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L6906;
    }
  goto ret0;

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

  L6907: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6908;
    }
  goto ret0;

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

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

  L6910: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 653;
      }
  goto ret0;

  L7181: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L7182;
    }
  goto ret0;

  L7182: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L7183;
    }
  goto ret0;

  L7183: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L7184;
    }
  goto ret0;

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

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

  L7186: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 669;
      }
  goto ret0;

  L6484: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L6485;
  goto ret0;

  L6485: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == LSHIFTRT && 1)
    goto L6486;
  goto ret0;

  L6486: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == NOT && 1)
    goto L6487;
  goto ret0;

  L6487: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L6488;
    }
  goto ret0;

  L6488: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 63 && 1)
    goto L6489;
  goto ret0;

  L6489: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6490;
    }
  goto ret0;

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

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

  L6492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 630;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_29 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case EQ:
	  goto L5423;
	case PLUS:
	  goto L5703;
	case LE:
	  goto L5796;
	case GE:
	  goto L6324;
	case AND:
	  goto L6532;
	}
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case EQ:
	  goto L5451;
	case PLUS:
	  goto L5747;
	case AND:
	  goto L6576;
	}
    }
  goto ret0;

  L5423: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5424;
    }
  goto ret0;

  L5424: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5425;
    }
  goto ret0;

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

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

  L5427: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5428;
    }
  goto ret0;

  L5428: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == EQ && 1)
    goto L5429;
  goto ret0;

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

  L5430: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 576;
      }
  goto ret0;

  L5703: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5704;
    case GT:
      goto L6945;
    }
  goto ret0;

  L5704: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NEG && 1)
    goto L5705;
  goto ret0;

  L5705: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == ABS && 1)
    goto L5706;
  goto ret0;

  L5706: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L5707;
    }
  goto ret0;

  L5707: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L5708;
  goto ret0;

  L5708: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5709;
    }
  goto ret0;

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

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

  L5711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5712;
    }
  goto ret0;

  L5712: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5713;
  goto ret0;

  L5713: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L5714;
  goto ret0;

  L5714: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L5715;
  goto ret0;

  L5715: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == ABS && 1)
    goto L5716;
  goto ret0;

  L5716: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L5717;
  goto ret0;

  L5717: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 31 && 1)
    goto L5718;
  goto ret0;

  L5718: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 589;
      }
  goto ret0;

  L6945: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6946;
    }
  goto ret0;

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

  L6947: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6948;
    }
  goto ret0;

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

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

  L6950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6951;
    }
  goto ret0;

  L6951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6952;
  goto ret0;

  L6952: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GT && 1)
    goto L6953;
  goto ret0;

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

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

  L6955: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 654;
      }
  goto ret0;

  L5796: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5797;
    }
  goto ret0;

  L5797: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5798;
    }
  goto ret0;

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

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

  L5800: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5801;
    }
  goto ret0;

  L5801: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LE && 1)
    goto L5802;
  goto ret0;

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

  L5803: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 592;
      }
  goto ret0;

  L6324: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6325;
    }
  goto ret0;

  L6325: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6326;
    }
  goto ret0;

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

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

  L6328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6329;
    }
  goto ret0;

  L6329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GE && 1)
    goto L6330;
  goto ret0;

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

  L6331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 622;
      }
  goto ret0;

  L6532: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L6533;
  goto ret0;

  L6533: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == LSHIFTRT && 1)
    goto L6534;
  goto ret0;

  L6534: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode && GET_CODE (x6) == NOT && 1)
    goto L6535;
  goto ret0;

  L6535: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, SImode))
    {
      ro[1] = x7;
      goto L6536;
    }
  goto ret0;

  L6536: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 31 && 1)
    goto L6537;
  goto ret0;

  L6537: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6538;
    }
  goto ret0;

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

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

  L6540: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6541;
    }
  goto ret0;

  L6541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6542;
  goto ret0;

  L6542: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6543;
  goto ret0;

  L6543: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6544;
  goto ret0;

  L6544: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L6545;
  goto ret0;

  L6545: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L6546;
  goto ret0;

  L6546: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L6547;
  goto ret0;

  L6547: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    {
      *pnum_clobbers = 1;
      return 631;
    }
  goto ret0;

  L5451: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L5452;
    }
  goto ret0;

  L5452: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5453;
    }
  goto ret0;

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

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

  L5455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5456;
    }
  goto ret0;

  L5456: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == EQ && 1)
    goto L5457;
  goto ret0;

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

  L5458: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 577;
      }
  goto ret0;

  L5747: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5748;
    case GT:
      goto L6981;
    }
  goto ret0;

  L5748: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NEG && 1)
    goto L5749;
  goto ret0;

  L5749: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == ABS && 1)
    goto L5750;
  goto ret0;

  L5750: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L5751;
    }
  goto ret0;

  L5751: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L5752;
  goto ret0;

  L5752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5753;
    }
  goto ret0;

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

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

  L5755: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5756;
    }
  goto ret0;

  L5756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L5757;
  goto ret0;

  L5757: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == LSHIFTRT && 1)
    goto L5758;
  goto ret0;

  L5758: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L5759;
  goto ret0;

  L5759: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ABS && 1)
    goto L5760;
  goto ret0;

  L5760: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L5761;
  goto ret0;

  L5761: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 63 && 1)
    goto L5762;
  goto ret0;

  L5762: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 590;
      }
  goto ret0;

  L6981: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L6982;
    }
  goto ret0;

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

  L6983: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6984;
    }
  goto ret0;

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

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

  L6986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6987;
    }
  goto ret0;

  L6987: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L6988;
  goto ret0;

  L6988: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == GT && 1)
    goto L6989;
  goto ret0;

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

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

  L6991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 655;
      }
  goto ret0;

  L6576: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L6577;
  goto ret0;

  L6577: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == LSHIFTRT && 1)
    goto L6578;
  goto ret0;

  L6578: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode && GET_CODE (x6) == NOT && 1)
    goto L6579;
  goto ret0;

  L6579: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (gpc_reg_operand (x7, DImode))
    {
      ro[1] = x7;
      goto L6580;
    }
  goto ret0;

  L6580: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 63 && 1)
    goto L6581;
  goto ret0;

  L6581: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6582;
    }
  goto ret0;

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

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

  L6584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6585;
    }
  goto ret0;

  L6585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == AND && 1)
    goto L6586;
  goto ret0;

  L6586: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NEG && 1)
    goto L6587;
  goto ret0;

  L6587: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6588;
  goto ret0;

  L6588: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NOT && 1)
    goto L6589;
  goto ret0;

  L6589: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, ro[1]) && 1)
    goto L6590;
  goto ret0;

  L6590: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L6591;
  goto ret0;

  L6591: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 632;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_30 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case EQ:
      goto L5532;
    case LE:
      goto L5867;
    case LEU:
      goto L5996;
    case LT:
      goto L6176;
    case LTU:
      goto L6274;
    case GE:
      goto L6395;
    case GEU:
      goto L6691;
    case GT:
      goto L7055;
    case GTU:
      goto L7221;
    }
  goto ret0;

  L5532: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5533;
    }
  goto ret0;

  L5533: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_cint_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5534;
    }
  goto ret0;

  L5534: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5535;
    }
  goto ret0;

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

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

  L5537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5538;
    }
  goto ret0;

  L5538: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5539;
  goto ret0;

  L5539: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == EQ && 1)
    goto L5540;
  goto ret0;

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

  L5541: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L5542;
  goto ret0;

  L5542: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 581;
      }
  goto ret0;

  L5867: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5868;
    }
  goto ret0;

  L5868: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5869;
    }
  goto ret0;

  L5869: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5870;
    }
  goto ret0;

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

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

  L5872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5873;
    }
  goto ret0;

  L5873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5874;
  goto ret0;

  L5874: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LE && 1)
    goto L5875;
  goto ret0;

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

  L5876: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L5877;
  goto ret0;

  L5877: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 595;
      }
  goto ret0;

  L5996: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5997;
    }
  goto ret0;

  L5997: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L5998;
    }
  goto ret0;

  L5998: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5999;
    }
  goto ret0;

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

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

  L6001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6002;
    }
  goto ret0;

  L6002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6003;
  goto ret0;

  L6003: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LEU && 1)
    goto L6004;
  goto ret0;

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

  L6005: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6006;
  goto ret0;

  L6006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 604;
      }
  goto ret0;

  L6176: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6177;
    }
  goto ret0;

  L6177: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6178;
    }
  goto ret0;

  L6178: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6179;
    }
  goto ret0;

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

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

  L6181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6182;
    }
  goto ret0;

  L6182: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6183;
  goto ret0;

  L6183: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LT && 1)
    goto L6184;
  goto ret0;

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

  L6185: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6186;
  goto ret0;

  L6186: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 613;
      }
  goto ret0;

  L6274: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6275;
    }
  goto ret0;

  L6275: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6276;
    }
  goto ret0;

  L6276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6277;
    }
  goto ret0;

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

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

  L6279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6280;
    }
  goto ret0;

  L6280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6281;
  goto ret0;

  L6281: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == LTU && 1)
    goto L6282;
  goto ret0;

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

  L6283: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6284;
  goto ret0;

  L6284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 619;
      }
  goto ret0;

  L6395: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6396;
    }
  goto ret0;

  L6396: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6397;
    }
  goto ret0;

  L6397: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6398;
    }
  goto ret0;

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

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

  L6400: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6401;
    }
  goto ret0;

  L6401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6402;
  goto ret0;

  L6402: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GE && 1)
    goto L6403;
  goto ret0;

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

  L6404: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6405;
  goto ret0;

  L6405: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 625;
      }
  goto ret0;

  L6691: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6692;
    }
  goto ret0;

  L6692: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6693;
    }
  goto ret0;

  L6693: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6694;
    }
  goto ret0;

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

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

  L6696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6697;
    }
  goto ret0;

  L6697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L6698;
  goto ret0;

  L6698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GEU && 1)
    goto L6699;
  goto ret0;

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

  L6700: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L6701;
  goto ret0;

  L6701: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 639;
      }
  goto ret0;

  L7055: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L7056;
    }
  goto ret0;

  L7056: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7057;
    }
  goto ret0;

  L7057: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7058;
    }
  goto ret0;

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

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

  L7060: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7061;
    }
  goto ret0;

  L7061: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7062;
  goto ret0;

  L7062: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GT && 1)
    goto L7063;
  goto ret0;

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

  L7064: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7065;
  goto ret0;

  L7065: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWER)
      {
	*pnum_clobbers = 1;
	return 658;
      }
  goto ret0;

  L7221: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L7222;
    }
  goto ret0;

  L7222: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L7223;
    }
  goto ret0;

  L7223: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L7224;
    }
  goto ret0;

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

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

  L7226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7227;
    }
  goto ret0;

  L7227: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7228;
  goto ret0;

  L7228: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == GTU && 1)
    goto L7229;
  goto ret0;

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

  L7230: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7231;
  goto ret0;

  L7231: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 670;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_31 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case LEU:
	  goto L5912;
	case LT:
	  goto L6105;
	case LTU:
	  goto L6203;
	case GEU:
	  goto L6607;
	}
      break;
    case DImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case LEU:
	  goto L5925;
	case GEU:
	  goto L6620;
	}
    }
  goto ret0;

  L5912: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5913;
    }
  goto ret0;

  L5913: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5914;
    }
  goto ret0;

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

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

  L5916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5917;
    }
  goto ret0;

  L5917: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LEU && 1)
    goto L5918;
  goto ret0;

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

  L5919: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 600;
  goto ret0;

  L6105: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6106;
    }
  goto ret0;

  L6106: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6107;
    }
  goto ret0;

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

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

  L6109: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6110;
    }
  goto ret0;

  L6110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LT && 1)
    goto L6111;
  goto ret0;

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

  L6112: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWER)
      return 610;
  goto ret0;

  L6203: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6204;
    }
  goto ret0;

  L6204: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6205;
    }
  goto ret0;

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

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

  L6207: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6208;
    }
  goto ret0;

  L6208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == LTU && 1)
    goto L6209;
  goto ret0;

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

  L6210: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 616;
  goto ret0;

  L6607: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6608;
    }
  goto ret0;

  L6608: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6609;
    }
  goto ret0;

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

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

  L6611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6612;
    }
  goto ret0;

  L6612: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GEU && 1)
    goto L6613;
  goto ret0;

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

  L6614: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 635;
  goto ret0;

  L5925: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L5926;
    }
  goto ret0;

  L5926: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5927;
    }
  goto ret0;

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

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

  L5929: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5930;
    }
  goto ret0;

  L5930: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LEU && 1)
    goto L5931;
  goto ret0;

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

  L5932: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 601;
  goto ret0;

  L6620: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L6621;
    }
  goto ret0;

  L6621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L6622;
    }
  goto ret0;

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

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

  L6624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6625;
    }
  goto ret0;

  L6625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == GEU && 1)
    goto L6626;
  goto ret0;

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

  L6627: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 636;
  goto ret0;
 ret0: return -1;
}

int
recog_32 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case EQ:
      goto L5474;
    case LSHIFTRT:
      goto L5588;
    case LE:
      goto L5809;
    case LEU:
      goto L5938;
    case LT:
      goto L6118;
    case LTU:
      goto L6216;
    case GE:
      goto L6337;
    case GEU:
      goto L6633;
    case GT:
      goto L6849;
    case GTU:
      goto L7125;
    }
  goto ret0;

  L5474: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5475;
    }
  goto ret0;

  L5475: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5476;
    }
  goto ret0;

  L5476: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5477;
    }
  goto ret0;

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

  L5478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 579;
      }
  goto ret0;

  L5588: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L5589;
  goto ret0;

  L5589: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == ABS && 1)
    goto L5590;
  goto ret0;

  L5590: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L5591;
    }
  goto ret0;

  L5591: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 31 && 1)
    goto L5592;
  goto ret0;

  L5592: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5593;
    }
  goto ret0;

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

  L5594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 585;
      }
  goto ret0;

  L5809: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5810;
    }
  goto ret0;

  L5810: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5811;
    }
  goto ret0;

  L5811: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5812;
    }
  goto ret0;

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

  L5813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 593;
      }
  goto ret0;

  L5938: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L5939;
    }
  goto ret0;

  L5939: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L5940;
    }
  goto ret0;

  L5940: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L5941;
    }
  goto ret0;

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

  L5942: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 602;
      }
  goto ret0;

  L6118: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6119;
    }
  goto ret0;

  L6119: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6120;
    }
  goto ret0;

  L6120: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6121;
    }
  goto ret0;

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

  L6122: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 611;
      }
  goto ret0;

  L6216: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6217;
    }
  goto ret0;

  L6217: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6218;
    }
  goto ret0;

  L6218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6219;
    }
  goto ret0;

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

  L6220: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 617;
      }
  goto ret0;

  L6337: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6338;
    }
  goto ret0;

  L6338: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6339;
    }
  goto ret0;

  L6339: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6340;
    }
  goto ret0;

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

  L6341: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 623;
      }
  goto ret0;

  L6633: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6634;
    }
  goto ret0;

  L6634: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_neg_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6635;
    }
  goto ret0;

  L6635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6636;
    }
  goto ret0;

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

  L6637: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 637;
      }
  goto ret0;

  L6849: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6850;
    }
  goto ret0;

  L6850: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L6851;
  L6998: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6999;
    }
  goto ret0;

  L6851: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6852;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L6998;

  L6852: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L6853;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L6998;

  L6853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 650;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L6998;

  L6999: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L7000;
    }
  goto ret0;

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

  L7001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (TARGET_POWER)
	return 656;
      }
  goto ret0;

  L7125: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L7126;
    }
  goto ret0;

  L7126: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L7127;
    }
  goto ret0;

  L7127: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L7128;
    }
  goto ret0;

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

  L7129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 666;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_33 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case NE:
      goto L7364;
    case GE:
      goto L7500;
    case EQ:
      goto L7636;
    }
  goto ret0;

  L7364: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7365;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7433;
	}
    }
  goto ret0;

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

  L7366: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7367;
    case PC:
      goto L7401;
    }
  goto ret0;

  L7367: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7368;

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

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

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

  L7371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7372;
  goto ret0;

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

  L7373: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 692;
      }
  goto ret0;

  L7401: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7402;
  goto ret0;

  L7402: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7403;

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

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

  L7405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7406;
  goto ret0;

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

  L7407: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 693;
      }
  goto ret0;

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

  L7434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7435;
    case PC:
      goto L7469;
    }
  goto ret0;

  L7435: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7436;

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

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

  L7438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7439;
    }
  goto ret0;

  L7439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7440;
  goto ret0;

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

  L7441: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 694;
      }
  goto ret0;

  L7469: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7470;
  goto ret0;

  L7470: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7471;

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

  L7472: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7473;
    }
  goto ret0;

  L7473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7474;
  goto ret0;

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

  L7475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 695;
      }
  goto ret0;

  L7500: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7501;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7569;
	}
    }
  goto ret0;

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

  L7502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7503;
    case PC:
      goto L7537;
    }
  goto ret0;

  L7503: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7504;

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

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

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

  L7507: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7508;
  goto ret0;

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

  L7509: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
      {
	*pnum_clobbers = 2;
	return 696;
      }
  goto ret0;

  L7537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7538;
  goto ret0;

  L7538: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7539;

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

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

  L7541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7542;
  goto ret0;

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

  L7543: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
      {
	*pnum_clobbers = 2;
	return 697;
      }
  goto ret0;

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

  L7570: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7571;
    case PC:
      goto L7605;
    }
  goto ret0;

  L7571: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7572;

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

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

  L7574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7575;
    }
  goto ret0;

  L7575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7576;
  goto ret0;

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

  L7577: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
      {
	*pnum_clobbers = 2;
	return 698;
      }
  goto ret0;

  L7605: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7606;
  goto ret0;

  L7606: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7607;

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

  L7608: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7609;
    }
  goto ret0;

  L7609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7610;
  goto ret0;

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

  L7611: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0))
      {
	*pnum_clobbers = 2;
	return 699;
      }
  goto ret0;

  L7636: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (register_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7637;
	}
      break;
    case DImode:
      if (register_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7705;
	}
    }
  goto ret0;

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

  L7638: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7639;
    case PC:
      goto L7673;
    }
  goto ret0;

  L7639: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7640;

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

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

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

  L7643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7644;
  goto ret0;

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

  L7645: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 700;
      }
  goto ret0;

  L7673: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7674;
  goto ret0;

  L7674: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7675;

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

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

  L7677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7678;
  goto ret0;

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

  L7679: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 701;
      }
  goto ret0;

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

  L7706: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LABEL_REF:
      goto L7707;
    case PC:
      goto L7741;
    }
  goto ret0;

  L7707: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7708;

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

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

  L7710: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7711;
    }
  goto ret0;

  L7711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7712;
  goto ret0;

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

  L7713: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 702;
      }
  goto ret0;

  L7741: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L7742;
  goto ret0;

  L7742: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L7743;

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

  L7744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L7745;
    }
  goto ret0;

  L7745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7746;
  goto ret0;

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

  L7747: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 2;
	return 703;
      }
  goto ret0;
 ret0: return -1;
}

int
recog_34 (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, x7 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  ro[0] = x2;
  goto L5096;
  L5274: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    default:
      break;
    case CCmode:
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L5275;
	}
    L5333: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L5334;
	}
    L5420: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[4] = x2;
	  goto L5421;
	}
    L5528: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[5] = x2;
	  goto L5529;
	}
    L5909: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L5910;
	}
    L6802: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[2] = x2;
	  goto L6803;
	}
    L6833: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L6834;
	}
      break;
    case CCUNSmode:
      if (cc_reg_operand (x2, CCUNSmode))
	{
	  ro[3] = x2;
	  goto L5286;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L5380;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L5393;
	}
    }
  if (GET_CODE (x2) == PC && 1)
    goto L7328;
  goto ret0;

  L5096: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L5097;
  x2 = XEXP (x1, 0);
  goto L5274;

  L5097: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
    goto L5098;
  x2 = XEXP (x1, 0);
  goto L5274;

  L5098: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x4) == SYMBOL_REF && current_file_function_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L5099;
	}
    L5190: ATTRIBUTE_UNUSED_LABEL
      if (call_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L5191;
	}
      break;
    case DImode:
      if (GET_CODE (x4) == SYMBOL_REF && current_file_function_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L5119;
	}
    L5210: ATTRIBUTE_UNUSED_LABEL
      if (call_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L5211;
	}
    }
  x2 = XEXP (x1, 0);
  goto L5274;

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

  L5100: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5101;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5190;

  L5101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      if ((INTVAL (operands[3]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 522;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5190;

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

  L5192: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5193;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5274;

  L5193: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    goto L5236;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5274;

  L5236: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 527;
	}
      }
  L5237: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[3] = x2;
      if ((DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 529;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5274;

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

  L5120: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5121;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5210;

  L5121: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_64BIT && (INTVAL (operands[3]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 523;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L5210;

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

  L5212: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5213;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5274;

  L5213: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_64BIT && (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[3]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 528;
	}
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5274;

  L5275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5276;
  x2 = XEXP (x1, 0);
  goto L5333;

  L5276: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L5277;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == LEU && 1)
	goto L5899;
    }
  x2 = XEXP (x1, 0);
  goto L5333;

  L5277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5278;
    }
  x2 = XEXP (x1, 0);
  goto L5333;

  L5278: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L5279;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5280;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5281;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5281: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L5282;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5282: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[4] = x3;
      return 562;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5899: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L5900;
    }
  x2 = XEXP (x1, 0);
  goto L5333;

  L5900: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L5901;
    }
  x2 = XEXP (x1, 0);
  goto L5333;

  L5901: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L5902;
  x2 = XEXP (x1, 0);
  goto L5333;

  L5902: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L5903;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L5904;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LEU && 1)
    goto L5905;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5905: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L5906;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5906: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 599;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5333;

  L5334: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5355;
  x2 = XEXP (x1, 0);
  goto L5420;
 L5355: ATTRIBUTE_UNUSED_LABEL
  tem = recog_28 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L5420;

  L5421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5422;
  x2 = XEXP (x1, 0);
  goto L5528;
 L5422: ATTRIBUTE_UNUSED_LABEL
  tem = recog_29 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L5528;

  L5529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5530;
  x2 = XEXP (x1, 0);
  goto L5909;

  L5530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case PLUS:
	  goto L5531;
	case AND:
	  goto L6081;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == PLUS && 1)
	goto L7256;
    }
  x2 = XEXP (x1, 0);
  goto L5909;
 L5531: ATTRIBUTE_UNUSED_LABEL
  tem = recog_30 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L5909;

  L6081: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NEG && 1)
    goto L6082;
  x2 = XEXP (x1, 0);
  goto L5909;

  L6082: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != SImode)
    {
      x2 = XEXP (x1, 0);
      goto L5909;
    }
  switch (GET_CODE (x5))
    {
    default:
      break;
    case LEU:
      goto L6083;
    case GEU:
      goto L6778;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6083: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6084;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6084: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6085;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6085: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6086;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6086: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6087;
  x2 = XEXP (x1, 0);
  goto L5909;

  L6087: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L6088;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6089;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6090;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6090: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6091;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6091: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == LEU && 1)
    goto L6092;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6092: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L6093;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6093: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L6094;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6094: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 608;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6778: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6779;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6779: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (reg_or_neg_short_operand (x6, SImode))
    {
      ro[2] = x6;
      goto L6780;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6780: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L6781;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L6781: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6782;
  x2 = XEXP (x1, 0);
  goto L5909;

  L6782: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L6783;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6783: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6784;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L6785;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6785: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6786;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6786: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == GEU && 1)
    goto L6787;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6787: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, ro[1]) && 1)
    goto L6788;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6788: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, ro[2]) && 1)
    goto L6789;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L6789: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (! TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 643;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7256: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == GTU && 1)
    goto L7257;
  x2 = XEXP (x1, 0);
  goto L5909;

  L7257: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L7258;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L7258: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L7259;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L7259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L7260;
    }
  x2 = XEXP (x1, 0);
  goto L5909;

  L7260: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L7261;
  x2 = XEXP (x1, 0);
  goto L5909;

  L7261: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L7262;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L7263;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7264;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == GTU && 1)
    goto L7265;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7265: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L7266;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7266: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    goto L7267;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L7267: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[3]) && pnum_clobbers != 0 && 1)
    if (TARGET_POWERPC64)
      {
	*pnum_clobbers = 1;
	return 671;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5909;

  L5910: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5911;
  x2 = XEXP (x1, 0);
  goto L6802;
 L5911: ATTRIBUTE_UNUSED_LABEL
  tem = recog_31 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x2 = XEXP (x1, 0);
  goto L6802;

  L6803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L6804;
  x2 = XEXP (x1, 0);
  goto L6833;

  L6804: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != GT)
    {
      x2 = XEXP (x1, 0);
    goto L6833;
    }
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      goto L6805;
    case DImode:
      goto L6818;
    }
  x2 = XEXP (x1, 0);
  goto L6833;

  L6805: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6806;
    }
  x2 = XEXP (x1, 0);
  goto L6833;

  L6806: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L6807;
  x2 = XEXP (x1, 0);
  goto L6833;

  L6807: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6808;
  x2 = XEXP (x1, 0);
  goto L6833;

  L6808: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L6809;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6810;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GT && 1)
    goto L6811;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6811: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L6812;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6812: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (! TARGET_POWERPC64)
      return 646;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6818: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L6819;
    }
  x2 = XEXP (x1, 0);
  goto L6833;

  L6819: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L6820;
  x2 = XEXP (x1, 0);
  goto L6833;

  L6820: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L6821;
  x2 = XEXP (x1, 0);
  goto L6833;

  L6821: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L6822;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6822: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L6823;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == GT && 1)
    goto L6824;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6824: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L6825;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    if (TARGET_POWERPC64)
      return 647;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L6833;

  L6834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L6835;
  goto ret0;

  L6835: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x3))
	{
	default:
	  break;
	case GT:
	  goto L6836;
	case GTU:
	  goto L7099;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == GTU && 1)
	goto L7112;
    }
  goto ret0;

  L6836: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L6837;
    }
  goto ret0;

  L6837: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L6838;
    }
  goto ret0;

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

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

  L6840: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L6841;
    }
  goto ret0;

  L6841: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GT && 1)
    goto L6842;
  goto ret0;

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

  L6843: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWER)
      return 649;
  goto ret0;

  L7099: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L7100;
    }
  goto ret0;

  L7100: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L7101;
    }
  goto ret0;

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

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

  L7103: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7104;
    }
  goto ret0;

  L7104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == GTU && 1)
    goto L7105;
  goto ret0;

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

  L7106: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64)
      return 664;
  goto ret0;

  L7112: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L7113;
    }
  goto ret0;

  L7113: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L7114;
    }
  goto ret0;

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

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

  L7116: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L7117;
    }
  goto ret0;

  L7117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == GTU && 1)
    goto L7118;
  goto ret0;

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

  L7119: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (TARGET_POWERPC64)
      return 665;
  goto ret0;

  L5286: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCUNSmode && GET_CODE (x2) == COMPARE && 1)
    goto L5287;
  goto ret0;

  L5287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5288;
    }
  goto ret0;

  L5288: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && u_short_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5289;
    }
  goto ret0;

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

  L5290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5291;
    }
  goto ret0;

  L5291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5292;
  goto ret0;

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

  L5293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[4] = x3;
      return 563;
    }
  goto ret0;

  L5380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case EQ:
      goto L5381;
    case PLUS:
      goto L5473;
    case LSHIFTRT:
      goto L5553;
    case LE:
      goto L5767;
    case AND:
      goto L6017;
    case GE:
      goto L6295;
    }
  goto ret0;

  L5381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5382;
    }
  goto ret0;

  L5382: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5383;
    }
  goto ret0;

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

  L5384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64)
	return 574;
      }
  goto ret0;
 L5473: ATTRIBUTE_UNUSED_LABEL
  return recog_32 (x0, insn, pnum_clobbers);

  L5553: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L5554;
  goto ret0;

  L5554: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == ABS && 1)
    goto L5555;
  goto ret0;

  L5555: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L5556;
    }
  goto ret0;

  L5556: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 31 && 1)
    goto L5557;
  goto ret0;

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

  L5558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWER)
	return 583;
      }
  goto ret0;

  L5767: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5768;
    }
  goto ret0;

  L5768: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5769;
    }
  goto ret0;

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

  L5770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 591;
      }
  goto ret0;

  L6017: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NEG && 1)
    goto L6018;
  goto ret0;

  L6018: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  switch (GET_CODE (x4))
    {
    default:
      break;
    case LEU:
      goto L6019;
    case LSHIFTRT:
      goto L6418;
    case GEU:
      goto L6714;
    }
  goto ret0;

  L6019: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6020;
    }
  goto ret0;

  L6020: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6021;
    }
  goto ret0;

  L6021: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6022;
    }
  goto ret0;

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

  L6023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 606;
      }
  goto ret0;

  L6418: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode && GET_CODE (x5) == NOT && 1)
    goto L6419;
  goto ret0;

  L6419: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, SImode))
    {
      ro[1] = x6;
      goto L6420;
    }
  goto ret0;

  L6420: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 31 && 1)
    goto L6421;
  goto ret0;

  L6421: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6422;
    }
  goto ret0;

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

  L6423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      return 627;
    }
  goto ret0;

  L6714: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L6715;
    }
  goto ret0;

  L6715: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_neg_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L6716;
    }
  goto ret0;

  L6716: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L6717;
    }
  goto ret0;

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

  L6718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64)
	return 641;
      }
  goto ret0;

  L6295: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L6296;
    }
  goto ret0;

  L6296: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L6297;
    }
  goto ret0;

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

  L6298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return 621;
      }
  goto ret0;

  L5393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case EQ:
      goto L5394;
    case LSHIFTRT:
      goto L5570;
    case PLUS:
      goto L5608;
    case AND:
      goto L6437;
    }
  goto ret0;

  L5394: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L5395;
    }
  goto ret0;

  L5395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L5396;
    }
  goto ret0;

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

  L5397: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 575;
      }
  goto ret0;

  L5570: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NEG && 1)
    goto L5571;
  goto ret0;

  L5571: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ABS && 1)
    goto L5572;
  goto ret0;

  L5572: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L5573;
    }
  goto ret0;

  L5573: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 63 && 1)
    goto L5574;
  goto ret0;

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

  L5575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return 584;
      }
  goto ret0;

  L5608: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case LSHIFTRT:
      goto L5609;
    case GT:
      goto L6866;
    case GTU:
      goto L7142;
    }
  goto ret0;

  L5609: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == NEG && 1)
    goto L5610;
  goto ret0;

  L5610: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == ABS && 1)
    goto L5611;
  goto ret0;

  L5611: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L5612;
    }
  goto ret0;

  L5612: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 63 && 1)
    goto L5613;
  goto ret0;

  L5613: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L5614;
    }
  goto ret0;

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

  L5615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 586;
      }
  goto ret0;

  L6866: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L6867;
    }
  goto ret0;

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

  L6868: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L6869;
    }
  goto ret0;

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

  L6870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 651;
      }
  goto ret0;

  L7142: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L7143;
    }
  goto ret0;

  L7143: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L7144;
    }
  goto ret0;

  L7144: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L7145;
    }
  goto ret0;

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

  L7146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64)
	return 667;
      }
  goto ret0;

  L6437: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == NEG && 1)
    goto L6438;
  goto ret0;

  L6438: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == LSHIFTRT && 1)
    goto L6439;
  goto ret0;

  L6439: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == NOT && 1)
    goto L6440;
  goto ret0;

  L6440: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (gpc_reg_operand (x6, DImode))
    {
      ro[1] = x6;
      goto L6441;
    }
  goto ret0;

  L6441: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 63 && 1)
    goto L6442;
  goto ret0;

  L6442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L6443;
    }
  goto ret0;

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

  L6444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[3] = x2;
      if (TARGET_POWERPC64)
	return 628;
      }
  goto ret0;

  L7328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (register_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L7329;
	}
      break;
    case DImode:
      if (register_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L7336;
	}
    }
  if (GET_CODE (x2) == IF_THEN_ELSE && 1)
    goto L7363;
  goto ret0;

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

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

  L7331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[1] = x3;
  if (TARGET_32BIT)
    return 686;
  goto ret0;

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

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

  L7338: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[1] = x3;
  if (TARGET_64BIT)
    return 687;
  goto ret0;
 L7363: ATTRIBUTE_UNUSED_LABEL
  return recog_33 (x0, insn, pnum_clobbers);
 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, x7 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) == 2 && 1)
	goto L5;
      if (XVECLEN (x0, 0) == 3 && 1)
	goto L757;
      if (XVECLEN (x0, 0) == 4 && 1)
	goto L989;
      if (XVECLEN (x0, 0) == 6 && 1)
	goto L1015;
      if (XVECLEN (x0, 0) == 5 && 1)
	goto L1058;
    L4250: ATTRIBUTE_UNUSED_LABEL
      if (load_multiple_operation (x0, VOIDmode))
	{
	  ro[0] = x0;
	  goto L4251;
	}
    L4255: ATTRIBUTE_UNUSED_LABEL
      if (store_multiple_operation (x0, VOIDmode))
	{
	  ro[0] = x0;
	  goto L4256;
	}
    L4268: ATTRIBUTE_UNUSED_LABEL
      if (XVECLEN (x0, 0) == 12 && 1)
	goto L4269;
      if (XVECLEN (x0, 0) == 10 && 1)
	goto L4353;
      if (XVECLEN (x0, 0) == 8 && 1)
	goto L4429;
      if (XVECLEN (x0, 0) == 7 && 1)
	goto L4831;
      if (XVECLEN (x0, 0) == 3 && 1)
	goto L5083;
      if (XVECLEN (x0, 0) == 2 && 1)
	goto L5094;
      break;
    case UNSPEC_VOLATILE:
      if (XINT (x0, 1) == 1 && XVECLEN (x0, 0) == 1 && 1)
	goto L4829;
      if (XINT (x0, 1) == 0 && XVECLEN (x0, 0) == 1 && 1)
	goto L5239;
      break;
    case RETURN:
      if (direct_return ())
	return 679;
      break;
    case CONST_INT:
      if (XWINT (x0, 0) == 0 && 1)
	return 688;
      break;
    case TRAP_IF:
      goto L7821;
    }
  goto ret0;
 L1: ATTRIBUTE_UNUSED_LABEL
  return recog_7 (x0, insn, pnum_clobbers);

  L5: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L6;
    case CALL:
      goto L5025;
    }
  goto L4250;
 L6: ATTRIBUTE_UNUSED_LABEL
  tem = recog_14 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  goto L4250;

  L5025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L5062;
  goto L4250;

  L5062: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x3) == SYMBOL_REF && current_file_function_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5063;
	}
      if (register_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5027;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == SYMBOL_REF && current_file_function_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L5079;
	}
    }
  goto L4250;

  L5063: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5064;

  L5064: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5065;
  goto L4250;

  L5065: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      if ((INTVAL (operands[2]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 520;
	}
      }
  goto L4250;

  L5027: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L5028;
    }
  goto L4250;

  L5028: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5029;
  goto L4250;

  L5029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS || DEFAULT_ABI == ABI_AIX_NODESC)
	{
	  *pnum_clobbers = 1;
	  return 516;
	}
      }
  goto L4250;

  L5079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5080;

  L5080: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5081;
  goto L4250;

  L5081: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_64BIT && (INTVAL (operands[2]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 521;
	}
      }
  goto L4250;

  L757: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L758;
    case CALL:
      goto L5016;
    }
  goto L4250;
 L758: ATTRIBUTE_UNUSED_LABEL
  tem = recog_16 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  goto L4250;

  L5016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L5053;
  goto L4250;

  L5053: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (GET_CODE (x3) == SYMBOL_REF && current_file_function_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5054;
	}
      if (register_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5018;
	}
      break;
    case DImode:
      if (GET_CODE (x3) == SYMBOL_REF && current_file_function_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L5070;
	}
    }
  goto L4250;

  L5054: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5055;

  L5055: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5056;
  goto L4250;

  L5056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L5057;
    }
  goto L4250;

  L5057: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5058;
  goto L4250;

  L5058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if ((INTVAL (operands[2]) & CALL_LONG) == 0)
	return 520;
      }
  goto L4250;

  L5018: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L5019;
    }
  goto L4250;

  L5019: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5020;
  goto L4250;

  L5020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L5021;
    }
  goto L4250;

  L5021: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5022;
  goto L4250;

  L5022: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS || DEFAULT_ABI == ABI_AIX_NODESC)
	return 516;
      }
  goto L4250;

  L5070: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5071;

  L5071: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L5072;
  goto L4250;

  L5072: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L5073;
    }
  goto L4250;

  L5073: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5074;
  goto L4250;

  L5074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_64BIT && (INTVAL (operands[2]) & CALL_LONG) == 0)
	return 521;
      }
  goto L4250;

  L989: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L990;
    case CALL:
      goto L4975;
    }
  goto L4250;
 L990: ATTRIBUTE_UNUSED_LABEL
  tem = recog_20 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  goto L4250;

  L4975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L4976;
  goto L4250;

  L4976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4977;
    }
  goto L4250;

  L4977: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4978;
    }
  goto L4250;

  L4978: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L4979;
  goto L4250;

  L4979: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4980;
    }
  goto L4250;

  L4980: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L4981;
  goto L4250;

  L4981: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4982;
    }
  goto L4250;

  L4982: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L4983;
  goto L4250;

  L4983: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      if (DEFAULT_ABI == ABI_NT
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 514;
	}
      }
  goto L4250;
 L1015: ATTRIBUTE_UNUSED_LABEL
  tem = recog_21 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  goto L4250;

  L1058: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L1059;
    case CALL:
      goto L4849;
    }
  goto L4250;
 L1059: ATTRIBUTE_UNUSED_LABEL
  tem = recog_22 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  goto L4250;

  L4849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L4850;
  goto L4250;

  L4850: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L4851;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L4881;
	}
    }
  goto L4250;

  L4851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4852;
    }
  goto L4250;

  L4852: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L4853;
  goto L4250;

  L4853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4854;
    }
  goto L4250;

  L4854: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L4855;
  goto L4250;

  L4855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4856;
    }
  goto L4250;

  L4856: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L4857;
  goto L4250;

  L4857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4858;
    }
  goto L4250;

  L4858: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4859;
  goto L4250;

  L4859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      if (DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 510;
	}
      }
  goto L4250;

  L4881: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      goto L4882;
    }
  goto L4250;

  L4882: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L4883;
  goto L4250;

  L4883: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      goto L4884;
    }
  goto L4250;

  L4884: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L4885;
  goto L4250;

  L4885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == MEM && offsettable_mem_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L4886;
    }
  goto L4250;

  L4886: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L4887;
  goto L4250;

  L4887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L4888;
    }
  goto L4250;

  L4888: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4889;
  goto L4250;

  L4889: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      if (TARGET_64BIT && DEFAULT_ABI == ABI_AIX
   && (INTVAL (operands[2]) == CALL_NORMAL || (INTVAL (operands[2]) & CALL_LONG) != 0))
	{
	  *pnum_clobbers = 2;
	  return 511;
	}
      }
  goto L4250;

  L4251: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L4252;
  goto L4255;

  L4252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L4253;
    }
  goto L4255;

  L4253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L4254;
  goto L4255;

  L4254: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_STRING)
	return 462;
      }
  goto L4255;

  L4256: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L4263;
  goto L4268;

  L4263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    {
      goto L4268;
    }
  if (GET_CODE (x2) == MEM && 1)
    goto L4264;
  L4257: ATTRIBUTE_UNUSED_LABEL
  if (indirect_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L4258;
    }
  goto L4268;

  L4264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4265;
    }
  goto L4257;

  L4265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4266;
    }
  x2 = XEXP (x1, 0);
  goto L4257;

  L4266: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4267;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4257;

  L4267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_STRING && ! TARGET_POWER)
	return 465;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L4257;

  L4258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4259;
    }
  goto L4268;

  L4259: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4260;
  goto L4268;

  L4260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_STRING && TARGET_POWER)
	return 464;
      }
  goto L4268;

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

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

  L4271: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4272;
    }
  goto ret0;

  L4272: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4273;
  goto ret0;

  L4273: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4274;
    }
  goto ret0;

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

  L4275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4276;
    }
  goto ret0;

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

  L4277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4278;
    }
  goto ret0;

  L4278: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4279;
  goto ret0;

  L4279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L4280;
    }
  goto ret0;

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

  L4281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 6 && 1)
    goto L4282;
  goto ret0;

  L4282: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4283;
  goto ret0;

  L4283: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
    goto L4284;
  goto ret0;

  L4284: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4285;
  goto ret0;

  L4285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 8 && 1)
    goto L4286;
  goto ret0;

  L4286: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4287;
  goto ret0;

  L4287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 9 && 1)
    goto L4288;
  goto ret0;

  L4288: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4289;
  goto ret0;

  L4289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 10 && 1)
    goto L4290;
  goto ret0;

  L4290: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4291;
  goto ret0;

  L4291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 11 && 1)
    goto L4292;
  goto ret0;

  L4292: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4293;
  goto ret0;

  L4293: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 12 && 1)
    goto L4294;
  goto ret0;

  L4294: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4295;
  goto ret0;

  L4295: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4348;
  goto ret0;

  L4348: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && TARGET_POWER
   && ((INTVAL (operands[2]) > 24 && INTVAL (operands[2]) < 32) || INTVAL (operands[2]) == 0)
   && (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 5)
    return 468;
  L4349: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && ! TARGET_POWER
   && ((INTVAL (operands[2]) > 24 && INTVAL (operands[2]) < 32) || INTVAL (operands[2]) == 0)
   && (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 5)
    return 469;
  goto ret0;

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

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

  L4355: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4356;
    }
  goto ret0;

  L4356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4357;
  goto ret0;

  L4357: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4358;
    }
  goto ret0;

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

  L4359: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4360;
    }
  goto ret0;

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

  L4361: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4362;
    }
  goto ret0;

  L4362: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4363;
  goto ret0;

  L4363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L4364;
    }
  goto ret0;

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

  L4365: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 8 && 1)
    goto L4366;
  goto ret0;

  L4366: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4367;
  goto ret0;

  L4367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 9 && 1)
    goto L4368;
  goto ret0;

  L4368: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4369;
  goto ret0;

  L4369: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 10 && 1)
    goto L4370;
  goto ret0;

  L4370: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4371;
  goto ret0;

  L4371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 11 && 1)
    goto L4372;
  goto ret0;

  L4372: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4373;
  goto ret0;

  L4373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 12 && 1)
    goto L4374;
  goto ret0;

  L4374: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4375;
  goto ret0;

  L4375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4424;
  goto ret0;

  L4424: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 16 && INTVAL (operands[2]) <= 24
   && (REGNO (operands[0]) < 7 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 7 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 7)
    return 471;
  L4425: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 16 && INTVAL (operands[2]) <= 32
   && (REGNO (operands[0]) < 7 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 7 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 7)
    return 472;
  goto ret0;

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

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

  L4431: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[0] = x3;
      goto L4432;
    }
  goto ret0;

  L4432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L4433;
  goto ret0;

  L4433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L4434;
    }
  goto ret0;

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

  L4435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L4436;
    }
  goto ret0;

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

  L4437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L4438;
    }
  goto ret0;

  L4438: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4439;
  goto ret0;

  L4439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L4440;
    }
  goto ret0;

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

  L4441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 10 && 1)
    goto L4442;
  goto ret0;

  L4442: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4443;
  goto ret0;

  L4443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 11 && 1)
    goto L4444;
  goto ret0;

  L4444: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4445;
  goto ret0;

  L4445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 12 && 1)
    goto L4446;
  goto ret0;

  L4446: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L4447;
  goto ret0;

  L4447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L4492;
  goto ret0;

  L4492: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && TARGET_POWER
   && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16
   && (REGNO (operands[0]) < 9 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 9 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 9)
    return 474;
  L4493: ATTRIBUTE_UNUSED_LABEL
  ro[5] = x2;
  if (TARGET_STRING && ! TARGET_POWER
   && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16
   && (REGNO (operands[0]) < 9 || REGNO (operands[0]) > 12)
   && (REGNO (operands[1]) < 9 || REGNO (operands[1]) > 12)
   && REGNO (operands[4]) == 9)
    return 475;
  goto ret0;
 L4831: ATTRIBUTE_UNUSED_LABEL
  return recog_23 (x0, insn, pnum_clobbers);

  L5083: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L5084;
    case CALL:
      goto L5124;
    }
  goto ret0;
 L5084: ATTRIBUTE_UNUSED_LABEL
  return recog_26 (x0, insn, pnum_clobbers);

  L5124: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L5125;
  goto ret0;

  L5125: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (call_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5126;
	}
      break;
    case DImode:
      if (call_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L5142;
	}
    }
  goto ret0;

  L5126: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5127;

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

  L5128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L5129;
    }
  goto ret0;

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

  L5130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    goto L5170;
  goto ret0;

  L5170: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
    return 524;
  L5171: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if ((DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
    return 526;
  goto ret0;

  L5142: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5143;

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

  L5144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L5145;
    }
  goto ret0;

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

  L5146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_64BIT && (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
	return 525;
      }
  goto ret0;

  L5094: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L5095;
    case CALL:
      goto L5133;
    }
  goto ret0;
 L5095: ATTRIBUTE_UNUSED_LABEL
  return recog_34 (x0, insn, pnum_clobbers);

  L5133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
    goto L5134;
  goto ret0;

  L5134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case SImode:
      if (call_operand (x3, SImode))
	{
	  ro[0] = x3;
	  goto L5135;
	}
      break;
    case DImode:
      if (call_operand (x3, DImode))
	{
	  ro[0] = x3;
	  goto L5151;
	}
    }
  goto ret0;

  L5135: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5136;

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

  L5137: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    goto L5172;
  goto ret0;

  L5172: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 524;
	}
      }
  L5173: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if ((DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 526;
	}
      }
  goto ret0;

  L5151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L5152;

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

  L5153: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (pnum_clobbers != 0 && immediate_operand (x2, SImode))
    {
      ro[2] = x2;
      if (TARGET_64BIT && (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
   && (INTVAL (operands[2]) & CALL_LONG) == 0)
	{
	  *pnum_clobbers = 1;
	  return 525;
	}
      }
  goto ret0;

  L4829: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    if (TARGET_TOC && TARGET_MINIMAL_TOC)
      return 509;
  goto ret0;

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

  L7821: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 1 && 1)
    goto L7822;
  if (trap_comparison_operator (x1, VOIDmode))
    {
      ro[0] = x1;
      goto L7825;
    }
  goto ret0;

  L7822: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    return 708;
  goto ret0;

  L7825: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L7826;
    }
  goto ret0;

  L7826: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_short_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L7827;
    }
  goto ret0;

  L7827: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    return 710;
  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, x7 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case PLUS:
      goto L387;
    case NOT:
      goto L1319;
    case MINUS:
      goto L528;
    case IOR:
      goto L1451;
    case XOR:
      goto L1253;
    case AND:
      goto L1385;
    }
  goto ret0;

  L387: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L388;
    }
  goto ret0;

  L388: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L389;
    }
  goto ret0;

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

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

  L391: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_54 (operands);
      }
  goto ret0;

  L1319: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == XOR && 1)
    goto L1320;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L448;
    }
  goto ret0;

  L1320: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1321;
    }
  goto ret0;

  L1321: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1322;
    }
  goto ret0;

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

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

  L1324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_142 (operands);
      }
  goto ret0;

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

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

  L450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_60 (operands);
      }
  goto ret0;

  L528: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L529;
    }
  goto ret0;

  L529: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L530;
    }
  goto ret0;

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

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

  L532: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_67 (operands);
      }
  goto ret0;

  L1451: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1452;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1191;
    }
  goto ret0;

  L1452: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1522;
    }
  goto ret0;

  L1522: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1523;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1454;
    }
  goto ret0;

  L1523: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1524;
    }
  goto ret0;

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

  L1525: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1526;
  goto ret0;

  L1526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_157 (operands);
      }
  goto ret0;

  L1454: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1455;
  goto ret0;

  L1455: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1456;
  goto ret0;

  L1456: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_152 (operands);
      }
  goto ret0;

  L1191: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1192;
    }
  goto ret0;

  L1192: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1193;
  goto ret0;

  L1193: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1194;
  goto ret0;

  L1194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_129 (operands);
      }
  goto ret0;

  L1253: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1254;
    }
  goto ret0;

  L1254: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1255;
    }
  goto ret0;

  L1255: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1256;
  goto ret0;

  L1256: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1257;
  goto ret0;

  L1257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_136 (operands);
      }
  goto ret0;

  L1385: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1386;
  goto ret0;

  L1386: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1596;
    }
  goto ret0;

  L1596: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1597;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1388;
    }
  goto ret0;

  L1597: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1598;
    }
  goto ret0;

  L1598: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1599;
  goto ret0;

  L1599: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1600;
  goto ret0;

  L1600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_162 (operands);
      }
  goto ret0;

  L1388: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1389;
  goto ret0;

  L1389: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1390;
  goto ret0;

  L1390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_147 (operands);
      }
  goto ret0;
 ret0: return 0;
}

rtx
split_2 (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, x7 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != SImode)
    goto ret0;
  switch (GET_CODE (x3))
    {
    default:
      break;
    case PLUS:
      goto L410;
    case MINUS:
      goto L566;
    case IOR:
      goto L1477;
    case XOR:
      goto L1276;
    case NOT:
      goto L1345;
    case AND:
      goto L1411;
    }
  goto ret0;

  L410: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L411;
    }
  goto ret0;

  L411: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_short_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L412;
    }
  goto ret0;

  L412: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L413;
  goto ret0;

  L413: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L414;
  goto ret0;

  L414: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L415;
    }
  goto ret0;

  L415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L416;
  goto ret0;

  L416: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L417;
  goto ret0;

  L417: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_56 (operands);
  goto ret0;

  L566: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L567;
    }
  goto ret0;

  L567: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L568;
    }
  goto ret0;

  L568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L569;
  goto ret0;

  L569: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L570;
  goto ret0;

  L570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L571;
    }
  goto ret0;

  L571: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MINUS && 1)
    goto L572;
  goto ret0;

  L572: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L573;
  goto ret0;

  L573: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_70 (operands);
  goto ret0;

  L1477: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1478;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1214;
    }
  goto ret0;

  L1478: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1551;
    }
  goto ret0;

  L1551: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1552;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1480;
    }
  goto ret0;

  L1552: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1553;
    }
  goto ret0;

  L1553: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1554;
  goto ret0;

  L1554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1555;
  goto ret0;

  L1555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1556;
    }
  goto ret0;

  L1556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1557;
  goto ret0;

  L1557: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1558;
  goto ret0;

  L1558: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1559;
  goto ret0;

  L1559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1560;
  goto ret0;

  L1560: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_159 (operands);
  goto ret0;

  L1480: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1481;
  goto ret0;

  L1481: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1482;
  goto ret0;

  L1482: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1483;
    }
  goto ret0;

  L1483: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1484;
  goto ret0;

  L1484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1485;
  goto ret0;

  L1485: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1486;
  goto ret0;

  L1486: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_154 (operands);
  goto ret0;

  L1214: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1215;
    }
  goto ret0;

  L1215: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1216;
  goto ret0;

  L1216: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1217;
  goto ret0;

  L1217: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1218;
    }
  goto ret0;

  L1218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == IOR && 1)
    goto L1219;
  goto ret0;

  L1219: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L1220;
  goto ret0;

  L1220: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_131 (operands);
  goto ret0;

  L1276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1277;
    }
  goto ret0;

  L1277: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1278;
    }
  goto ret0;

  L1278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1279;
  goto ret0;

  L1279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1280;
  goto ret0;

  L1280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1281;
    }
  goto ret0;

  L1281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == XOR && 1)
    goto L1282;
  goto ret0;

  L1282: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L1283;
  goto ret0;

  L1283: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_138 (operands);
  goto ret0;

  L1345: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == XOR && 1)
    goto L1346;
  goto ret0;

  L1346: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1347;
    }
  goto ret0;

  L1347: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (reg_or_short_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1348;
    }
  goto ret0;

  L1348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1349;
  goto ret0;

  L1349: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1350;
  goto ret0;

  L1350: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1351;
    }
  goto ret0;

  L1351: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == NOT && 1)
    goto L1352;
  goto ret0;

  L1352: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == XOR && 1)
    goto L1353;
  goto ret0;

  L1353: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1354;
  goto ret0;

  L1354: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_144 (operands);
  goto ret0;

  L1411: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == NOT && 1)
    goto L1412;
  goto ret0;

  L1412: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L1625;
    }
  goto ret0;

  L1625: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == NOT && 1)
    goto L1626;
  if (gpc_reg_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1414;
    }
  goto ret0;

  L1626: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (gpc_reg_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L1627;
    }
  goto ret0;

  L1627: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1628;
  goto ret0;

  L1628: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1629;
  goto ret0;

  L1629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1630;
    }
  goto ret0;

  L1630: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1631;
  goto ret0;

  L1631: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1632;
  goto ret0;

  L1632: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1633;
  goto ret0;

  L1633: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1634;
  goto ret0;

  L1634: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_164 (operands);
  goto ret0;

  L1414: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1415;
  goto ret0;

  L1415: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1416;
  goto ret0;

  L1416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1417;
    }
  goto ret0;

  L1417: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1418;
  goto ret0;

  L1418: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L1419;
  goto ret0;

  L1419: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[1]) && 1)
    goto L1420;
  goto ret0;

  L1420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_149 (operands);
  goto ret0;
 ret0: return 0;
}

rtx
split_3 (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, x7 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case CCmode:
      if (cc_reg_not_cr0_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L385;
	}
    L407: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_not_cr0_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L408;
	}
    L464: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_not_cr0_operand (x2, CCmode))
	{
	  ro[2] = x2;
	  goto L465;
	}
    L5256: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[0] = x2;
	  goto L5257;
	}
    L5296: ATTRIBUTE_UNUSED_LABEL
      if (cc_reg_operand (x2, CCmode))
	{
	  ro[3] = x2;
	  goto L5297;
	}
      break;
    case SImode:
      if (gpc_reg_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L577;
	}
      break;
    case SFmode:
      if (gpc_reg_operand (x2, SFmode))
	{
	  ro[0] = x2;
	  goto L2724;
	}
      break;
    case DFmode:
      if (gpc_reg_operand (x2, DFmode))
	{
	  ro[0] = x2;
	  goto L2823;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L3314;
	}
      break;
    case CCUNSmode:
      if (cc_reg_operand (x2, CCUNSmode))
	{
	  ro[3] = x2;
	  goto L5308;
	}
    }
  goto ret0;

  L385: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L386;
  x2 = XEXP (x1, 0);
  goto L407;
 L386: ATTRIBUTE_UNUSED_LABEL
  tem = split_1 (x0, insn);
  if (tem != 0) return tem;
  x2 = XEXP (x1, 0);
  goto L407;

  L408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L409;
  x2 = XEXP (x1, 0);
  goto L464;
 L409: ATTRIBUTE_UNUSED_LABEL
  tem = split_2 (x0, insn);
  if (tem != 0) return tem;
  x2 = XEXP (x1, 0);
  goto L464;

  L465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L466;
  x2 = XEXP (x1, 0);
  goto L5256;

  L466: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == NOT && 1)
    goto L467;
  x2 = XEXP (x1, 0);
  goto L5256;

  L467: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L468;
    }
  x2 = XEXP (x1, 0);
  goto L5256;

  L468: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L469;
  x2 = XEXP (x1, 0);
  goto L5256;

  L469: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L470;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5256;

  L470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L471;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5256;

  L471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == NOT && 1)
    goto L472;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5256;

  L472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    if (! TARGET_POWERPC64 && reload_completed)
      return gen_split_62 (operands);
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5256;

  L5257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5258;
  x2 = XEXP (x1, 0);
  goto L5296;

  L5258: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5259;
    }
  x2 = XEXP (x1, 0);
  goto L5296;

  L5259: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && non_short_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5260;
    }
  x2 = XEXP (x1, 0);
  goto L5296;

  L5260: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5261;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5296;

  L5261: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (find_single_use (operands[0], insn, 0)
   && (GET_CODE (*find_single_use (operands[0], insn, 0)) == EQ
       || GET_CODE (*find_single_use (operands[0], insn, 0)) == NE))
	return gen_split_559 (operands);
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L5296;

  L5297: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L5298;
  goto ret0;

  L5298: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5299;
    }
  goto ret0;

  L5299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5300;
    }
  goto ret0;

  L5300: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L5301;
  goto ret0;

  L5301: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5302;
    }
  goto ret0;

  L5302: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5303;
  goto ret0;

  L5303: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L5304;
  goto ret0;

  L5304: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[4] = x3;
      return gen_split_564 (operands);
    }
  goto ret0;

  L577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case SMIN:
      goto L578;
    case SMAX:
      goto L586;
    case ABS:
      goto L671;
    case NEG:
      goto L698;
    case PLUS:
      goto L5463;
    }
  goto ret0;

  L578: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L579;
    }
  goto ret0;

  L579: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L580;
    }
  goto ret0;

  L580: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L581;
  goto ret0;

  L581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return gen_split_73 (operands);
      }
  goto ret0;

  L586: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L587;
    }
  goto ret0;

  L587: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_short_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L588;
    }
  goto ret0;

  L588: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L589;
  goto ret0;

  L589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_POWER)
	return gen_split_75 (operands);
      }
  goto ret0;

  L671: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L672;
    }
  goto ret0;

  L672: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L673;
  goto ret0;

  L673: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWER && reload_completed)
	return gen_split_84 (operands);
      }
  goto ret0;

  L698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == ABS && 1)
    goto L699;
  goto ret0;

  L699: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L700;
    }
  goto ret0;

  L700: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L701;
  goto ret0;

  L701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_POWER && reload_completed)
	return gen_split_87 (operands);
      }
  goto ret0;

  L5463: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (comparison_operator (x3, VOIDmode))
    {
      ro[1] = x3;
      goto L5464;
    }
  goto ret0;

  L5464: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[2] = x4;
  goto L5465;

  L5465: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L5466;
    }
  goto ret0;

  L5466: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[4] = x3;
      goto L5467;
    }
  goto ret0;

  L5467: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L5468;
  goto ret0;

  L5468: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[5] = x2;
      if (! gpc_reg_operand (operands[2], SImode))
	return gen_split_578 (operands);
      }
  goto ret0;

  L2724: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SFmode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case SMAX:
      goto L2725;
    case SMIN:
      goto L2733;
    }
  goto ret0;

  L2725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L2726;
    }
  goto ret0;

  L2726: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[2] = x3;
      goto L2727;
    }
  goto ret0;

  L2727: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2728;
  goto ret0;

  L2728: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return gen_split_265 (operands);
      }
  goto ret0;

  L2733: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L2734;
    }
  goto ret0;

  L2734: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, SFmode))
    {
      ro[2] = x3;
      goto L2735;
    }
  goto ret0;

  L2735: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2736;
  goto ret0;

  L2736: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return gen_split_267 (operands);
      }
  goto ret0;

  L2823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case SMAX:
      goto L2824;
    case SMIN:
      goto L2832;
    }
  goto ret0;

  L2824: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2825;
    }
  goto ret0;

  L2825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L2826;
    }
  goto ret0;

  L2826: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2827;
  goto ret0;

  L2827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return gen_split_284 (operands);
      }
  goto ret0;

  L2832: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2833;
    }
  goto ret0;

  L2833: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L2834;
    }
  goto ret0;

  L2834: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2835;
  goto ret0;

  L2835: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      if (TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT)
	return gen_split_286 (operands);
      }
  goto ret0;

  L3314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ABS:
      goto L3315;
    case NEG:
      goto L3335;
    }
  goto ret0;

  L3315: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L3316;
    }
  goto ret0;

  L3316: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3317;
  goto ret0;

  L3317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64 && reload_completed)
	return gen_split_344 (operands);
      }
  goto ret0;

  L3335: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ABS && 1)
    goto L3336;
  goto ret0;

  L3336: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L3337;
    }
  goto ret0;

  L3337: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L3338;
  goto ret0;

  L3338: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64 && reload_completed)
	return gen_split_346 (operands);
      }
  goto ret0;

  L5308: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCUNSmode && GET_CODE (x2) == COMPARE && 1)
    goto L5309;
  goto ret0;

  L5309: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L5310;
    }
  goto ret0;

  L5310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && u_short_cint_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L5311;
    }
  goto ret0;

  L5311: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L5312;
  goto ret0;

  L5312: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L5313;
    }
  goto ret0;

  L5313: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L5314;
  goto ret0;

  L5314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L5315;
  goto ret0;

  L5315: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && short_cint_operand (x3, SImode))
    {
      ro[4] = x3;
      return gen_split_565 (operands);
    }
  goto ret0;
 ret0: return 0;
}

rtx
split_4 (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, x7 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L2975;
    }
  if (GET_CODE (x2) == PC && 1)
    goto L7751;
  goto ret0;

  L2975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
    goto L2976;
  goto ret0;

  L2976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, DFmode))
    {
      ro[1] = x3;
      goto L2977;
    }
  goto ret0;

  L2977: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2978;
  goto ret0;

  L2978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L2979;
    }
  goto ret0;

  L2979: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2980;
  goto ret0;

  L2980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L2981;
    }
  goto ret0;

  L2981: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2982;
  goto ret0;

  L2982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (TARGET_HARD_FLOAT)
      return gen_split_302 (operands);
  goto ret0;

  L7751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE && 1)
    goto L7752;
  goto ret0;

  L7752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (comparison_operator (x3, VOIDmode))
    {
      ro[2] = x3;
      goto L7753;
    }
  goto ret0;

  L7753: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x4, SImode))
	{
	  ro[1] = x4;
	  goto L7754;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x4, DImode))
	{
	  ro[1] = x4;
	  goto L7790;
	}
    }
  goto ret0;

  L7754: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L7755;
  goto ret0;

  L7755: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[5] = x3;
  goto L7756;

  L7756: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  ro[6] = x3;
  goto L7757;

  L7757: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L7758;
  goto ret0;

  L7758: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7759;
    }
  L7776: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L7777;
    }
  goto ret0;

  L7759: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7760;
  x2 = XEXP (x1, 0);
  goto L7776;

  L7760: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L7761;
  x2 = XEXP (x1, 0);
  goto L7776;

  L7761: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7762;
  x2 = XEXP (x1, 0);
  goto L7776;

  L7762: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7763;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7776;

  L7763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7764;
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7776;

  L7764: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7765;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7776;

  L7765: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_704 (operands);
      }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7776;

  L7777: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L7778;
  goto ret0;

  L7778: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L7779;
  goto ret0;

  L7779: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7780;
  goto ret0;

  L7780: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7781;
  goto ret0;

  L7781: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7782;
    }
  goto ret0;

  L7782: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7783;
  goto ret0;

  L7783: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && reload_completed
   && ! gpc_reg_operand (operands[0], SImode))
	return gen_split_705 (operands);
      }
  goto ret0;

  L7790: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L7791;
  goto ret0;

  L7791: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[5] = x3;
  goto L7792;

  L7792: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  ro[6] = x3;
  goto L7793;

  L7793: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L7794;
  goto ret0;

  L7794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (gpc_reg_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L7795;
    }
  L7812: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L7813;
    }
  goto ret0;

  L7795: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7796;
  x2 = XEXP (x1, 0);
  goto L7812;

  L7796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L7797;
  x2 = XEXP (x1, 0);
  goto L7812;

  L7797: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7798;
  x2 = XEXP (x1, 0);
  goto L7812;

  L7798: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7799;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7812;

  L7799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7800;
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7812;

  L7800: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7801;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7812;

  L7801: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64 && reload_completed)
	return gen_split_706 (operands);
      }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L7812;

  L7813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L7814;
  goto ret0;

  L7814: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L7815;
  goto ret0;

  L7815: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
    goto L7816;
  goto ret0;

  L7816: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7817;
  goto ret0;

  L7817: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L7818;
    }
  goto ret0;

  L7818: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L7819;
  goto ret0;

  L7819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[4] = x2;
      if (TARGET_POWERPC64 && reload_completed
   && ! gpc_reg_operand (operands[0], DImode))
	return gen_split_707 (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, x7 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  L382: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x0))
    {
    default:
      break;
    case PARALLEL:
      if (XVECLEN (x0, 0) == 2 && 1)
	goto L383;
      if (XVECLEN (x0, 0) == 3 && 1)
	goto L1109;
      if (XVECLEN (x0, 0) == 6 && 1)
	goto L2881;
      if (XVECLEN (x0, 0) == 5 && 1)
	goto L2920;
      if (XVECLEN (x0, 0) == 4 && 1)
	goto L2973;
      break;
    case SET:
      goto L419;
    }
  goto ret0;

  L383: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L384;
  goto ret0;
 L384: ATTRIBUTE_UNUSED_LABEL
  return split_3 (x0, insn);

  L1109: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L1110;
  goto ret0;

  L1110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != CCmode)
    goto ret0;
  if (cc_reg_not_cr0_operand (x2, CCmode))
    {
      ro[0] = x2;
      goto L1111;
    }
  L1150: ATTRIBUTE_UNUSED_LABEL
  if (cc_reg_not_cr0_operand (x2, CCmode))
    {
      ro[3] = x2;
      goto L1151;
    }
  goto ret0;

  L1111: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L1112;
  x2 = XEXP (x1, 0);
  goto L1150;

  L1112: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1113;
  x2 = XEXP (x1, 0);
  goto L1150;

  L1113: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1114;
    }
  x2 = XEXP (x1, 0);
  goto L1150;

  L1114: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1115;
    }
  x2 = XEXP (x1, 0);
  goto L1150;

  L1115: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1116;
  x2 = XEXP (x1, 0);
  goto L1150;

  L1116: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1150;

  L1117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      goto L1118;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1150;

  L1118: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1119;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1150;

  L1119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_123 (operands);
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1150;

  L1151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode && GET_CODE (x2) == COMPARE && 1)
    goto L1152;
  goto ret0;

  L1152: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == AND && 1)
    goto L1153;
  goto ret0;

  L1153: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (gpc_reg_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L1154;
    }
  goto ret0;

  L1154: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (and_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1155;
    }
  goto ret0;

  L1155: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1156;
  goto ret0;

  L1156: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1157;
  goto ret0;

  L1157: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[0] = x2;
      goto L1158;
    }
  goto ret0;

  L1158: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == AND && 1)
    goto L1159;
  goto ret0;

  L1159: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[1]) && 1)
    goto L1160;
  goto ret0;

  L1160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, ro[2]) && 1)
    goto L1161;
  goto ret0;

  L1161: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1162;
  goto ret0;

  L1162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, CCmode))
    {
      ro[4] = x2;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_125 (operands);
      }
  goto ret0;

  L2881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L2882;
  goto ret0;

  L2882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[0] = x2;
      goto L2883;
    }
  goto ret0;

  L2883: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT && 1)
    goto L2884;
  goto ret0;

  L2884: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2885;
    }
  goto ret0;

  L2885: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2886;
  goto ret0;

  L2886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2887;
    }
  goto ret0;

  L2887: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2888;
  goto ret0;

  L2888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2889;
    }
  goto ret0;

  L2889: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2890;
  goto ret0;

  L2890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[4] = x2;
      goto L2891;
    }
  goto ret0;

  L2891: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2892;
  goto ret0;

  L2892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[5] = x2;
      goto L2893;
    }
  goto ret0;

  L2893: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2894;
  goto ret0;

  L2894: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
      return gen_split_292 (operands);
  goto ret0;

  L2920: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L2921;
  goto ret0;

  L2921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[0] = x2;
      goto L2922;
    }
  goto ret0;

  L2922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == UNSIGNED_FLOAT && 1)
    goto L2923;
  goto ret0;

  L2923: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L2924;
    }
  goto ret0;

  L2924: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L2925;
  goto ret0;

  L2925: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L2926;
    }
  goto ret0;

  L2926: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L2927;
  goto ret0;

  L2927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DFmode))
    {
      ro[3] = x2;
      goto L2928;
    }
  goto ret0;

  L2928: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2929;
  goto ret0;

  L2929: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, VOIDmode))
    {
      ro[4] = x2;
      goto L2930;
    }
  goto ret0;

  L2930: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L2931;
  goto ret0;

  L2931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode && GET_CODE (x2) == REG && XINT (x2, 0) == 76 && 1)
    if (! TARGET_POWERPC64 && TARGET_HARD_FLOAT)
      return gen_split_295 (operands);
  goto ret0;

  L2973: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L2974;
  goto ret0;
 L2974: ATTRIBUTE_UNUSED_LABEL
  return split_4 (x0, insn);

  L419: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case SImode:
      if (gpc_reg_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L420;
	}
      break;
    case DImode:
      if (gpc_reg_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L3048;
	}
      break;
    case SFmode:
      if (gpc_reg_operand (x1, SFmode))
	{
	  ro[0] = x1;
	  goto L4145;
	}
      break;
    case DFmode:
      if (gpc_reg_operand (x1, DFmode))
	{
	  ro[0] = x1;
	  goto L4156;
	}
    }
  goto ret0;

  L420: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case PLUS:
	  goto L421;
	case IOR:
	  goto L1224;
	case XOR:
	  goto L1287;
	}
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case UNSPEC:
      if (XINT (x1, 1) == 8 && XVECLEN (x1, 0) == 2 && 1)
	goto L4117;
      break;
    case CONST_INT:
      ro[1] = x1;
      if ((unsigned HOST_WIDE_INT) (INTVAL (operands[1]) + 0x8000) >= 0x10000
   && (INTVAL (operands[1]) & 0xffff) != 0)
	return gen_split_424 (operands);
    }
  goto ret0;

  L421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L422;
    }
  goto ret0;

  L422: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_add_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      return gen_split_57 (operands);
    }
  goto ret0;

  L1224: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L1225;
    }
  goto ret0;

  L1225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_logical_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      return gen_split_132 (operands);
    }
  goto ret0;

  L1287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L1288;
    }
  goto ret0;

  L1288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_logical_cint_operand (x2, SImode))
    {
      ro[2] = x2;
      return gen_split_139 (operands);
    }
  goto ret0;

  L4117: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (got_no_const_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L4118;
    }
  goto ret0;

  L4118: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, SImode))
    {
      ro[2] = x2;
      if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
    && flag_pic == 1
    && (reload_in_progress || reload_completed))
	return gen_split_421 (operands);
      }
  goto ret0;

  L3048: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case MULT:
	  goto L3049;
	case PLUS:
	  goto L3233;
	case IOR:
	  goto L3848;
	case XOR:
	  goto L3888;
	}
    }
  if (GET_CODE (x1) == CONST_INT && 1)
    {
      ro[1] = x1;
      if (! TARGET_POWERPC64 && reload_completed)
	return gen_split_446 (operands);
      }
  L4187: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x1, DImode))
    {
      ro[1] = x1;
      if (HOST_BITS_PER_WIDE_INT == 32 && ! TARGET_POWERPC64 && reload_completed)
	return gen_split_447 (operands);
      }
  L4198: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == CONST_INT && 1)
    {
      ro[1] = x1;
      if (HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
   && num_insns_constant (operands[1], DImode) > 1)
	return gen_split_450 (operands);
      }
  L4201: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x1, DImode))
    goto L4205;
  L4209: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x1, DImode))
    {
      ro[1] = x1;
      if (HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
   && GET_CODE (operands[1]) == CONST_DOUBLE
   && CONST_DOUBLE_LOW (operands[1]) == 0)
	return gen_split_453 (operands);
      }
  L4212: ATTRIBUTE_UNUSED_LABEL
  if (mask64_operand (x1, DImode))
    {
      ro[1] = x1;
      if (TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1)
	return gen_split_454 (operands);
      }
  L4215: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x1, DImode))
    {
      ro[1] = x1;
      if (TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1)
	return gen_split_455 (operands);
      }
  goto ret0;

  L3049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case SIGN_EXTEND:
      goto L3050;
    case ZERO_EXTEND:
      goto L3083;
    }
  goto ret0;

  L3050: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L3051;
    }
  goto ret0;

  L3051: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L3052;
  goto ret0;

  L3052: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC && ! TARGET_POWERPC64 && reload_completed)
	return gen_split_317 (operands);
      }
  goto ret0;

  L3083: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L3084;
    }
  goto ret0;

  L3084: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
    goto L3085;
  goto ret0;

  L3085: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (gpc_reg_operand (x3, SImode))
    {
      ro[2] = x3;
      if (TARGET_POWERPC && ! TARGET_POWERPC64 && reload_completed)
	return gen_split_321 (operands);
      }
  goto ret0;

  L3233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3234;
    }
  goto ret0;

  L3234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_add_cint_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return gen_split_335 (operands);
      }
  goto ret0;

  L3848: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3849;
    }
  goto ret0;

  L3849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_logical_cint_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return gen_split_396 (operands);
      }
  goto ret0;

  L3888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (gpc_reg_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L3889;
    }
  goto ret0;

  L3889: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && non_logical_cint_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_POWERPC64)
	return gen_split_401 (operands);
      }
  goto ret0;

  L4205: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
   && GET_CODE (operands[1]) == CONST_DOUBLE
   && ((CONST_DOUBLE_HIGH (operands[1]) == 0
        && (CONST_DOUBLE_LOW (operands[1]) & 0x80000000) == 0)
       || (CONST_DOUBLE_HIGH (operands[1]) == (HOST_WIDE_INT) 0xffffffff
           && (CONST_DOUBLE_LOW (operands[1]) & 0x80000000) != 0)))
    return gen_split_451 (operands);
  L4206: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
   && GET_CODE (operands[1]) == CONST_DOUBLE
   && CONST_DOUBLE_HIGH (operands[1]) == 0
   && (CONST_DOUBLE_LOW (operands[1]) & 0x80000000) != 0)
    return gen_split_452 (operands);
  goto L4209;

  L4145: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const_double_operand (x1, SFmode))
    {
      ro[1] = x1;
      if (reload_completed
   && ((GET_CODE (operands[0]) == REG && REGNO (operands[0]) <= 31)
       || (GET_CODE (operands[0]) == SUBREG
	   && GET_CODE (SUBREG_REG (operands[0])) == REG
	   && REGNO (SUBREG_REG (operands[0])) <= 31)))
	return gen_split_433 (operands);
      }
  goto ret0;

  L4156: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CONST_INT && 1)
    {
      ro[1] = x1;
      if (! TARGET_POWERPC64 && reload_completed
   && ((GET_CODE (operands[0]) == REG && REGNO (operands[0]) <= 31)
       || (GET_CODE (operands[0]) == SUBREG
	   && GET_CODE (SUBREG_REG (operands[0])) == REG
	   && REGNO (SUBREG_REG (operands[0])) <= 31)))
	return gen_split_437 (operands);
      }
  L4159: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x1, DFmode))
    {
      ro[1] = x1;
      if (! TARGET_POWERPC64 && reload_completed
   && ((GET_CODE (operands[0]) == REG && REGNO (operands[0]) <= 31)
       || (GET_CODE (operands[0]) == SUBREG
	   && GET_CODE (SUBREG_REG (operands[0])) == REG
	   && REGNO (SUBREG_REG (operands[0])) <= 31)))
	return gen_split_438 (operands);
      }
  L4162: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == CONST_DOUBLE && easy_fp_constant (x1, DFmode))
    {
      ro[1] = x1;
      if (TARGET_POWERPC64 && reload_completed
   && ((GET_CODE (operands[0]) == REG && REGNO (operands[0]) <= 31)
       || (GET_CODE (operands[0]) == SUBREG
	   && GET_CODE (SUBREG_REG (operands[0])) == REG
	   && REGNO (SUBREG_REG (operands[0])) <= 31)))
	return gen_split_439 (operands);
      }
  goto ret0;
 ret0: return 0;
}

