NetBSD/gnu/usr.bin/gcc2/arch/i386/insn-recog.c

6159 lines
98 KiB
C

/* Generated automatically by the program `genrecog'
from the machine description file `md'. */
#include "config.h"
#include "rtl.h"
#include "insn-config.h"
#include "recog.h"
#include "real.h"
#include "output.h"
#include "flags.h"
/* `recog' contains a decision tree
that recognizes whether the rtx X0 is a valid instruction.
recog returns -1 if the rtx is not valid.
If the rtx is valid, recog returns a nonnegative number
which is the insn code number for the pattern that matched.
This is the same as the order in the machine description of
the entry that matched. This number can be used as an index into
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.*/
rtx recog_operand[MAX_RECOG_OPERANDS];
rtx *recog_operand_loc[MAX_RECOG_OPERANDS];
rtx *recog_dup_loc[MAX_DUP_OPERANDS];
char recog_dup_num[MAX_DUP_OPERANDS];
#define operands recog_operand
int
recog_1 (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
x1 = XEXP (x0, 1);
switch (GET_MODE (x1))
{
case SImode:
if (nonimmediate_operand (x1, SImode))
{
ro[0] = x1;
return 0;
}
break;
case HImode:
if (nonimmediate_operand (x1, HImode))
{
ro[0] = x1;
return 2;
}
break;
case QImode:
if (nonimmediate_operand (x1, QImode))
{
ro[0] = x1;
return 4;
}
break;
case SFmode:
if (pnum_clobbers != 0 && register_operand (x1, SFmode))
{
ro[0] = x1;
if (TARGET_80387 && ! TARGET_IEEE_FP)
{
*pnum_clobbers = 1;
return 6;
}
}
break;
case DFmode:
if (pnum_clobbers != 0 && register_operand (x1, DFmode))
{
ro[0] = x1;
if (TARGET_80387 && ! TARGET_IEEE_FP)
{
*pnum_clobbers = 1;
return 8;
}
}
}
switch (GET_CODE (x1))
{
case COMPARE:
goto L30;
case ZERO_EXTRACT:
goto L813;
}
L52:
if (VOIDmode_compare_op (x1, VOIDmode))
{
ro[2] = x1;
goto L82;
}
L125:
switch (GET_MODE (x1))
{
case CCFPEQmode:
switch (GET_CODE (x1))
{
case COMPARE:
goto L126;
}
break;
case SImode:
switch (GET_CODE (x1))
{
case AND:
goto L187;
}
break;
case HImode:
switch (GET_CODE (x1))
{
case AND:
goto L192;
}
break;
case QImode:
if (GET_CODE (x1) == AND && 1)
goto L197;
}
goto ret0;
L30:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case SImode:
if (nonimmediate_operand (x2, SImode))
{
ro[0] = x2;
goto L31;
}
break;
case HImode:
if (nonimmediate_operand (x2, HImode))
{
ro[0] = x2;
goto L36;
}
break;
case QImode:
if (nonimmediate_operand (x2, QImode))
{
ro[0] = x2;
goto L41;
}
}
goto L52;
L31:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[1] = x2;
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
return 10;
}
goto L52;
L36:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[1] = x2;
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
return 12;
}
goto L52;
L41:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[1] = x2;
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
return 14;
}
goto L52;
L813:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case SImode:
if (register_operand (x2, SImode))
{
ro[0] = x2;
goto L814;
}
break;
case QImode:
if (general_operand (x2, QImode))
{
ro[0] = x2;
goto L826;
}
}
goto L52;
L814:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) != CONST_INT)
{
goto L52;
}
if (XWINT (x2, 0) == 1 && 1)
goto L815;
L820:
ro[1] = x2;
goto L821;
L815:
x2 = XEXP (x1, 2);
if (general_operand (x2, SImode))
{
ro[1] = x2;
if (GET_CODE (operands[1]) != CONST_INT)
return 167;
}
x2 = XEXP (x1, 1);
goto L820;
L821:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
return 168;
}
goto L52;
L826:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[1] = x2;
goto L827;
}
goto L52;
L827:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
if (GET_CODE (operands[0]) != MEM || ! MEM_VOLATILE_P (operands[0]))
return 169;
}
goto L52;
L82:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DFmode:
switch (GET_CODE (x2))
{
case FLOAT:
goto L83;
case FLOAT_EXTEND:
goto L113;
case SUBREG:
case REG:
case MEM:
if (nonimmediate_operand (x2, DFmode))
{
ro[0] = x2;
goto L54;
}
}
L67:
if (register_operand (x2, DFmode))
{
ro[0] = x2;
goto L68;
}
break;
case SFmode:
if (GET_CODE (x2) == FLOAT && 1)
goto L169;
if (nonimmediate_operand (x2, SFmode))
{
ro[0] = x2;
goto L140;
}
L153:
if (register_operand (x2, SFmode))
{
ro[0] = x2;
goto L154;
}
}
goto L125;
L83:
x3 = XEXP (x2, 0);
if (nonimmediate_operand (x3, SImode))
{
ro[0] = x3;
goto L84;
}
goto L125;
L84:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 18;
}
}
goto L125;
L113:
x3 = XEXP (x2, 0);
if (nonimmediate_operand (x3, SFmode))
{
ro[0] = x3;
goto L114;
}
goto L125;
L114:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 20;
}
}
goto L125;
L54:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && nonimmediate_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM))
{
*pnum_clobbers = 1;
return 16;
}
}
x2 = XEXP (x1, 0);
goto L67;
L68:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != DFmode)
{
goto L125;
}
switch (GET_CODE (x2))
{
case FLOAT:
goto L69;
case FLOAT_EXTEND:
goto L99;
}
goto L125;
L69:
x3 = XEXP (x2, 0);
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SImode))
{
ro[1] = x3;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 17;
}
}
goto L125;
L99:
x3 = XEXP (x2, 0);
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 19;
}
}
goto L125;
L169:
x3 = XEXP (x2, 0);
if (nonimmediate_operand (x3, SImode))
{
ro[0] = x3;
goto L170;
}
goto L125;
L170:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && register_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 24;
}
}
goto L125;
L140:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && nonimmediate_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM))
{
*pnum_clobbers = 1;
return 22;
}
}
x2 = XEXP (x1, 0);
goto L153;
L154:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT && 1)
goto L155;
goto L125;
L155:
x3 = XEXP (x2, 0);
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SImode))
{
ro[1] = x3;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 23;
}
}
goto L125;
L126:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DFmode:
if (register_operand (x2, DFmode))
{
ro[0] = x2;
goto L127;
}
break;
case SFmode:
if (register_operand (x2, SFmode))
{
ro[0] = x2;
goto L183;
}
}
goto ret0;
L127:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 21;
}
}
goto ret0;
L183:
x2 = XEXP (x1, 1);
if (pnum_clobbers != 0 && register_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 25;
}
}
goto ret0;
L187:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[0] = x2;
goto L188;
}
goto ret0;
L188:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[1] = x2;
return 32;
}
goto ret0;
L192:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[0] = x2;
goto L193;
}
goto ret0;
L193:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[1] = x2;
return 33;
}
goto ret0;
L197:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[0] = x2;
goto L198;
}
goto ret0;
L198:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[1] = x2;
return 34;
}
goto ret0;
ret0: return -1;
}
int
recog_2 (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
x1 = XEXP (x0, 1);
x2 = XEXP (x1, 0);
switch (GET_CODE (x2))
{
case EQ:
goto L882;
case NE:
goto L891;
case GT:
goto L900;
case GTU:
goto L909;
case LT:
goto L918;
case LTU:
goto L927;
case GE:
goto L936;
case GEU:
goto L945;
case LE:
goto L954;
case LEU:
goto L963;
}
goto ret0;
L882:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L883;
goto ret0;
L883:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L884;
goto ret0;
L884:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L885;
case PC:
goto L975;
}
goto ret0;
L885:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L886;
L886:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 191;
goto ret0;
L975:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L976;
goto ret0;
L976:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 210;
L891:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L892;
goto ret0;
L892:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L893;
goto ret0;
L893:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L894;
case PC:
goto L984;
}
goto ret0;
L894:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L895;
L895:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 193;
goto ret0;
L984:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L985;
goto ret0;
L985:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 211;
L900:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L901;
goto ret0;
L901:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L902;
goto ret0;
L902:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L903;
case PC:
goto L993;
}
goto ret0;
L903:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L904;
L904:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 195;
goto ret0;
L993:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L994;
goto ret0;
L994:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 212;
L909:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L910;
goto ret0;
L910:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L911;
goto ret0;
L911:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L912;
case PC:
goto L1002;
}
goto ret0;
L912:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L913;
L913:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 197;
goto ret0;
L1002:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1003;
goto ret0;
L1003:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 213;
L918:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L919;
goto ret0;
L919:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L920;
goto ret0;
L920:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L921;
case PC:
goto L1011;
}
goto ret0;
L921:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L922;
L922:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 199;
goto ret0;
L1011:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1012;
goto ret0;
L1012:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 214;
L927:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L928;
goto ret0;
L928:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L929;
goto ret0;
L929:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L930;
case PC:
goto L1020;
}
goto ret0;
L930:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L931;
L931:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 201;
goto ret0;
L1020:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1021;
goto ret0;
L1021:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 215;
L936:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L937;
goto ret0;
L937:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L938;
goto ret0;
L938:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L939;
case PC:
goto L1029;
}
goto ret0;
L939:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L940;
L940:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 203;
goto ret0;
L1029:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1030;
goto ret0;
L1030:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 216;
L945:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L946;
goto ret0;
L946:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L947;
goto ret0;
L947:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L948;
case PC:
goto L1038;
}
goto ret0;
L948:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L949;
L949:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 205;
goto ret0;
L1038:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1039;
goto ret0;
L1039:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 217;
L954:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L955;
goto ret0;
L955:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L956;
goto ret0;
L956:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L957;
case PC:
goto L1047;
}
goto ret0;
L957:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L958;
L958:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 207;
goto ret0;
L1047:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1048;
goto ret0;
L1048:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 218;
L963:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CC0 && 1)
goto L964;
goto ret0;
L964:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
goto L965;
goto ret0;
L965:
x2 = XEXP (x1, 1);
switch (GET_CODE (x2))
{
case LABEL_REF:
goto L966;
case PC:
goto L1056;
}
goto ret0;
L966:
x3 = XEXP (x2, 0);
ro[0] = x3;
goto L967;
L967:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == PC && 1)
return 209;
goto ret0;
L1056:
x2 = XEXP (x1, 2);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1057;
goto ret0;
L1057:
x3 = XEXP (x2, 0);
ro[0] = x3;
return 219;
ret0: return -1;
}
int
recog_3 (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
x1 = XEXP (x0, 0);
switch (GET_MODE (x1))
{
case SImode:
switch (GET_CODE (x1))
{
case MEM:
if (push_operand (x1, SImode))
{
ro[0] = x1;
goto L201;
}
break;
case ZERO_EXTRACT:
goto L792;
}
L208:
if (general_operand (x1, SImode))
{
ro[0] = x1;
goto L257;
}
L431:
if (register_operand (x1, SImode))
{
ro[0] = x1;
goto L432;
}
L439:
if (general_operand (x1, SImode))
{
ro[0] = x1;
goto L440;
}
break;
case HImode:
if (GET_CODE (x1) == MEM && push_operand (x1, HImode))
{
ro[0] = x1;
goto L212;
}
L214:
if (general_operand (x1, HImode))
{
ro[0] = x1;
goto L261;
}
break;
case QImode:
if (GET_CODE (x1) == MEM && push_operand (x1, QImode))
{
ro[0] = x1;
goto L222;
}
L224:
if (general_operand (x1, QImode))
{
ro[0] = x1;
goto L427;
}
L829:
if (register_operand (x1, QImode))
{
ro[0] = x1;
goto L830;
}
break;
case SFmode:
if (GET_CODE (x1) == MEM && push_operand (x1, SFmode))
{
ro[0] = x1;
goto L232;
}
L234:
if (general_operand (x1, SFmode))
{
ro[0] = x1;
goto L235;
}
L399:
if (register_operand (x1, SFmode))
{
ro[0] = x1;
goto L400;
}
break;
case DFmode:
if (GET_CODE (x1) == MEM && push_operand (x1, DFmode))
{
ro[0] = x1;
goto L238;
}
L247:
if (general_operand (x1, DFmode))
{
ro[0] = x1;
goto L289;
}
L395:
if (register_operand (x1, DFmode))
{
ro[0] = x1;
goto L396;
}
break;
case DImode:
if (GET_CODE (x1) == MEM && push_operand (x1, DImode))
{
ro[0] = x1;
goto L251;
}
L253:
if (general_operand (x1, DImode))
{
ro[0] = x1;
goto L412;
}
L268:
if (register_operand (x1, DImode))
{
ro[0] = x1;
goto L269;
}
}
switch (GET_CODE (x1))
{
case CC0:
goto L2;
case STRICT_LOW_PART:
goto L218;
case PC:
goto L1081;
}
L1147:
ro[0] = x1;
goto L1148;
L1236:
switch (GET_MODE (x1))
{
case SImode:
if (register_operand (x1, SImode))
{
ro[0] = x1;
goto L1237;
}
break;
case HImode:
if (register_operand (x1, HImode))
{
ro[0] = x1;
goto L1252;
}
break;
case DFmode:
if (register_operand (x1, DFmode))
{
ro[0] = x1;
goto L1258;
}
break;
case SFmode:
if (register_operand (x1, SFmode))
{
ro[0] = x1;
goto L1287;
}
}
goto ret0;
L201:
x1 = XEXP (x0, 1);
if (general_operand (x1, SImode))
goto L205;
x1 = XEXP (x0, 0);
goto L208;
L205:
ro[1] = x1;
if (! TARGET_486)
return 35;
L206:
ro[1] = x1;
if (TARGET_486)
return 36;
x1 = XEXP (x0, 0);
goto L208;
L792:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && general_operand (x2, SImode))
{
ro[0] = x2;
goto L793;
}
goto L1147;
L793:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 1 && 1)
goto L794;
goto L1147;
L794:
x2 = XEXP (x1, 2);
if (general_operand (x2, SImode))
{
ro[2] = x2;
goto L795;
}
goto L1147;
L795:
x1 = XEXP (x0, 1);
if (GET_CODE (x1) == CONST_INT && 1)
{
ro[3] = x1;
if (! TARGET_486 && GET_CODE (operands[2]) != CONST_INT)
return 164;
}
x1 = XEXP (x0, 0);
goto L1147;
L257:
x1 = XEXP (x0, 1);
switch (GET_MODE (x1))
{
case SImode:
switch (GET_CODE (x1))
{
case ZERO_EXTEND:
goto L258;
case SIGN_EXTEND:
goto L278;
case PLUS:
goto L418;
}
}
if (general_operand (x1, SImode))
{
ro[1] = x1;
return 38;
}
x1 = XEXP (x0, 0);
goto L431;
L258:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case HImode:
if (nonimmediate_operand (x2, HImode))
{
ro[1] = x2;
return 52;
}
break;
case QImode:
if (nonimmediate_operand (x2, QImode))
{
ro[1] = x2;
return 54;
}
}
x1 = XEXP (x0, 0);
goto L431;
L278:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case HImode:
if (nonimmediate_operand (x2, HImode))
{
ro[1] = x2;
return 57;
}
break;
case QImode:
if (nonimmediate_operand (x2, QImode))
{
ro[1] = x2;
return 59;
}
}
x1 = XEXP (x0, 0);
goto L431;
L418:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L419;
}
x1 = XEXP (x0, 0);
goto L431;
L419:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 82;
}
x1 = XEXP (x0, 0);
goto L431;
L432:
x1 = XEXP (x0, 1);
if (address_operand (x1, QImode))
{
ro[1] = x1;
return 85;
}
x1 = XEXP (x0, 0);
goto L439;
L440:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) != SImode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
switch (GET_CODE (x1))
{
case MINUS:
goto L441;
case MULT:
goto L468;
case AND:
goto L541;
case IOR:
goto L556;
case XOR:
goto L799;
case NEG:
goto L590;
case NOT:
goto L667;
case ASHIFT:
goto L692;
case ASHIFTRT:
goto L720;
case LSHIFTRT:
goto L748;
case ROTATE:
goto L763;
case ROTATERT:
goto L778;
}
x1 = XEXP (x0, 0);
goto L1147;
L441:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L442;
}
x1 = XEXP (x0, 0);
goto L1147;
L442:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 89;
}
x1 = XEXP (x0, 0);
goto L1147;
L468:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L469;
}
x1 = XEXP (x0, 0);
goto L1147;
L469:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
goto L475;
x1 = XEXP (x0, 0);
goto L1147;
L475:
ro[2] = x2;
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 0x80)
return 96;
L476:
ro[2] = x2;
return 97;
L541:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L542;
}
x1 = XEXP (x0, 0);
goto L1147;
L542:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 109;
}
x1 = XEXP (x0, 0);
goto L1147;
L556:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L557;
}
x1 = XEXP (x0, 0);
goto L1147;
L557:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 112;
}
x1 = XEXP (x0, 0);
goto L1147;
L799:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
goto L800;
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L807;
}
x1 = XEXP (x0, 0);
goto L1147;
L800:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 1 && 1)
goto L801;
x1 = XEXP (x0, 0);
goto L1147;
L801:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[1] = x3;
goto L802;
}
x1 = XEXP (x0, 0);
goto L1147;
L802:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
if (! TARGET_486 && GET_CODE (operands[1]) != CONST_INT)
return 165;
}
x1 = XEXP (x0, 0);
goto L1147;
L807:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
goto L808;
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 115;
}
x1 = XEXP (x0, 0);
goto L1147;
L808:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 1 && 1)
goto L809;
x1 = XEXP (x0, 0);
goto L1147;
L809:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[2] = x3;
if (! TARGET_486 && GET_CODE (operands[2]) != CONST_INT)
return 166;
}
x1 = XEXP (x0, 0);
goto L1147;
L590:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
return 119;
}
x1 = XEXP (x0, 0);
goto L1147;
L667:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
return 137;
}
x1 = XEXP (x0, 0);
goto L1147;
L692:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L693;
}
x1 = XEXP (x0, 0);
goto L1147;
L693:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, SImode))
{
ro[2] = x2;
return 143;
}
x1 = XEXP (x0, 0);
goto L1147;
L720:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L721;
}
x1 = XEXP (x0, 0);
goto L1147;
L721:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, SImode))
{
ro[2] = x2;
return 149;
}
x1 = XEXP (x0, 0);
goto L1147;
L748:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L749;
}
x1 = XEXP (x0, 0);
goto L1147;
L749:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, SImode))
{
ro[2] = x2;
return 155;
}
x1 = XEXP (x0, 0);
goto L1147;
L763:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L764;
}
x1 = XEXP (x0, 0);
goto L1147;
L764:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, SImode))
{
ro[2] = x2;
return 158;
}
x1 = XEXP (x0, 0);
goto L1147;
L778:
x2 = XEXP (x1, 0);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L779;
}
x1 = XEXP (x0, 0);
goto L1147;
L779:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, SImode))
{
ro[2] = x2;
return 161;
}
x1 = XEXP (x0, 0);
goto L1147;
L212:
x1 = XEXP (x0, 1);
if (general_operand (x1, HImode))
{
ro[1] = x1;
return 39;
}
x1 = XEXP (x0, 0);
goto L214;
L261:
x1 = XEXP (x0, 1);
switch (GET_MODE (x1))
{
case HImode:
switch (GET_CODE (x1))
{
case ZERO_EXTEND:
goto L262;
case SIGN_EXTEND:
goto L282;
case PLUS:
goto L423;
case MINUS:
goto L446;
case AND:
goto L546;
case IOR:
goto L561;
case XOR:
goto L576;
case NEG:
goto L594;
case NOT:
goto L671;
case ASHIFT:
goto L697;
case ASHIFTRT:
goto L725;
case LSHIFTRT:
goto L753;
case ROTATE:
goto L768;
case ROTATERT:
goto L783;
}
break;
case SImode:
if (GET_CODE (x1) == MULT && 1)
goto L480;
}
if (general_operand (x1, HImode))
{
ro[1] = x1;
return 40;
}
x1 = XEXP (x0, 0);
goto L1147;
L262:
x2 = XEXP (x1, 0);
if (nonimmediate_operand (x2, QImode))
{
ro[1] = x2;
return 53;
}
x1 = XEXP (x0, 0);
goto L1147;
L282:
x2 = XEXP (x1, 0);
if (nonimmediate_operand (x2, QImode))
{
ro[1] = x2;
return 58;
}
x1 = XEXP (x0, 0);
goto L1147;
L423:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L424;
}
x1 = XEXP (x0, 0);
goto L1147;
L424:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[2] = x2;
return 83;
}
x1 = XEXP (x0, 0);
goto L1147;
L446:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L447;
}
x1 = XEXP (x0, 0);
goto L1147;
L447:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[2] = x2;
return 90;
}
x1 = XEXP (x0, 0);
goto L1147;
L546:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L547;
}
x1 = XEXP (x0, 0);
goto L1147;
L547:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[2] = x2;
return 110;
}
x1 = XEXP (x0, 0);
goto L1147;
L561:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L562;
}
x1 = XEXP (x0, 0);
goto L1147;
L562:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[2] = x2;
return 113;
}
x1 = XEXP (x0, 0);
goto L1147;
L576:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L577;
}
x1 = XEXP (x0, 0);
goto L1147;
L577:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
{
ro[2] = x2;
return 116;
}
x1 = XEXP (x0, 0);
goto L1147;
L594:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
return 120;
}
x1 = XEXP (x0, 0);
goto L1147;
L671:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
return 138;
}
x1 = XEXP (x0, 0);
goto L1147;
L697:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L698;
}
x1 = XEXP (x0, 0);
goto L1147;
L698:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, HImode))
{
ro[2] = x2;
return 144;
}
x1 = XEXP (x0, 0);
goto L1147;
L725:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L726;
}
x1 = XEXP (x0, 0);
goto L1147;
L726:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, HImode))
{
ro[2] = x2;
return 150;
}
x1 = XEXP (x0, 0);
goto L1147;
L753:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L754;
}
x1 = XEXP (x0, 0);
goto L1147;
L754:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, HImode))
{
ro[2] = x2;
return 156;
}
x1 = XEXP (x0, 0);
goto L1147;
L768:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L769;
}
x1 = XEXP (x0, 0);
goto L1147;
L769:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, HImode))
{
ro[2] = x2;
return 159;
}
x1 = XEXP (x0, 0);
goto L1147;
L783:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L784;
}
x1 = XEXP (x0, 0);
goto L1147;
L784:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, HImode))
{
ro[2] = x2;
return 162;
}
x1 = XEXP (x0, 0);
goto L1147;
L480:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == ZERO_EXTEND && 1)
goto L481;
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L457;
}
x1 = XEXP (x0, 0);
goto L1147;
L481:
x3 = XEXP (x2, 0);
if (nonimmediate_operand (x3, QImode))
{
ro[1] = x3;
goto L482;
}
x1 = XEXP (x0, 0);
goto L1147;
L482:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == ZERO_EXTEND && 1)
goto L483;
x1 = XEXP (x0, 0);
goto L1147;
L483:
x3 = XEXP (x2, 0);
if (nonimmediate_operand (x3, QImode))
{
ro[2] = x3;
return 98;
}
x1 = XEXP (x0, 0);
goto L1147;
L457:
x2 = XEXP (x1, 1);
if (general_operand (x2, HImode))
goto L463;
x1 = XEXP (x0, 0);
goto L1147;
L463:
ro[2] = x2;
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 0x80)
return 94;
L464:
ro[2] = x2;
return 95;
L222:
x1 = XEXP (x0, 1);
if (general_operand (x1, QImode))
{
ro[1] = x1;
return 42;
}
x1 = XEXP (x0, 0);
goto L224;
L427:
x1 = XEXP (x0, 1);
switch (GET_MODE (x1))
{
case QImode:
switch (GET_CODE (x1))
{
case PLUS:
goto L428;
case MINUS:
goto L451;
case DIV:
goto L487;
case UDIV:
goto L492;
case AND:
goto L551;
case IOR:
goto L566;
case XOR:
goto L581;
case NEG:
goto L598;
case NOT:
goto L675;
case ASHIFT:
goto L702;
case ASHIFTRT:
goto L730;
case LSHIFTRT:
goto L758;
case ROTATE:
goto L773;
case ROTATERT:
goto L788;
}
}
if (general_operand (x1, QImode))
{
ro[1] = x1;
return 43;
}
x1 = XEXP (x0, 0);
goto L829;
L428:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L429;
}
x1 = XEXP (x0, 0);
goto L829;
L429:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 84;
}
x1 = XEXP (x0, 0);
goto L829;
L451:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L452;
}
x1 = XEXP (x0, 0);
goto L829;
L452:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 91;
}
x1 = XEXP (x0, 0);
goto L829;
L487:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L488;
}
x1 = XEXP (x0, 0);
goto L829;
L488:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 101;
}
x1 = XEXP (x0, 0);
goto L829;
L492:
x2 = XEXP (x1, 0);
if (general_operand (x2, HImode))
{
ro[1] = x2;
goto L493;
}
x1 = XEXP (x0, 0);
goto L829;
L493:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 102;
}
x1 = XEXP (x0, 0);
goto L829;
L551:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L552;
}
x1 = XEXP (x0, 0);
goto L829;
L552:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 111;
}
x1 = XEXP (x0, 0);
goto L829;
L566:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L567;
}
x1 = XEXP (x0, 0);
goto L829;
L567:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 114;
}
x1 = XEXP (x0, 0);
goto L829;
L581:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L582;
}
x1 = XEXP (x0, 0);
goto L829;
L582:
x2 = XEXP (x1, 1);
if (general_operand (x2, QImode))
{
ro[2] = x2;
return 117;
}
x1 = XEXP (x0, 0);
goto L829;
L598:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
return 121;
}
x1 = XEXP (x0, 0);
goto L829;
L675:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
return 139;
}
x1 = XEXP (x0, 0);
goto L829;
L702:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L703;
}
x1 = XEXP (x0, 0);
goto L829;
L703:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, QImode))
{
ro[2] = x2;
return 145;
}
x1 = XEXP (x0, 0);
goto L829;
L730:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L731;
}
x1 = XEXP (x0, 0);
goto L829;
L731:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, QImode))
{
ro[2] = x2;
return 151;
}
x1 = XEXP (x0, 0);
goto L829;
L758:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L759;
}
x1 = XEXP (x0, 0);
goto L829;
L759:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, QImode))
{
ro[2] = x2;
return 157;
}
x1 = XEXP (x0, 0);
goto L829;
L773:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L774;
}
x1 = XEXP (x0, 0);
goto L829;
L774:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, QImode))
{
ro[2] = x2;
return 160;
}
x1 = XEXP (x0, 0);
goto L829;
L788:
x2 = XEXP (x1, 0);
if (general_operand (x2, QImode))
{
ro[1] = x2;
goto L789;
}
x1 = XEXP (x0, 0);
goto L829;
L789:
x2 = XEXP (x1, 1);
if (nonmemory_operand (x2, QImode))
{
ro[2] = x2;
return 163;
}
x1 = XEXP (x0, 0);
goto L829;
L830:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) != QImode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
switch (GET_CODE (x1))
{
case EQ:
goto L831;
case NE:
goto L836;
case GT:
goto L841;
case GTU:
goto L846;
case LT:
goto L851;
case LTU:
goto L856;
case GE:
goto L861;
case GEU:
goto L866;
case LE:
goto L871;
case LEU:
goto L876;
}
x1 = XEXP (x0, 0);
goto L1147;
L831:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L832;
x1 = XEXP (x0, 0);
goto L1147;
L832:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 171;
x1 = XEXP (x0, 0);
goto L1147;
L836:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L837;
x1 = XEXP (x0, 0);
goto L1147;
L837:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 173;
x1 = XEXP (x0, 0);
goto L1147;
L841:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L842;
x1 = XEXP (x0, 0);
goto L1147;
L842:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 175;
x1 = XEXP (x0, 0);
goto L1147;
L846:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L847;
x1 = XEXP (x0, 0);
goto L1147;
L847:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 177;
x1 = XEXP (x0, 0);
goto L1147;
L851:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L852;
x1 = XEXP (x0, 0);
goto L1147;
L852:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 179;
x1 = XEXP (x0, 0);
goto L1147;
L856:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L857;
x1 = XEXP (x0, 0);
goto L1147;
L857:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 181;
x1 = XEXP (x0, 0);
goto L1147;
L861:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L862;
x1 = XEXP (x0, 0);
goto L1147;
L862:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 183;
x1 = XEXP (x0, 0);
goto L1147;
L866:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L867;
x1 = XEXP (x0, 0);
goto L1147;
L867:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 185;
x1 = XEXP (x0, 0);
goto L1147;
L871:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L872;
x1 = XEXP (x0, 0);
goto L1147;
L872:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 187;
x1 = XEXP (x0, 0);
goto L1147;
L876:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CC0 && 1)
goto L877;
x1 = XEXP (x0, 0);
goto L1147;
L877:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
return 189;
x1 = XEXP (x0, 0);
goto L1147;
L232:
x1 = XEXP (x0, 1);
if (general_operand (x1, SFmode))
{
ro[1] = x1;
return 45;
}
x1 = XEXP (x0, 0);
goto L234;
L235:
x1 = XEXP (x0, 1);
if (general_operand (x1, SFmode))
{
ro[1] = x1;
return 46;
}
x1 = XEXP (x0, 0);
goto L399;
L400:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) != SFmode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
switch (GET_CODE (x1))
{
case FLOAT:
goto L401;
case NEG:
goto L602;
case ABS:
goto L615;
case SQRT:
goto L628;
case UNSPEC:
if (XINT (x1, 1) == 1 && XVECLEN (x1, 0) == 1 && 1)
goto L645;
if (XINT (x1, 1) == 2 && XVECLEN (x1, 0) == 1 && 1)
goto L658;
}
x1 = XEXP (x0, 0);
goto L1147;
L401:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DImode:
if (nonimmediate_operand (x2, DImode))
{
ro[1] = x2;
if (TARGET_80387)
return 78;
}
break;
case SImode:
if (nonimmediate_operand (x2, SImode))
{
ro[1] = x2;
if (TARGET_80387)
return 80;
}
}
x1 = XEXP (x0, 0);
goto L1147;
L602:
x2 = XEXP (x1, 0);
if (general_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387)
return 122;
}
x1 = XEXP (x0, 0);
goto L1147;
L615:
x2 = XEXP (x1, 0);
if (general_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387)
return 125;
}
x1 = XEXP (x0, 0);
goto L1147;
L628:
x2 = XEXP (x1, 0);
if (general_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 128;
}
x1 = XEXP (x0, 0);
goto L1147;
L645:
x2 = XVECEXP (x1, 0, 0);
if (register_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 132;
}
x1 = XEXP (x0, 0);
goto L1147;
L658:
x2 = XVECEXP (x1, 0, 0);
if (register_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 135;
}
x1 = XEXP (x0, 0);
goto L1147;
L238:
x1 = XEXP (x0, 1);
if (general_operand (x1, DFmode))
{
ro[1] = x1;
return 47;
}
x1 = XEXP (x0, 0);
goto L247;
L289:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) == DFmode && GET_CODE (x1) == FLOAT_EXTEND && 1)
goto L290;
if (general_operand (x1, DFmode))
{
ro[1] = x1;
return 49;
}
x1 = XEXP (x0, 0);
goto L395;
L290:
x2 = XEXP (x1, 0);
if (general_operand (x2, SFmode))
{
ro[1] = x2;
if (TARGET_80387)
return 60;
}
x1 = XEXP (x0, 0);
goto L395;
L396:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) != DFmode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
switch (GET_CODE (x1))
{
case FLOAT:
goto L397;
case NEG:
goto L610;
case ABS:
goto L623;
case SQRT:
goto L636;
case UNSPEC:
if (XINT (x1, 1) == 1 && XVECLEN (x1, 0) == 1 && 1)
goto L649;
if (XINT (x1, 1) == 2 && XVECLEN (x1, 0) == 1 && 1)
goto L662;
}
x1 = XEXP (x0, 0);
goto L1147;
L397:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DImode:
if (nonimmediate_operand (x2, DImode))
{
ro[1] = x2;
if (TARGET_80387)
return 77;
}
break;
case SImode:
if (nonimmediate_operand (x2, SImode))
{
ro[1] = x2;
if (TARGET_80387)
return 79;
}
}
x1 = XEXP (x0, 0);
goto L1147;
L610:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
goto L611;
if (general_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387)
return 123;
}
x1 = XEXP (x0, 0);
goto L1147;
L611:
x3 = XEXP (x2, 0);
if (general_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387)
return 124;
}
x1 = XEXP (x0, 0);
goto L1147;
L623:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
goto L624;
if (general_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387)
return 126;
}
x1 = XEXP (x0, 0);
goto L1147;
L624:
x3 = XEXP (x2, 0);
if (general_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387)
return 127;
}
x1 = XEXP (x0, 0);
goto L1147;
L636:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
goto L637;
if (general_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 129;
}
x1 = XEXP (x0, 0);
goto L1147;
L637:
x3 = XEXP (x2, 0);
if (general_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 130;
}
x1 = XEXP (x0, 0);
goto L1147;
L649:
x2 = XVECEXP (x1, 0, 0);
if (GET_MODE (x2) != DFmode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
if (GET_CODE (x2) == FLOAT_EXTEND && 1)
goto L650;
if (register_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 131;
}
x1 = XEXP (x0, 0);
goto L1147;
L650:
x3 = XEXP (x2, 0);
if (register_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 133;
}
x1 = XEXP (x0, 0);
goto L1147;
L662:
x2 = XVECEXP (x1, 0, 0);
if (GET_MODE (x2) != DFmode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
if (GET_CODE (x2) == FLOAT_EXTEND && 1)
goto L663;
if (register_operand (x2, DFmode))
{
ro[1] = x2;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 134;
}
x1 = XEXP (x0, 0);
goto L1147;
L663:
x3 = XEXP (x2, 0);
if (register_operand (x3, SFmode))
{
ro[1] = x3;
if (TARGET_80387 && (TARGET_IEEE_FP || flag_fast_math))
return 136;
}
x1 = XEXP (x0, 0);
goto L1147;
L251:
x1 = XEXP (x0, 1);
if (general_operand (x1, DImode))
{
ro[1] = x1;
return 50;
}
x1 = XEXP (x0, 0);
goto L253;
L412:
x1 = XEXP (x0, 1);
switch (GET_MODE (x1))
{
case DImode:
switch (GET_CODE (x1))
{
case PLUS:
goto L413;
case MINUS:
goto L436;
case NEG:
goto L586;
}
}
if (general_operand (x1, DImode))
{
ro[1] = x1;
return 51;
}
x1 = XEXP (x0, 0);
goto L268;
L413:
x2 = XEXP (x1, 0);
if (general_operand (x2, DImode))
{
ro[1] = x2;
goto L414;
}
x1 = XEXP (x0, 0);
goto L268;
L414:
x2 = XEXP (x1, 1);
if (general_operand (x2, DImode))
{
ro[2] = x2;
return 81;
}
x1 = XEXP (x0, 0);
goto L268;
L436:
x2 = XEXP (x1, 0);
if (general_operand (x2, DImode))
{
ro[1] = x2;
goto L437;
}
x1 = XEXP (x0, 0);
goto L268;
L437:
x2 = XEXP (x1, 1);
if (general_operand (x2, DImode))
{
ro[2] = x2;
return 88;
}
x1 = XEXP (x0, 0);
goto L268;
L586:
x2 = XEXP (x1, 0);
if (general_operand (x2, DImode))
{
ro[1] = x2;
return 118;
}
x1 = XEXP (x0, 0);
goto L268;
L269:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) != DImode)
{
x1 = XEXP (x0, 0);
goto L1147;
}
switch (GET_CODE (x1))
{
case ZERO_EXTEND:
goto L270;
case SIGN_EXTEND:
goto L274;
case ASHIFT:
goto L679;
case ASHIFTRT:
goto L707;
case LSHIFTRT:
goto L735;
}
x1 = XEXP (x0, 0);
goto L1147;
L270:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[1] = x2;
return 55;
}
x1 = XEXP (x0, 0);
goto L1147;
L274:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[1] = x2;
return 56;
}
x1 = XEXP (x0, 0);
goto L1147;
L679:
x2 = XEXP (x1, 0);
if (register_operand (x2, DImode))
{
ro[1] = x2;
goto L680;
}
x1 = XEXP (x0, 0);
goto L1147;
L680:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
return 141;
}
x1 = XEXP (x0, 0);
goto L1147;
L707:
x2 = XEXP (x1, 0);
if (register_operand (x2, DImode))
{
ro[1] = x2;
goto L708;
}
x1 = XEXP (x0, 0);
goto L1147;
L708:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
return 147;
}
x1 = XEXP (x0, 0);
goto L1147;
L735:
x2 = XEXP (x1, 0);
if (register_operand (x2, DImode))
{
ro[1] = x2;
goto L736;
}
x1 = XEXP (x0, 0);
goto L1147;
L736:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
return 153;
}
x1 = XEXP (x0, 0);
goto L1147;
L2:
tem = recog_1 (x0, insn, pnum_clobbers);
if (tem >= 0) return tem;
x1 = XEXP (x0, 0);
goto L1147;
L218:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case HImode:
if (general_operand (x2, HImode))
{
ro[0] = x2;
goto L219;
}
break;
case QImode:
if (general_operand (x2, QImode))
{
ro[0] = x2;
goto L229;
}
}
goto L1147;
L219:
x1 = XEXP (x0, 1);
if (general_operand (x1, HImode))
{
ro[1] = x1;
return 41;
}
x1 = XEXP (x0, 0);
goto L1147;
L229:
x1 = XEXP (x0, 1);
if (general_operand (x1, QImode))
{
ro[1] = x1;
return 44;
}
x1 = XEXP (x0, 0);
goto L1147;
L1081:
x1 = XEXP (x0, 1);
switch (GET_CODE (x1))
{
case MINUS:
if (GET_MODE (x1) == SImode && 1)
goto L1082;
break;
case IF_THEN_ELSE:
goto L881;
case LABEL_REF:
goto L1061;
}
L1064:
if (general_operand (x1, SImode))
{
ro[0] = x1;
return 221;
}
x1 = XEXP (x0, 0);
goto L1147;
L1082:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
goto L1083;
x1 = XEXP (x0, 0);
goto L1147;
L1083:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
goto L1084;
x1 = XEXP (x0, 0);
goto L1147;
L1084:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
goto L1085;
x1 = XEXP (x0, 0);
goto L1147;
L1085:
x4 = XEXP (x3, 0);
if (GET_MODE (x4) == SImode && GET_CODE (x4) == MULT && 1)
goto L1086;
x1 = XEXP (x0, 0);
goto L1147;
L1086:
x5 = XEXP (x4, 0);
if (register_operand (x5, SImode))
{
ro[0] = x5;
goto L1087;
}
x1 = XEXP (x0, 0);
goto L1147;
L1087:
x5 = XEXP (x4, 1);
if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 4 && 1)
goto L1088;
x1 = XEXP (x0, 0);
goto L1147;
L1088:
x4 = XEXP (x3, 1);
if (GET_CODE (x4) == LABEL_REF && 1)
goto L1089;
x1 = XEXP (x0, 0);
goto L1147;
L1089:
x5 = XEXP (x4, 0);
if (pnum_clobbers != 0 && 1)
{
ro[1] = x5;
*pnum_clobbers = 1;
return 223;
}
x1 = XEXP (x0, 0);
goto L1147;
L881:
tem = recog_2 (x0, insn, pnum_clobbers);
if (tem >= 0) return tem;
x1 = XEXP (x0, 0);
goto L1147;
L1061:
x2 = XEXP (x1, 0);
ro[0] = x2;
return 220;
L1148:
x1 = XEXP (x0, 1);
if (GET_CODE (x1) == CALL && 1)
goto L1149;
x1 = XEXP (x0, 0);
goto L1236;
L1149:
x2 = XEXP (x1, 0);
if (call_insn_operand (x2, QImode))
{
ro[1] = x2;
goto L1150;
}
L1154:
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
goto L1155;
x1 = XEXP (x0, 0);
goto L1236;
L1150:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
return 235;
}
x2 = XEXP (x1, 0);
goto L1154;
L1155:
x3 = XEXP (x2, 0);
if (symbolic_operand (x3, SImode))
{
ro[1] = x3;
goto L1156;
}
x1 = XEXP (x0, 0);
goto L1236;
L1156:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[2] = x2;
if (!HALF_PIC_P ())
return 236;
}
x1 = XEXP (x0, 0);
goto L1236;
L1237:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) == SImode && GET_CODE (x1) == PLUS && 1)
goto L1238;
goto ret0;
L1238:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FFS && 1)
goto L1239;
goto ret0;
L1239:
x3 = XEXP (x2, 0);
if (general_operand (x3, SImode))
{
ro[1] = x3;
goto L1240;
}
goto ret0;
L1240:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == -1 && pnum_clobbers != 0 && 1)
{
*pnum_clobbers = 1;
return 250;
}
goto ret0;
L1252:
x1 = XEXP (x0, 1);
if (GET_MODE (x1) == HImode && GET_CODE (x1) == PLUS && 1)
goto L1253;
goto ret0;
L1253:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == FFS && 1)
goto L1254;
goto ret0;
L1254:
x3 = XEXP (x2, 0);
if (general_operand (x3, HImode))
{
ro[1] = x3;
goto L1255;
}
goto ret0;
L1255:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == -1 && pnum_clobbers != 0 && 1)
{
*pnum_clobbers = 1;
return 252;
}
goto ret0;
L1258:
x1 = XEXP (x0, 1);
if (binary_387_op (x1, DFmode))
{
ro[3] = x1;
goto L1264;
}
goto ret0;
L1264:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DFmode:
switch (GET_CODE (x2))
{
case FLOAT:
goto L1265;
case FLOAT_EXTEND:
goto L1271;
case SUBREG:
case REG:
case MEM:
if (nonimmediate_operand (x2, DFmode))
{
ro[1] = x2;
goto L1260;
}
}
}
L1276:
if (general_operand (x2, DFmode))
{
ro[1] = x2;
goto L1277;
}
goto ret0;
L1265:
x3 = XEXP (x2, 0);
if (general_operand (x3, SImode))
{
ro[1] = x3;
goto L1266;
}
goto ret0;
L1266:
x2 = XEXP (x1, 1);
if (general_operand (x2, DFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 254;
}
goto ret0;
L1271:
x3 = XEXP (x2, 0);
if (general_operand (x3, SFmode))
{
ro[1] = x3;
goto L1272;
}
goto ret0;
L1272:
x2 = XEXP (x1, 1);
if (general_operand (x2, DFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 255;
}
goto ret0;
L1260:
x2 = XEXP (x1, 1);
if (nonimmediate_operand (x2, DFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 253;
}
x2 = XEXP (x1, 0);
goto L1276;
L1277:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != DFmode)
goto ret0;
switch (GET_CODE (x2))
{
case FLOAT:
goto L1278;
case FLOAT_EXTEND:
goto L1284;
}
goto ret0;
L1278:
x3 = XEXP (x2, 0);
if (general_operand (x3, SImode))
{
ro[2] = x3;
if (TARGET_80387)
return 256;
}
goto ret0;
L1284:
x3 = XEXP (x2, 0);
if (general_operand (x3, SFmode))
{
ro[2] = x3;
if (TARGET_80387)
return 257;
}
goto ret0;
L1287:
x1 = XEXP (x0, 1);
if (binary_387_op (x1, SFmode))
{
ro[3] = x1;
goto L1293;
}
goto ret0;
L1293:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case SFmode:
if (GET_CODE (x2) == FLOAT && 1)
goto L1294;
if (nonimmediate_operand (x2, SFmode))
{
ro[1] = x2;
goto L1289;
}
}
L1299:
if (general_operand (x2, SFmode))
{
ro[1] = x2;
goto L1300;
}
goto ret0;
L1294:
x3 = XEXP (x2, 0);
if (general_operand (x3, SImode))
{
ro[1] = x3;
goto L1295;
}
goto ret0;
L1295:
x2 = XEXP (x1, 1);
if (general_operand (x2, SFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 259;
}
goto ret0;
L1289:
x2 = XEXP (x1, 1);
if (nonimmediate_operand (x2, SFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 258;
}
x2 = XEXP (x1, 0);
goto L1299;
L1300:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT && 1)
goto L1301;
goto ret0;
L1301:
x3 = XEXP (x2, 0);
if (general_operand (x3, SImode))
{
ro[2] = x3;
if (TARGET_80387)
return 260;
}
goto ret0;
ret0: return -1;
}
int
recog_4 (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
switch (GET_MODE (x2))
{
case SFmode:
if (register_operand (x2, SFmode))
{
ro[0] = x2;
goto L13;
}
break;
case DFmode:
if (register_operand (x2, DFmode))
{
ro[0] = x2;
goto L22;
}
}
L45:
if (VOIDmode_compare_op (x2, VOIDmode))
{
ro[2] = x2;
goto L74;
}
L118:
if (GET_MODE (x2) == CCFPEQmode && GET_CODE (x2) == COMPARE && 1)
goto L119;
goto ret0;
L13:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L14;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L45;
L14:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[1] = x2;
if (TARGET_80387 && ! TARGET_IEEE_FP)
return 6;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L45;
L22:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L23;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L45;
L23:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[1] = x2;
if (TARGET_80387 && ! TARGET_IEEE_FP)
return 8;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L45;
L74:
x3 = XEXP (x2, 0);
switch (GET_MODE (x3))
{
case DFmode:
switch (GET_CODE (x3))
{
case FLOAT:
goto L75;
case FLOAT_EXTEND:
goto L105;
case SUBREG:
case REG:
case MEM:
if (nonimmediate_operand (x3, DFmode))
{
ro[0] = x3;
goto L47;
}
}
L59:
if (register_operand (x3, DFmode))
{
ro[0] = x3;
goto L60;
}
break;
case SFmode:
if (GET_CODE (x3) == FLOAT && 1)
goto L161;
if (nonimmediate_operand (x3, SFmode))
{
ro[0] = x3;
goto L133;
}
L145:
if (register_operand (x3, SFmode))
{
ro[0] = x3;
goto L146;
}
}
goto L118;
L75:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SImode))
{
ro[0] = x4;
goto L76;
}
goto L118;
L76:
x3 = XEXP (x2, 1);
if (register_operand (x3, DFmode))
{
ro[1] = x3;
goto L77;
}
goto L118;
L77:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L78;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L78:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 18;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L105:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SFmode))
{
ro[0] = x4;
goto L106;
}
goto L118;
L106:
x3 = XEXP (x2, 1);
if (register_operand (x3, DFmode))
{
ro[1] = x3;
goto L107;
}
goto L118;
L107:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L108;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L108:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 20;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L47:
x3 = XEXP (x2, 1);
if (nonimmediate_operand (x3, DFmode))
{
ro[1] = x3;
goto L48;
}
x3 = XEXP (x2, 0);
goto L59;
L48:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L49;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L59;
L49:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM))
return 16;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L59;
L60:
x3 = XEXP (x2, 1);
if (GET_MODE (x3) != DFmode)
{
goto L118;
}
switch (GET_CODE (x3))
{
case FLOAT:
goto L61;
case FLOAT_EXTEND:
goto L91;
}
goto L118;
L61:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SImode))
{
ro[1] = x4;
goto L62;
}
goto L118;
L62:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L63;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L63:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 17;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L91:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SFmode))
{
ro[1] = x4;
goto L92;
}
goto L118;
L92:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L93;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L93:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 19;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L161:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SImode))
{
ro[0] = x4;
goto L162;
}
goto L118;
L162:
x3 = XEXP (x2, 1);
if (register_operand (x3, SFmode))
{
ro[1] = x3;
goto L163;
}
goto L118;
L163:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L164;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L164:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 24;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L133:
x3 = XEXP (x2, 1);
if (nonimmediate_operand (x3, SFmode))
{
ro[1] = x3;
goto L134;
}
x3 = XEXP (x2, 0);
goto L145;
L134:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L135;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L145;
L135:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM))
return 22;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L145;
L146:
x3 = XEXP (x2, 1);
if (GET_MODE (x3) == SFmode && GET_CODE (x3) == FLOAT && 1)
goto L147;
goto L118;
L147:
x4 = XEXP (x3, 0);
if (nonimmediate_operand (x4, SImode))
{
ro[1] = x4;
goto L148;
}
goto L118;
L148:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L149;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L149:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[3] = x2;
if (TARGET_80387)
return 23;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
goto L118;
L119:
x3 = XEXP (x2, 0);
switch (GET_MODE (x3))
{
case DFmode:
if (register_operand (x3, DFmode))
{
ro[0] = x3;
goto L120;
}
break;
case SFmode:
if (register_operand (x3, SFmode))
{
ro[0] = x3;
goto L176;
}
}
goto ret0;
L120:
x3 = XEXP (x2, 1);
if (register_operand (x3, DFmode))
{
ro[1] = x3;
goto L121;
}
goto ret0;
L121:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L122;
goto ret0;
L122:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[2] = x2;
if (TARGET_80387)
return 21;
}
goto ret0;
L176:
x3 = XEXP (x2, 1);
if (register_operand (x3, SFmode))
{
ro[1] = x3;
goto L177;
}
goto ret0;
L177:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L178;
goto ret0;
L178:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[2] = x2;
if (TARGET_80387)
return 25;
}
goto ret0;
ret0: return -1;
}
int
recog_5 (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DFmode:
if (register_operand (x2, DFmode))
{
ro[0] = x2;
goto L242;
}
break;
case SFmode:
if (nonimmediate_operand (x2, SFmode))
{
ro[0] = x2;
goto L294;
}
break;
case SImode:
if (register_operand (x2, SImode))
{
ro[0] = x2;
goto L497;
}
break;
case HImode:
if (register_operand (x2, HImode))
{
ro[0] = x2;
goto L508;
}
break;
case DImode:
if (register_operand (x2, DImode))
{
ro[0] = x2;
goto L684;
}
}
switch (GET_CODE (x2))
{
case CC0:
goto L12;
case PC:
goto L1068;
}
L1125:
ro[0] = x2;
goto L1126;
L1228:
switch (GET_MODE (x2))
{
case SImode:
if (register_operand (x2, SImode))
{
ro[0] = x2;
goto L1229;
}
break;
case HImode:
if (register_operand (x2, HImode))
{
ro[0] = x2;
goto L1244;
}
}
goto ret0;
L242:
x2 = XEXP (x1, 1);
if (register_operand (x2, DFmode))
{
ro[1] = x2;
goto L243;
}
x2 = XEXP (x1, 0);
goto L1125;
L243:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L244;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L244:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L245;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L245:
x2 = XEXP (x1, 1);
if (rtx_equal_p (x2, ro[0]) && 1)
return 48;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L294:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT_TRUNCATE && 1)
goto L295;
x2 = XEXP (x1, 0);
goto L1125;
L295:
x3 = XEXP (x2, 0);
if (register_operand (x3, DFmode))
{
ro[1] = x3;
goto L296;
}
x2 = XEXP (x1, 0);
goto L1125;
L296:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L297;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L297:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SFmode))
{
ro[2] = x2;
if (TARGET_80387)
return 62;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L497:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != SImode)
{
x2 = XEXP (x1, 0);
goto L1125;
}
switch (GET_CODE (x2))
{
case DIV:
goto L498;
case UDIV:
goto L520;
}
x2 = XEXP (x1, 0);
goto L1125;
L498:
x3 = XEXP (x2, 0);
if (register_operand (x3, SImode))
{
ro[1] = x3;
goto L499;
}
x2 = XEXP (x1, 0);
goto L1125;
L499:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[2] = x3;
goto L500;
}
x2 = XEXP (x1, 0);
goto L1125;
L500:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L501;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L501:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[3] = x2;
goto L502;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L502:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MOD && 1)
goto L503;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L503:
x3 = XEXP (x2, 0);
if (rtx_equal_p (x3, ro[1]) && 1)
goto L504;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L504:
x3 = XEXP (x2, 1);
if (rtx_equal_p (x3, ro[2]) && 1)
return 105;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L520:
x3 = XEXP (x2, 0);
if (register_operand (x3, SImode))
{
ro[1] = x3;
goto L521;
}
x2 = XEXP (x1, 0);
goto L1125;
L521:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[2] = x3;
goto L522;
}
x2 = XEXP (x1, 0);
goto L1125;
L522:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L523;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L523:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[3] = x2;
goto L524;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L524:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == UMOD && 1)
goto L525;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L525:
x3 = XEXP (x2, 0);
if (rtx_equal_p (x3, ro[1]) && 1)
goto L526;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L526:
x3 = XEXP (x2, 1);
if (rtx_equal_p (x3, ro[2]) && 1)
return 107;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L508:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != HImode)
{
x2 = XEXP (x1, 0);
goto L1125;
}
switch (GET_CODE (x2))
{
case DIV:
goto L509;
case UDIV:
goto L531;
}
x2 = XEXP (x1, 0);
goto L1125;
L509:
x3 = XEXP (x2, 0);
if (register_operand (x3, HImode))
{
ro[1] = x3;
goto L510;
}
x2 = XEXP (x1, 0);
goto L1125;
L510:
x3 = XEXP (x2, 1);
if (general_operand (x3, HImode))
{
ro[2] = x3;
goto L511;
}
x2 = XEXP (x1, 0);
goto L1125;
L511:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L512;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L512:
x2 = XEXP (x1, 0);
if (register_operand (x2, HImode))
{
ro[3] = x2;
goto L513;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L513:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == MOD && 1)
goto L514;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L514:
x3 = XEXP (x2, 0);
if (rtx_equal_p (x3, ro[1]) && 1)
goto L515;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L515:
x3 = XEXP (x2, 1);
if (rtx_equal_p (x3, ro[2]) && 1)
return 106;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L531:
x3 = XEXP (x2, 0);
if (register_operand (x3, HImode))
{
ro[1] = x3;
goto L532;
}
x2 = XEXP (x1, 0);
goto L1125;
L532:
x3 = XEXP (x2, 1);
if (general_operand (x3, HImode))
{
ro[2] = x3;
goto L533;
}
x2 = XEXP (x1, 0);
goto L1125;
L533:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L534;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L534:
x2 = XEXP (x1, 0);
if (register_operand (x2, HImode))
{
ro[3] = x2;
goto L535;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L535:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == UMOD && 1)
goto L536;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L536:
x3 = XEXP (x2, 0);
if (rtx_equal_p (x3, ro[1]) && 1)
goto L537;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L537:
x3 = XEXP (x2, 1);
if (rtx_equal_p (x3, ro[2]) && 1)
return 108;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L684:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != DImode)
{
x2 = XEXP (x1, 0);
goto L1125;
}
switch (GET_CODE (x2))
{
case ASHIFT:
goto L685;
case ASHIFTRT:
goto L713;
case LSHIFTRT:
goto L741;
}
x2 = XEXP (x1, 0);
goto L1125;
L685:
x3 = XEXP (x2, 0);
if (register_operand (x3, DImode))
{
ro[1] = x3;
goto L686;
}
x2 = XEXP (x1, 0);
goto L1125;
L686:
x3 = XEXP (x2, 1);
if (register_operand (x3, QImode))
{
ro[2] = x3;
goto L687;
}
x2 = XEXP (x1, 0);
goto L1125;
L687:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L688;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L688:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[2]) && 1)
return 142;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L713:
x3 = XEXP (x2, 0);
if (register_operand (x3, DImode))
{
ro[1] = x3;
goto L714;
}
x2 = XEXP (x1, 0);
goto L1125;
L714:
x3 = XEXP (x2, 1);
if (register_operand (x3, QImode))
{
ro[2] = x3;
goto L715;
}
x2 = XEXP (x1, 0);
goto L1125;
L715:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L716;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L716:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[2]) && 1)
return 148;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L741:
x3 = XEXP (x2, 0);
if (register_operand (x3, DImode))
{
ro[1] = x3;
goto L742;
}
x2 = XEXP (x1, 0);
goto L1125;
L742:
x3 = XEXP (x2, 1);
if (register_operand (x3, QImode))
{
ro[2] = x3;
goto L743;
}
x2 = XEXP (x1, 0);
goto L1125;
L743:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L744;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L744:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[2]) && 1)
return 154;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L12:
tem = recog_4 (x0, insn, pnum_clobbers);
if (tem >= 0) return tem;
x2 = XEXP (x1, 0);
goto L1125;
L1068:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MINUS && 1)
goto L1069;
if (general_operand (x2, SImode))
{
ro[0] = x2;
goto L1094;
}
x2 = XEXP (x1, 0);
goto L1125;
L1069:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
goto L1070;
x2 = XEXP (x1, 0);
goto L1125;
L1070:
x3 = XEXP (x2, 1);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
goto L1071;
x2 = XEXP (x1, 0);
goto L1125;
L1071:
x4 = XEXP (x3, 0);
if (GET_MODE (x4) == SImode && GET_CODE (x4) == PLUS && 1)
goto L1072;
x2 = XEXP (x1, 0);
goto L1125;
L1072:
x5 = XEXP (x4, 0);
if (GET_MODE (x5) == SImode && GET_CODE (x5) == MULT && 1)
goto L1073;
x2 = XEXP (x1, 0);
goto L1125;
L1073:
x6 = XEXP (x5, 0);
if (register_operand (x6, SImode))
{
ro[0] = x6;
goto L1074;
}
x2 = XEXP (x1, 0);
goto L1125;
L1074:
x6 = XEXP (x5, 1);
if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 4 && 1)
goto L1075;
x2 = XEXP (x1, 0);
goto L1125;
L1075:
x5 = XEXP (x4, 1);
if (GET_CODE (x5) == LABEL_REF && 1)
goto L1076;
x2 = XEXP (x1, 0);
goto L1125;
L1076:
x6 = XEXP (x5, 0);
ro[1] = x6;
goto L1077;
L1077:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1078;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L1078:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[2] = x2;
return 223;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L1094:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == USE && 1)
goto L1095;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L1095:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == LABEL_REF && 1)
goto L1096;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1125;
L1096:
x3 = XEXP (x2, 0);
ro[1] = x3;
return 224;
L1126:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CALL && 1)
goto L1138;
x2 = XEXP (x1, 0);
goto L1228;
L1138:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == QImode && GET_CODE (x3) == MEM && 1)
goto L1139;
L1127:
if (call_insn_operand (x3, QImode))
{
ro[1] = x3;
goto L1128;
}
x2 = XEXP (x1, 0);
goto L1228;
L1139:
x4 = XEXP (x3, 0);
if (symbolic_operand (x4, SImode))
{
ro[1] = x4;
goto L1140;
}
goto L1127;
L1140:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[2] = x3;
goto L1141;
}
x3 = XEXP (x2, 0);
goto L1127;
L1141:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L1142;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L1127;
L1142:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
goto L1143;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L1127;
L1143:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
goto L1144;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L1127;
L1144:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
goto L1145;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L1127;
L1145:
x3 = XEXP (x2, 1);
if (immediate_operand (x3, SImode))
{
ro[4] = x3;
if (!HALF_PIC_P ())
return 233;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 1);
x3 = XEXP (x2, 0);
goto L1127;
L1128:
x3 = XEXP (x2, 1);
if (general_operand (x3, SImode))
{
ro[2] = x3;
goto L1129;
}
x2 = XEXP (x1, 0);
goto L1228;
L1129:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L1130;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1228;
L1130:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
goto L1131;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1228;
L1131:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
goto L1132;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1228;
L1132:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
goto L1133;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1228;
L1133:
x3 = XEXP (x2, 1);
if (immediate_operand (x3, SImode))
{
ro[4] = x3;
return 232;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1228;
L1229:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) != SImode)
goto ret0;
switch (GET_CODE (x2))
{
case PLUS:
goto L1230;
case UNSPEC:
if (XINT (x2, 1) == 0 && XVECLEN (x2, 0) == 3 && 1)
goto L1306;
}
goto ret0;
L1230:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == FFS && 1)
goto L1231;
goto ret0;
L1231:
x4 = XEXP (x3, 0);
if (general_operand (x4, SImode))
{
ro[1] = x4;
goto L1232;
}
goto ret0;
L1232:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
goto L1233;
goto ret0;
L1233:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1234;
goto ret0;
L1234:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[2] = x2;
return 250;
}
goto ret0;
L1306:
x3 = XVECEXP (x2, 0, 0);
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
goto L1307;
goto ret0;
L1307:
x4 = XEXP (x3, 0);
if (address_operand (x4, SImode))
{
ro[1] = x4;
goto L1308;
}
goto ret0;
L1308:
x3 = XVECEXP (x2, 0, 1);
if (register_operand (x3, QImode))
{
ro[2] = x3;
goto L1309;
}
goto ret0;
L1309:
x3 = XVECEXP (x2, 0, 2);
if (immediate_operand (x3, SImode))
{
ro[3] = x3;
goto L1310;
}
goto ret0;
L1310:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1311;
goto ret0;
L1311:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
return 262;
goto ret0;
L1244:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == HImode && GET_CODE (x2) == PLUS && 1)
goto L1245;
goto ret0;
L1245:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == HImode && GET_CODE (x3) == FFS && 1)
goto L1246;
goto ret0;
L1246:
x4 = XEXP (x3, 0);
if (general_operand (x4, HImode))
{
ro[1] = x4;
goto L1247;
}
goto ret0;
L1247:
x3 = XEXP (x2, 1);
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == -1 && 1)
goto L1248;
goto ret0;
L1248:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1249;
goto ret0;
L1249:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, HImode))
{
ro[2] = x2;
return 252;
}
goto ret0;
ret0: return -1;
}
int
recog (x0, insn, pnum_clobbers)
register rtx x0;
rtx insn;
int *pnum_clobbers;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
int tem;
L1170:
switch (GET_CODE (x0))
{
case UNSPEC:
if (GET_MODE (x0) == SImode && XINT (x0, 1) == 0 && XVECLEN (x0, 0) == 1 && 1)
goto L1171;
break;
case SET:
goto L200;
case PARALLEL:
if (XVECLEN (x0, 0) == 2 && 1)
goto L10;
if (XVECLEN (x0, 0) == 5 && 1)
goto L299;
if (XVECLEN (x0, 0) == 4 && 1)
goto L313;
if (XVECLEN (x0, 0) == 3 && 1)
goto L363;
if (XVECLEN (x0, 0) == 6 && 1)
goto L1175;
break;
case CALL:
goto L1117;
case RETURN:
if (simple_386_epilogue ())
return 242;
break;
case CONST_INT:
if (XWINT (x0, 0) == 0 && 1)
return 243;
}
goto ret0;
L1171:
x1 = XVECEXP (x0, 0, 0);
if (memory_operand (x1, SImode))
{
ro[0] = x1;
return 241;
}
goto ret0;
L200:
return recog_3 (x0, insn, pnum_clobbers);
L10:
x1 = XVECEXP (x0, 0, 0);
switch (GET_CODE (x1))
{
case SET:
goto L241;
case CALL:
goto L1108;
}
goto ret0;
L241:
return recog_5 (x0, insn, pnum_clobbers);
L1108:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
goto L1109;
L1099:
if (call_insn_operand (x2, QImode))
{
ro[0] = x2;
goto L1100;
}
goto ret0;
L1109:
x3 = XEXP (x2, 0);
if (symbolic_operand (x3, SImode))
{
ro[0] = x3;
goto L1110;
}
goto L1099;
L1110:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L1111;
}
x2 = XEXP (x1, 0);
goto L1099;
L1111:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L1112;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1099;
L1112:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
goto L1113;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1099;
L1113:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
goto L1114;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1099;
L1114:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
goto L1115;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1099;
L1115:
x3 = XEXP (x2, 1);
if (immediate_operand (x3, SImode))
{
ro[3] = x3;
if (!HALF_PIC_P ())
return 227;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1099;
L1100:
x2 = XEXP (x1, 1);
if (general_operand (x2, SImode))
{
ro[1] = x2;
goto L1101;
}
goto ret0;
L1101:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == SET && 1)
goto L1102;
goto ret0;
L1102:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
goto L1103;
goto ret0;
L1103:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
goto L1104;
goto ret0;
L1104:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
goto L1105;
goto ret0;
L1105:
x3 = XEXP (x2, 1);
if (immediate_operand (x3, SImode))
{
ro[3] = x3;
return 226;
}
goto ret0;
L299:
x1 = XVECEXP (x0, 0, 0);
if (GET_CODE (x1) == SET && 1)
goto L300;
goto ret0;
L300:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == DImode && general_operand (x2, DImode))
{
ro[0] = x2;
goto L301;
}
goto ret0;
L301:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == DImode && GET_CODE (x2) == FIX && 1)
goto L302;
goto ret0;
L302:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) != FIX)
goto ret0;
switch (GET_MODE (x3))
{
case DFmode:
goto L303;
case SFmode:
goto L329;
}
goto ret0;
L303:
x4 = XEXP (x3, 0);
if (register_operand (x4, DFmode))
{
ro[1] = x4;
goto L304;
}
goto ret0;
L304:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L305;
goto ret0;
L305:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L306;
goto ret0;
L306:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L307;
goto ret0;
L307:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L308;
}
goto ret0;
L308:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L309;
goto ret0;
L309:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[3] = x2;
goto L310;
}
goto ret0;
L310:
x1 = XVECEXP (x0, 0, 4);
if (GET_CODE (x1) == CLOBBER && 1)
goto L311;
goto ret0;
L311:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[4] = x2;
if (TARGET_80387)
return 67;
}
goto ret0;
L329:
x4 = XEXP (x3, 0);
if (register_operand (x4, SFmode))
{
ro[1] = x4;
goto L330;
}
goto ret0;
L330:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L331;
goto ret0;
L331:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L332;
goto ret0;
L332:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L333;
goto ret0;
L333:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L334;
}
goto ret0;
L334:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L335;
goto ret0;
L335:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[3] = x2;
goto L336;
}
goto ret0;
L336:
x1 = XVECEXP (x0, 0, 4);
if (GET_CODE (x1) == CLOBBER && 1)
goto L337;
goto ret0;
L337:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[4] = x2;
if (TARGET_80387)
return 68;
}
goto ret0;
L313:
x1 = XVECEXP (x0, 0, 0);
if (GET_CODE (x1) == SET && 1)
goto L314;
goto ret0;
L314:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case DImode:
if (general_operand (x2, DImode))
{
ro[0] = x2;
goto L315;
}
break;
case SImode:
if (general_operand (x2, SImode))
{
ro[0] = x2;
goto L353;
}
}
goto ret0;
L315:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == DImode && GET_CODE (x2) == FIX && 1)
goto L316;
goto ret0;
L316:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) != FIX)
goto ret0;
switch (GET_MODE (x3))
{
case DFmode:
goto L317;
case SFmode:
goto L343;
}
goto ret0;
L317:
x4 = XEXP (x3, 0);
if (register_operand (x4, DFmode))
{
ro[1] = x4;
goto L318;
}
goto ret0;
L318:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L319;
goto ret0;
L319:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L320;
goto ret0;
L320:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L321;
goto ret0;
L321:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L322;
}
goto ret0;
L322:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L323;
goto ret0;
L323:
x2 = XEXP (x1, 0);
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
{
ro[3] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 67;
}
}
goto ret0;
L343:
x4 = XEXP (x3, 0);
if (register_operand (x4, SFmode))
{
ro[1] = x4;
goto L344;
}
goto ret0;
L344:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L345;
goto ret0;
L345:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L346;
goto ret0;
L346:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L347;
goto ret0;
L347:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L348;
}
goto ret0;
L348:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L349;
goto ret0;
L349:
x2 = XEXP (x1, 0);
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
{
ro[3] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 68;
}
}
goto ret0;
L353:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
goto L354;
goto ret0;
L354:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) != FIX)
goto ret0;
switch (GET_MODE (x3))
{
case DFmode:
goto L355;
case SFmode:
goto L377;
}
goto ret0;
L355:
x4 = XEXP (x3, 0);
if (register_operand (x4, DFmode))
{
ro[1] = x4;
goto L356;
}
goto ret0;
L356:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L357;
goto ret0;
L357:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L358;
}
goto ret0;
L358:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L359;
goto ret0;
L359:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[3] = x2;
goto L360;
}
goto ret0;
L360:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L361;
goto ret0;
L361:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[4] = x2;
if (TARGET_80387)
return 71;
}
goto ret0;
L377:
x4 = XEXP (x3, 0);
if (register_operand (x4, SFmode))
{
ro[1] = x4;
goto L378;
}
goto ret0;
L378:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L379;
goto ret0;
L379:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L380;
}
goto ret0;
L380:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L381;
goto ret0;
L381:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[3] = x2;
goto L382;
}
goto ret0;
L382:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L383;
goto ret0;
L383:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[4] = x2;
if (TARGET_80387)
return 72;
}
goto ret0;
L363:
x1 = XVECEXP (x0, 0, 0);
switch (GET_CODE (x1))
{
case SET:
goto L364;
case CALL:
goto L1165;
}
goto ret0;
L364:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == SImode && general_operand (x2, SImode))
{
ro[0] = x2;
goto L365;
}
goto ret0;
L365:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
goto L366;
goto ret0;
L366:
x3 = XEXP (x2, 0);
if (GET_CODE (x3) != FIX)
goto ret0;
switch (GET_MODE (x3))
{
case DFmode:
goto L367;
case SFmode:
goto L389;
}
goto ret0;
L367:
x4 = XEXP (x3, 0);
if (register_operand (x4, DFmode))
{
ro[1] = x4;
goto L368;
}
goto ret0;
L368:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L369;
goto ret0;
L369:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L370;
}
goto ret0;
L370:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L371;
goto ret0;
L371:
x2 = XEXP (x1, 0);
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
{
ro[3] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 71;
}
}
goto ret0;
L389:
x4 = XEXP (x3, 0);
if (register_operand (x4, SFmode))
{
ro[1] = x4;
goto L390;
}
goto ret0;
L390:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == CLOBBER && 1)
goto L391;
goto ret0;
L391:
x2 = XEXP (x1, 0);
if (memory_operand (x2, SImode))
{
ro[2] = x2;
goto L392;
}
goto ret0;
L392:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == CLOBBER && 1)
goto L393;
goto ret0;
L393:
x2 = XEXP (x1, 0);
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
{
ro[3] = x2;
if (TARGET_80387)
{
*pnum_clobbers = 1;
return 72;
}
}
goto ret0;
L1165:
x2 = XEXP (x1, 0);
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
goto L1166;
L1159:
if (call_insn_operand (x2, QImode))
{
ro[0] = x2;
goto L1160;
}
goto ret0;
L1166:
x3 = XEXP (x2, 0);
if (symbolic_operand (x3, SImode))
{
ro[0] = x3;
goto L1167;
}
goto L1159;
L1167:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
goto L1168;
x2 = XEXP (x1, 0);
goto L1159;
L1168:
x1 = XVECEXP (x0, 0, 1);
if (memory_operand (x1, DImode))
{
ro[1] = x1;
goto L1169;
}
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1159;
L1169:
x1 = XVECEXP (x0, 0, 2);
ro[2] = x1;
if (!HALF_PIC_P ())
return 239;
x1 = XVECEXP (x0, 0, 0);
x2 = XEXP (x1, 0);
goto L1159;
L1160:
x2 = XEXP (x1, 1);
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
goto L1161;
goto ret0;
L1161:
x1 = XVECEXP (x0, 0, 1);
if (memory_operand (x1, DImode))
{
ro[1] = x1;
goto L1162;
}
goto ret0;
L1162:
x1 = XVECEXP (x0, 0, 2);
ro[2] = x1;
return 238;
L1175:
x1 = XVECEXP (x0, 0, 0);
if (GET_CODE (x1) == SET && 1)
goto L1176;
goto ret0;
L1176:
x2 = XEXP (x1, 0);
switch (GET_MODE (x2))
{
case BLKmode:
if (GET_CODE (x2) == MEM && 1)
goto L1177;
break;
case SImode:
if (general_operand (x2, SImode))
{
ro[0] = x2;
goto L1193;
}
}
if (GET_CODE (x2) == CC0 && 1)
goto L1211;
goto ret0;
L1177:
x3 = XEXP (x2, 0);
if (address_operand (x3, SImode))
{
ro[0] = x3;
goto L1178;
}
goto ret0;
L1178:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
goto L1179;
goto ret0;
L1179:
x3 = XEXP (x2, 0);
if (address_operand (x3, SImode))
{
ro[1] = x3;
goto L1180;
}
goto ret0;
L1180:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == USE && 1)
goto L1181;
goto ret0;
L1181:
x2 = XEXP (x1, 0);
if (GET_CODE (x2) == CONST_INT && 1)
{
ro[2] = x2;
goto L1182;
}
goto ret0;
L1182:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == USE && 1)
goto L1183;
goto ret0;
L1183:
x2 = XEXP (x1, 0);
if (immediate_operand (x2, SImode))
{
ro[3] = x2;
goto L1184;
}
goto ret0;
L1184:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1185;
goto ret0;
L1185:
x2 = XEXP (x1, 0);
if (scratch_operand (x2, SImode))
{
ro[4] = x2;
goto L1186;
}
goto ret0;
L1186:
x1 = XVECEXP (x0, 0, 4);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1187;
goto ret0;
L1187:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[0]) && 1)
goto L1188;
goto ret0;
L1188:
x1 = XVECEXP (x0, 0, 5);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1189;
goto ret0;
L1189:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
return 245;
goto ret0;
L1193:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == COMPARE && 1)
goto L1194;
goto ret0;
L1194:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
goto L1195;
goto ret0;
L1195:
x4 = XEXP (x3, 0);
if (address_operand (x4, SImode))
{
ro[1] = x4;
goto L1196;
}
goto ret0;
L1196:
x3 = XEXP (x2, 1);
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
goto L1197;
goto ret0;
L1197:
x4 = XEXP (x3, 0);
if (address_operand (x4, SImode))
{
ro[2] = x4;
goto L1198;
}
goto ret0;
L1198:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == USE && 1)
goto L1199;
goto ret0;
L1199:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[3] = x2;
goto L1200;
}
goto ret0;
L1200:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == USE && 1)
goto L1201;
goto ret0;
L1201:
x2 = XEXP (x1, 0);
if (immediate_operand (x2, SImode))
{
ro[4] = x2;
goto L1202;
}
goto ret0;
L1202:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1203;
goto ret0;
L1203:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L1204;
goto ret0;
L1204:
x1 = XVECEXP (x0, 0, 4);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1205;
goto ret0;
L1205:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[2]) && 1)
goto L1206;
goto ret0;
L1206:
x1 = XVECEXP (x0, 0, 5);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1207;
goto ret0;
L1207:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[3]) && 1)
return 247;
goto ret0;
L1211:
x2 = XEXP (x1, 1);
if (GET_MODE (x2) == SImode && GET_CODE (x2) == COMPARE && 1)
goto L1212;
goto ret0;
L1212:
x3 = XEXP (x2, 0);
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
goto L1213;
goto ret0;
L1213:
x4 = XEXP (x3, 0);
if (address_operand (x4, SImode))
{
ro[0] = x4;
goto L1214;
}
goto ret0;
L1214:
x3 = XEXP (x2, 1);
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
goto L1215;
goto ret0;
L1215:
x4 = XEXP (x3, 0);
if (address_operand (x4, SImode))
{
ro[1] = x4;
goto L1216;
}
goto ret0;
L1216:
x1 = XVECEXP (x0, 0, 1);
if (GET_CODE (x1) == USE && 1)
goto L1217;
goto ret0;
L1217:
x2 = XEXP (x1, 0);
if (register_operand (x2, SImode))
{
ro[2] = x2;
goto L1218;
}
goto ret0;
L1218:
x1 = XVECEXP (x0, 0, 2);
if (GET_CODE (x1) == USE && 1)
goto L1219;
goto ret0;
L1219:
x2 = XEXP (x1, 0);
if (immediate_operand (x2, SImode))
{
ro[3] = x2;
goto L1220;
}
goto ret0;
L1220:
x1 = XVECEXP (x0, 0, 3);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1221;
goto ret0;
L1221:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[0]) && 1)
goto L1222;
goto ret0;
L1222:
x1 = XVECEXP (x0, 0, 4);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1223;
goto ret0;
L1223:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[1]) && 1)
goto L1224;
goto ret0;
L1224:
x1 = XVECEXP (x0, 0, 5);
if (GET_CODE (x1) == CLOBBER && 1)
goto L1225;
goto ret0;
L1225:
x2 = XEXP (x1, 0);
if (rtx_equal_p (x2, ro[2]) && 1)
return 248;
goto ret0;
L1117:
x1 = XEXP (x0, 0);
if (call_insn_operand (x1, QImode))
{
ro[0] = x1;
goto L1118;
}
L1120:
if (GET_MODE (x1) == QImode && GET_CODE (x1) == MEM && 1)
goto L1121;
goto ret0;
L1118:
x1 = XEXP (x0, 1);
if (general_operand (x1, SImode))
{
ro[1] = x1;
return 229;
}
x1 = XEXP (x0, 0);
goto L1120;
L1121:
x2 = XEXP (x1, 0);
if (symbolic_operand (x2, SImode))
{
ro[0] = x2;
goto L1122;
}
goto ret0;
L1122:
x1 = XEXP (x0, 1);
if (general_operand (x1, SImode))
{
ro[1] = x1;
if (!HALF_PIC_P ())
return 230;
}
goto ret0;
ret0: return -1;
}
rtx
split_insns (x0, insn)
register rtx x0;
rtx insn;
{
register rtx *ro = &recog_operand[0];
register rtx x1, x2, x3, x4, x5, x6;
rtx tem;
goto ret0;
ret0: return 0;
}