7139 lines
113 KiB
C
7139 lines
113 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 HImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case ZERO_EXTEND:
|
|
goto L370;
|
|
case SIGN_EXTEND:
|
|
goto L390;
|
|
case PLUS:
|
|
goto L603;
|
|
case MINUS:
|
|
goto L626;
|
|
case MULT:
|
|
goto L660;
|
|
case AND:
|
|
goto L747;
|
|
case IOR:
|
|
goto L762;
|
|
case XOR:
|
|
goto L777;
|
|
case NEG:
|
|
goto L795;
|
|
case NOT:
|
|
goto L904;
|
|
case ASHIFT:
|
|
goto L930;
|
|
case ASHIFTRT:
|
|
goto L958;
|
|
case LSHIFTRT:
|
|
goto L986;
|
|
case ROTATE:
|
|
goto L1001;
|
|
case ROTATERT:
|
|
goto L1016;
|
|
}
|
|
}
|
|
if (general_operand (x1, HImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 51;
|
|
}
|
|
goto ret0;
|
|
|
|
L370:
|
|
x2 = XEXP (x1, 0);
|
|
if (nonimmediate_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 67;
|
|
}
|
|
goto ret0;
|
|
|
|
L390:
|
|
x2 = XEXP (x1, 0);
|
|
if (nonimmediate_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 72;
|
|
}
|
|
goto ret0;
|
|
|
|
L603:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L604;
|
|
}
|
|
goto ret0;
|
|
|
|
L604:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 110;
|
|
}
|
|
goto ret0;
|
|
|
|
L626:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L627;
|
|
}
|
|
goto ret0;
|
|
|
|
L627:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 118;
|
|
}
|
|
goto ret0;
|
|
|
|
L660:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case HImode:
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case ZERO_EXTEND:
|
|
goto L661;
|
|
case SIGN_EXTEND:
|
|
goto L668;
|
|
}
|
|
}
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L637;
|
|
}
|
|
goto ret0;
|
|
|
|
L661:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, QImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L662;
|
|
}
|
|
goto ret0;
|
|
|
|
L662:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == HImode && GET_CODE (x2) == ZERO_EXTEND && 1)
|
|
goto L663;
|
|
goto ret0;
|
|
|
|
L663:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
return 127;
|
|
}
|
|
goto ret0;
|
|
|
|
L668:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, QImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L669;
|
|
}
|
|
goto ret0;
|
|
|
|
L669:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == HImode && GET_CODE (x2) == SIGN_EXTEND && 1)
|
|
goto L670;
|
|
goto ret0;
|
|
|
|
L670:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
return 128;
|
|
}
|
|
goto ret0;
|
|
|
|
L637:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
goto L643;
|
|
goto ret0;
|
|
|
|
L643:
|
|
ro[2] = x2;
|
|
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 0x80)
|
|
return 123;
|
|
L644:
|
|
ro[2] = x2;
|
|
return 124;
|
|
|
|
L747:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L748;
|
|
}
|
|
goto ret0;
|
|
|
|
L748:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 144;
|
|
}
|
|
goto ret0;
|
|
|
|
L762:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L763;
|
|
}
|
|
goto ret0;
|
|
|
|
L763:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 147;
|
|
}
|
|
goto ret0;
|
|
|
|
L777:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L778;
|
|
}
|
|
goto ret0;
|
|
|
|
L778:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 150;
|
|
}
|
|
goto ret0;
|
|
|
|
L795:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 154;
|
|
}
|
|
goto ret0;
|
|
|
|
L904:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 179;
|
|
}
|
|
goto ret0;
|
|
|
|
L930:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L931;
|
|
}
|
|
goto ret0;
|
|
|
|
L931:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 185;
|
|
}
|
|
goto ret0;
|
|
|
|
L958:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L959;
|
|
}
|
|
goto ret0;
|
|
|
|
L959:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 191;
|
|
}
|
|
goto ret0;
|
|
|
|
L986:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L987;
|
|
}
|
|
goto ret0;
|
|
|
|
L987:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 197;
|
|
}
|
|
goto ret0;
|
|
|
|
L1001:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1002;
|
|
}
|
|
goto ret0;
|
|
|
|
L1002:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 200;
|
|
}
|
|
goto ret0;
|
|
|
|
L1016:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1017;
|
|
}
|
|
goto ret0;
|
|
|
|
L1017:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 203;
|
|
}
|
|
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);
|
|
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;
|
|
}
|
|
}
|
|
break;
|
|
case XFmode:
|
|
if (pnum_clobbers != 0 && register_operand (x1, XFmode))
|
|
{
|
|
ro[0] = x1;
|
|
if (TARGET_80387 && ! TARGET_IEEE_FP)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 10;
|
|
}
|
|
}
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case COMPARE:
|
|
goto L39;
|
|
case ZERO_EXTRACT:
|
|
goto L1046;
|
|
}
|
|
L61:
|
|
if (VOIDmode_compare_op (x1, VOIDmode))
|
|
{
|
|
ro[2] = x1;
|
|
goto L91;
|
|
}
|
|
L134:
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case CCFPEQmode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case COMPARE:
|
|
goto L135;
|
|
}
|
|
break;
|
|
case SImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case AND:
|
|
goto L282;
|
|
}
|
|
break;
|
|
case HImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case AND:
|
|
goto L287;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (GET_CODE (x1) == AND && 1)
|
|
goto L292;
|
|
}
|
|
goto ret0;
|
|
|
|
L39:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case SImode:
|
|
if (nonimmediate_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L40;
|
|
}
|
|
break;
|
|
case HImode:
|
|
if (nonimmediate_operand (x2, HImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L45;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (nonimmediate_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L50;
|
|
}
|
|
}
|
|
goto L61;
|
|
|
|
L40:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
|
|
return 12;
|
|
}
|
|
goto L61;
|
|
|
|
L45:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
|
|
return 14;
|
|
}
|
|
goto L61;
|
|
|
|
L50:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
|
|
return 16;
|
|
}
|
|
goto L61;
|
|
|
|
L1046:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case SImode:
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1047;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1059;
|
|
}
|
|
}
|
|
goto L61;
|
|
|
|
L1047:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) != CONST_INT)
|
|
{
|
|
goto L61;
|
|
}
|
|
if (XWINT (x2, 0) == 1 && 1)
|
|
goto L1048;
|
|
L1053:
|
|
ro[1] = x2;
|
|
goto L1054;
|
|
|
|
L1048:
|
|
x2 = XEXP (x1, 2);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (GET_CODE (operands[1]) != CONST_INT)
|
|
return 208;
|
|
}
|
|
x2 = XEXP (x1, 1);
|
|
goto L1053;
|
|
|
|
L1054:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[2] = x2;
|
|
return 209;
|
|
}
|
|
goto L61;
|
|
|
|
L1059:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[1] = x2;
|
|
goto L1060;
|
|
}
|
|
goto L61;
|
|
|
|
L1060:
|
|
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 210;
|
|
}
|
|
goto L61;
|
|
|
|
L91:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case XFmode:
|
|
if (GET_CODE (x2) == FLOAT && 1)
|
|
goto L92;
|
|
if (nonimmediate_operand (x2, XFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L63;
|
|
}
|
|
L76:
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L77;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L178;
|
|
case FLOAT_EXTEND:
|
|
goto L208;
|
|
case SUBREG:
|
|
case REG:
|
|
case MEM:
|
|
if (nonimmediate_operand (x2, DFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L149;
|
|
}
|
|
}
|
|
L162:
|
|
if (register_operand (x2, DFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L163;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (GET_CODE (x2) == FLOAT && 1)
|
|
goto L264;
|
|
if (nonimmediate_operand (x2, SFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L235;
|
|
}
|
|
L248:
|
|
if (register_operand (x2, SFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L249;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L92:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L93;
|
|
}
|
|
goto L134;
|
|
|
|
L93:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 20;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L63:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387
|
|
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM))
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 18;
|
|
}
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L76;
|
|
|
|
L77:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != XFmode)
|
|
{
|
|
goto L134;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L78;
|
|
case FLOAT_EXTEND:
|
|
goto L108;
|
|
}
|
|
goto L134;
|
|
|
|
L78:
|
|
x3 = XEXP (x2, 0);
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 19;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L108:
|
|
x3 = XEXP (x2, 0);
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case DFmode:
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 21;
|
|
}
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 22;
|
|
}
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L178:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L179;
|
|
}
|
|
goto L134;
|
|
|
|
L179:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 26;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L208:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L209;
|
|
}
|
|
goto L134;
|
|
|
|
L209:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 28;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L149:
|
|
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 24;
|
|
}
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L162;
|
|
|
|
L163:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != DFmode)
|
|
{
|
|
goto L134;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L164;
|
|
case FLOAT_EXTEND:
|
|
goto L194;
|
|
}
|
|
goto L134;
|
|
|
|
L164:
|
|
x3 = XEXP (x2, 0);
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 25;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L194:
|
|
x3 = XEXP (x2, 0);
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 27;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L264:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L265;
|
|
}
|
|
goto L134;
|
|
|
|
L265:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 32;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L235:
|
|
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 30;
|
|
}
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L248;
|
|
|
|
L249:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT && 1)
|
|
goto L250;
|
|
goto L134;
|
|
|
|
L250:
|
|
x3 = XEXP (x2, 0);
|
|
if (pnum_clobbers != 0 && nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 31;
|
|
}
|
|
}
|
|
goto L134;
|
|
|
|
L135:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case XFmode:
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L136;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
if (register_operand (x2, DFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L222;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (register_operand (x2, SFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L278;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L136:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 23;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L222:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 29;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L278:
|
|
x2 = XEXP (x1, 1);
|
|
if (pnum_clobbers != 0 && register_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 33;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L282:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L283;
|
|
}
|
|
goto ret0;
|
|
|
|
L283:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 43;
|
|
}
|
|
goto ret0;
|
|
|
|
L287:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L288;
|
|
}
|
|
goto ret0;
|
|
|
|
L288:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 44;
|
|
}
|
|
goto ret0;
|
|
|
|
L292:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L293;
|
|
}
|
|
goto ret0;
|
|
|
|
L293:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 45;
|
|
}
|
|
goto ret0;
|
|
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, 1);
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case EQ:
|
|
goto L1115;
|
|
case NE:
|
|
goto L1124;
|
|
case GT:
|
|
goto L1133;
|
|
case GTU:
|
|
goto L1142;
|
|
case LT:
|
|
goto L1151;
|
|
case LTU:
|
|
goto L1160;
|
|
case GE:
|
|
goto L1169;
|
|
case GEU:
|
|
goto L1178;
|
|
case LE:
|
|
goto L1187;
|
|
case LEU:
|
|
goto L1196;
|
|
}
|
|
goto ret0;
|
|
|
|
L1115:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1116;
|
|
goto ret0;
|
|
|
|
L1116:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1117;
|
|
goto ret0;
|
|
|
|
L1117:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1118;
|
|
case PC:
|
|
goto L1208;
|
|
}
|
|
goto ret0;
|
|
|
|
L1118:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1119;
|
|
|
|
L1119:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 232;
|
|
goto ret0;
|
|
|
|
L1208:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1209;
|
|
goto ret0;
|
|
|
|
L1209:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 251;
|
|
|
|
L1124:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1125;
|
|
goto ret0;
|
|
|
|
L1125:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1126;
|
|
goto ret0;
|
|
|
|
L1126:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1127;
|
|
case PC:
|
|
goto L1217;
|
|
}
|
|
goto ret0;
|
|
|
|
L1127:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1128;
|
|
|
|
L1128:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 234;
|
|
goto ret0;
|
|
|
|
L1217:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1218;
|
|
goto ret0;
|
|
|
|
L1218:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 252;
|
|
|
|
L1133:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1134;
|
|
goto ret0;
|
|
|
|
L1134:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1135;
|
|
goto ret0;
|
|
|
|
L1135:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1136;
|
|
case PC:
|
|
goto L1226;
|
|
}
|
|
goto ret0;
|
|
|
|
L1136:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1137;
|
|
|
|
L1137:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 236;
|
|
goto ret0;
|
|
|
|
L1226:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1227;
|
|
goto ret0;
|
|
|
|
L1227:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 253;
|
|
|
|
L1142:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1143;
|
|
goto ret0;
|
|
|
|
L1143:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1144;
|
|
goto ret0;
|
|
|
|
L1144:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1145;
|
|
case PC:
|
|
goto L1235;
|
|
}
|
|
goto ret0;
|
|
|
|
L1145:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1146;
|
|
|
|
L1146:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 238;
|
|
goto ret0;
|
|
|
|
L1235:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1236;
|
|
goto ret0;
|
|
|
|
L1236:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 254;
|
|
|
|
L1151:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1152;
|
|
goto ret0;
|
|
|
|
L1152:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1153;
|
|
goto ret0;
|
|
|
|
L1153:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1154;
|
|
case PC:
|
|
goto L1244;
|
|
}
|
|
goto ret0;
|
|
|
|
L1154:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1155;
|
|
|
|
L1155:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 240;
|
|
goto ret0;
|
|
|
|
L1244:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1245;
|
|
goto ret0;
|
|
|
|
L1245:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 255;
|
|
|
|
L1160:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1161;
|
|
goto ret0;
|
|
|
|
L1161:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1162;
|
|
goto ret0;
|
|
|
|
L1162:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1163;
|
|
case PC:
|
|
goto L1253;
|
|
}
|
|
goto ret0;
|
|
|
|
L1163:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1164;
|
|
|
|
L1164:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 242;
|
|
goto ret0;
|
|
|
|
L1253:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1254;
|
|
goto ret0;
|
|
|
|
L1254:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 256;
|
|
|
|
L1169:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1170;
|
|
goto ret0;
|
|
|
|
L1170:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1171;
|
|
goto ret0;
|
|
|
|
L1171:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1172;
|
|
case PC:
|
|
goto L1262;
|
|
}
|
|
goto ret0;
|
|
|
|
L1172:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1173;
|
|
|
|
L1173:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 244;
|
|
goto ret0;
|
|
|
|
L1262:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1263;
|
|
goto ret0;
|
|
|
|
L1263:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 257;
|
|
|
|
L1178:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1179;
|
|
goto ret0;
|
|
|
|
L1179:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1180;
|
|
goto ret0;
|
|
|
|
L1180:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1181;
|
|
case PC:
|
|
goto L1271;
|
|
}
|
|
goto ret0;
|
|
|
|
L1181:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1182;
|
|
|
|
L1182:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 246;
|
|
goto ret0;
|
|
|
|
L1271:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1272;
|
|
goto ret0;
|
|
|
|
L1272:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 258;
|
|
|
|
L1187:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1188;
|
|
goto ret0;
|
|
|
|
L1188:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1189;
|
|
goto ret0;
|
|
|
|
L1189:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1190;
|
|
case PC:
|
|
goto L1280;
|
|
}
|
|
goto ret0;
|
|
|
|
L1190:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1191;
|
|
|
|
L1191:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 248;
|
|
goto ret0;
|
|
|
|
L1280:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1281;
|
|
goto ret0;
|
|
|
|
L1281:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 259;
|
|
|
|
L1196:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CC0 && 1)
|
|
goto L1197;
|
|
goto ret0;
|
|
|
|
L1197:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
|
|
goto L1198;
|
|
goto ret0;
|
|
|
|
L1198:
|
|
x2 = XEXP (x1, 1);
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case LABEL_REF:
|
|
goto L1199;
|
|
case PC:
|
|
goto L1289;
|
|
}
|
|
goto ret0;
|
|
|
|
L1199:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
goto L1200;
|
|
|
|
L1200:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == PC && 1)
|
|
return 250;
|
|
goto ret0;
|
|
|
|
L1289:
|
|
x2 = XEXP (x1, 2);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1290;
|
|
goto ret0;
|
|
|
|
L1290:
|
|
x3 = XEXP (x2, 0);
|
|
ro[0] = x3;
|
|
return 260;
|
|
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 = XEXP (x0, 0);
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case SImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case MEM:
|
|
if (push_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L296;
|
|
}
|
|
break;
|
|
case ZERO_EXTRACT:
|
|
goto L1025;
|
|
}
|
|
L303:
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L365;
|
|
}
|
|
L611:
|
|
if (register_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L612;
|
|
}
|
|
L619:
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L620;
|
|
}
|
|
break;
|
|
case HImode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, HImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L307;
|
|
}
|
|
L309:
|
|
if (general_operand (x1, HImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L369;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, QImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L317;
|
|
}
|
|
L319:
|
|
if (general_operand (x1, QImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L607;
|
|
}
|
|
L1062:
|
|
if (register_operand (x1, QImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1063;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, SFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L327;
|
|
}
|
|
L329:
|
|
if (general_operand (x1, SFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L416;
|
|
}
|
|
L575:
|
|
if (register_operand (x1, SFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L576;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, DFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L333;
|
|
}
|
|
L342:
|
|
if (general_operand (x1, DFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L397;
|
|
}
|
|
L571:
|
|
if (register_operand (x1, DFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L572;
|
|
}
|
|
break;
|
|
case XFmode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, XFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L346;
|
|
}
|
|
L355:
|
|
if (general_operand (x1, XFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L401;
|
|
}
|
|
L567:
|
|
if (register_operand (x1, XFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L568;
|
|
}
|
|
break;
|
|
case DImode:
|
|
if (GET_CODE (x1) == MEM && push_operand (x1, DImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L359;
|
|
}
|
|
L361:
|
|
if (general_operand (x1, DImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L592;
|
|
}
|
|
L376:
|
|
if (register_operand (x1, DImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L377;
|
|
}
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case CC0:
|
|
goto L2;
|
|
case STRICT_LOW_PART:
|
|
goto L313;
|
|
case PC:
|
|
goto L1314;
|
|
}
|
|
L1380:
|
|
ro[0] = x1;
|
|
goto L1381;
|
|
L1460:
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case SImode:
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1461;
|
|
}
|
|
break;
|
|
case HImode:
|
|
if (general_operand (x1, HImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1467;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
if (register_operand (x1, DFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1473;
|
|
}
|
|
break;
|
|
case XFmode:
|
|
if (register_operand (x1, XFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1484;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (register_operand (x1, SFmode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1531;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L296:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, SImode))
|
|
goto L300;
|
|
x1 = XEXP (x0, 0);
|
|
goto L303;
|
|
|
|
L300:
|
|
ro[1] = x1;
|
|
if (! TARGET_486)
|
|
return 46;
|
|
L301:
|
|
ro[1] = x1;
|
|
if (TARGET_486)
|
|
return 47;
|
|
x1 = XEXP (x0, 0);
|
|
goto L303;
|
|
|
|
L1025:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1026;
|
|
}
|
|
goto L1380;
|
|
|
|
L1026:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 1 && 1)
|
|
goto L1027;
|
|
goto L1380;
|
|
|
|
L1027:
|
|
x2 = XEXP (x1, 2);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L1028;
|
|
}
|
|
goto L1380;
|
|
|
|
L1028:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_CODE (x1) == CONST_INT && 1)
|
|
{
|
|
ro[3] = x1;
|
|
if (! TARGET_486 && GET_CODE (operands[2]) != CONST_INT)
|
|
return 205;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L365:
|
|
x1 = XEXP (x0, 1);
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case SImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case ZERO_EXTEND:
|
|
goto L366;
|
|
case SIGN_EXTEND:
|
|
goto L386;
|
|
case PLUS:
|
|
goto L598;
|
|
}
|
|
}
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 49;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L611;
|
|
|
|
L366:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case HImode:
|
|
if (nonimmediate_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 66;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (nonimmediate_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 68;
|
|
}
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L611;
|
|
|
|
L386:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case HImode:
|
|
if (nonimmediate_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 71;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (nonimmediate_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 73;
|
|
}
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L611;
|
|
|
|
L598:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L599;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L611;
|
|
|
|
L599:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 109;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L611;
|
|
|
|
L612:
|
|
x1 = XEXP (x0, 1);
|
|
if (address_operand (x1, QImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 112;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L619;
|
|
|
|
L620:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != SImode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case MINUS:
|
|
goto L621;
|
|
case MULT:
|
|
goto L648;
|
|
case AND:
|
|
goto L742;
|
|
case IOR:
|
|
goto L757;
|
|
case XOR:
|
|
goto L1032;
|
|
case NEG:
|
|
goto L791;
|
|
case NOT:
|
|
goto L900;
|
|
case ASHIFT:
|
|
goto L925;
|
|
case ASHIFTRT:
|
|
goto L953;
|
|
case LSHIFTRT:
|
|
goto L981;
|
|
case ROTATE:
|
|
goto L996;
|
|
case ROTATERT:
|
|
goto L1011;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L621:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L622;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L622:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 117;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L648:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L649;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L649:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
goto L655;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L655:
|
|
ro[2] = x2;
|
|
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 0x80)
|
|
return 125;
|
|
L656:
|
|
ro[2] = x2;
|
|
return 126;
|
|
|
|
L742:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L743;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L743:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 143;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L757:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L758;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L758:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 146;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1032:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
|
|
goto L1033;
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1040;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1033:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 1 && 1)
|
|
goto L1034;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1034:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1035;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1035:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
if (! TARGET_486 && GET_CODE (operands[1]) != CONST_INT)
|
|
return 206;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1040:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == ASHIFT && 1)
|
|
goto L1041;
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 149;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1041:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 1 && 1)
|
|
goto L1042;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1042:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
if (! TARGET_486 && GET_CODE (operands[2]) != CONST_INT)
|
|
return 207;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L791:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 153;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L900:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 178;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L925:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L926;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L926:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 184;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L953:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L954;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L954:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 190;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L981:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L982;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L982:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 196;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L996:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L997;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L997:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 199;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1011:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1012;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1012:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 202;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L307:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, HImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 50;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L309;
|
|
L369:
|
|
tem = recog_1 (x0, insn, pnum_clobbers);
|
|
if (tem >= 0) return tem;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L317:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, QImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 53;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L319;
|
|
|
|
L607:
|
|
x1 = XEXP (x0, 1);
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case QImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case PLUS:
|
|
goto L608;
|
|
case MINUS:
|
|
goto L631;
|
|
case DIV:
|
|
goto L688;
|
|
case UDIV:
|
|
goto L693;
|
|
case AND:
|
|
goto L752;
|
|
case IOR:
|
|
goto L767;
|
|
case XOR:
|
|
goto L782;
|
|
case NEG:
|
|
goto L799;
|
|
case NOT:
|
|
goto L908;
|
|
case ASHIFT:
|
|
goto L935;
|
|
case ASHIFTRT:
|
|
goto L963;
|
|
case LSHIFTRT:
|
|
goto L991;
|
|
case ROTATE:
|
|
goto L1006;
|
|
case ROTATERT:
|
|
goto L1021;
|
|
}
|
|
}
|
|
if (general_operand (x1, QImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 54;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L608:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L609;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L609:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 111;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L631:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L632;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L632:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 119;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L688:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L689;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L689:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 134;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L693:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L694;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L694:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 135;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L752:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L753;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L753:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 145;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L767:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L768;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L768:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 148;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L782:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L783;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L783:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 151;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L799:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 155;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L908:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 180;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L935:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L936;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L936:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 186;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L963:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L964;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L964:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 192;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L991:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L992;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L992:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 198;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L1006:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1007;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L1007:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 201;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L1021:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1022;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L1022:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonmemory_operand (x2, QImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 204;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1062;
|
|
|
|
L1063:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != QImode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case EQ:
|
|
goto L1064;
|
|
case NE:
|
|
goto L1069;
|
|
case GT:
|
|
goto L1074;
|
|
case GTU:
|
|
goto L1079;
|
|
case LT:
|
|
goto L1084;
|
|
case LTU:
|
|
goto L1089;
|
|
case GE:
|
|
goto L1094;
|
|
case GEU:
|
|
goto L1099;
|
|
case LE:
|
|
goto L1104;
|
|
case LEU:
|
|
goto L1109;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1064:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1065;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1065:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 212;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1069:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1070;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1070:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 214;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1074:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1075;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1075:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 216;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1079:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1080;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1080:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 218;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1084:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1085;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1085:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 220;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1089:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1090;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1090:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 222;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1094:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1095;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1095:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 224;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1099:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1100;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1100:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 226;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1104:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1105;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1105:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 228;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1109:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1110;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1110:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
return 230;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L327:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, SFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 56;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L329;
|
|
|
|
L416:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) == SFmode && GET_CODE (x1) == FLOAT_TRUNCATE && 1)
|
|
goto L417;
|
|
if (general_operand (x1, SFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 57;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L575;
|
|
|
|
L417:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 79;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L575;
|
|
|
|
L576:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != SFmode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case FLOAT:
|
|
goto L577;
|
|
case NEG:
|
|
goto L803;
|
|
case ABS:
|
|
goto L825;
|
|
case SQRT:
|
|
goto L847;
|
|
case UNSPEC:
|
|
if (XINT (x1, 1) == 1 && XVECLEN (x1, 0) == 1 && 1)
|
|
goto L878;
|
|
if (XINT (x1, 1) == 2 && XVECLEN (x1, 0) == 1 && 1)
|
|
goto L891;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L577:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case DImode:
|
|
if (nonimmediate_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 104;
|
|
}
|
|
break;
|
|
case SImode:
|
|
if (nonimmediate_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 107;
|
|
}
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L803:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 156;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L825:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 161;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L847:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 166;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L878:
|
|
x2 = XVECEXP (x1, 0, 0);
|
|
if (register_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 173;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L891:
|
|
x2 = XVECEXP (x1, 0, 0);
|
|
if (register_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 176;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L333:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, DFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 58;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L342;
|
|
|
|
L397:
|
|
x1 = XEXP (x0, 1);
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case DFmode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case FLOAT_EXTEND:
|
|
goto L398;
|
|
case FLOAT_TRUNCATE:
|
|
goto L421;
|
|
}
|
|
}
|
|
if (general_operand (x1, DFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 60;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L571;
|
|
|
|
L398:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 74;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L571;
|
|
|
|
L421:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 80;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L571;
|
|
|
|
L572:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != DFmode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case FLOAT:
|
|
goto L573;
|
|
case NEG:
|
|
goto L811;
|
|
case ABS:
|
|
goto L833;
|
|
case SQRT:
|
|
goto L855;
|
|
case UNSPEC:
|
|
if (XINT (x1, 1) == 1 && XVECLEN (x1, 0) == 1 && 1)
|
|
goto L882;
|
|
if (XINT (x1, 1) == 2 && XVECLEN (x1, 0) == 1 && 1)
|
|
goto L895;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L573:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case DImode:
|
|
if (nonimmediate_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 103;
|
|
}
|
|
break;
|
|
case SImode:
|
|
if (nonimmediate_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 105;
|
|
}
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L811:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L812;
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 157;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L812:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
return 158;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L833:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L834;
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 162;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L834:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
return 163;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L855:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == DFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L856;
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 167;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L856:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 168;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L882:
|
|
x2 = XVECEXP (x1, 0, 0);
|
|
if (GET_MODE (x2) != DFmode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
if (GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L883;
|
|
if (register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 172;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L883:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 174;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L895:
|
|
x2 = XVECEXP (x1, 0, 0);
|
|
if (GET_MODE (x2) != DFmode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
if (GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L896;
|
|
if (register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 175;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L896:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 177;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L346:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, XFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 61;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L355;
|
|
|
|
L401:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) == XFmode && GET_CODE (x1) == FLOAT_EXTEND && 1)
|
|
goto L402;
|
|
if (general_operand (x1, XFmode))
|
|
{
|
|
ro[1] = x1;
|
|
return 63;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L567;
|
|
|
|
L402:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 75;
|
|
}
|
|
L406:
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 76;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L567;
|
|
|
|
L568:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != XFmode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case FLOAT:
|
|
goto L569;
|
|
case NEG:
|
|
goto L820;
|
|
case ABS:
|
|
goto L842;
|
|
case SQRT:
|
|
goto L864;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L569:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 102;
|
|
}
|
|
L585:
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 106;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L820:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == XFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L821;
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 159;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L821:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
return 160;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L842:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == XFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L843;
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387)
|
|
return 164;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L843:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (TARGET_80387)
|
|
return 165;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L864:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == XFmode && GET_CODE (x2) == FLOAT_EXTEND && 1)
|
|
goto L865;
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 169;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L865:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 170;
|
|
}
|
|
L870:
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
if (! TARGET_NO_FANCY_MATH_387 && TARGET_80387
|
|
&& (TARGET_IEEE_FP || flag_fast_math) )
|
|
return 171;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L359:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, DImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 64;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L361;
|
|
|
|
L592:
|
|
x1 = XEXP (x0, 1);
|
|
switch (GET_MODE (x1))
|
|
{
|
|
case DImode:
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case PLUS:
|
|
goto L593;
|
|
case MINUS:
|
|
goto L616;
|
|
case NEG:
|
|
goto L787;
|
|
}
|
|
}
|
|
if (general_operand (x1, DImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 65;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L593:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L594;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L594:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 108;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L616:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L617;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L617:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 116;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L787:
|
|
x2 = XEXP (x1, 0);
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 152;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L376;
|
|
|
|
L377:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) != DImode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case ZERO_EXTEND:
|
|
goto L378;
|
|
case SIGN_EXTEND:
|
|
goto L382;
|
|
case MULT:
|
|
goto L674;
|
|
case ASHIFT:
|
|
goto L912;
|
|
case ASHIFTRT:
|
|
goto L940;
|
|
case LSHIFTRT:
|
|
goto L968;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L378:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 69;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L382:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
return 70;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L674:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) != DImode)
|
|
{
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case ZERO_EXTEND:
|
|
goto L675;
|
|
case SIGN_EXTEND:
|
|
goto L682;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L675:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L676;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L676:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == DImode && GET_CODE (x2) == ZERO_EXTEND && 1)
|
|
goto L677;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L677:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
return 129;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L682:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L683;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L683:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == DImode && GET_CODE (x2) == SIGN_EXTEND && 1)
|
|
goto L684;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L684:
|
|
x3 = XEXP (x2, 0);
|
|
if (nonimmediate_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
return 130;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L912:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L913;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L913:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[2] = x2;
|
|
return 182;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L940:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L941;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L941:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[2] = x2;
|
|
return 188;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L968:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, DImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L969;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L969:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[2] = x2;
|
|
return 194;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
L2:
|
|
tem = recog_2 (x0, insn, pnum_clobbers);
|
|
if (tem >= 0) return tem;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L313:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case HImode:
|
|
if (general_operand (x2, HImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L314;
|
|
}
|
|
break;
|
|
case QImode:
|
|
if (general_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L324;
|
|
}
|
|
}
|
|
goto L1380;
|
|
|
|
L314:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, HImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 52;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L324:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, QImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 55;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1314:
|
|
x1 = XEXP (x0, 1);
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case MINUS:
|
|
if (GET_MODE (x1) == SImode && 1)
|
|
goto L1315;
|
|
break;
|
|
case IF_THEN_ELSE:
|
|
goto L1114;
|
|
case LABEL_REF:
|
|
goto L1294;
|
|
}
|
|
L1297:
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
return 262;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1315:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 3 && 1)
|
|
goto L1316;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1316:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MEM && 1)
|
|
goto L1317;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1317:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
|
|
goto L1318;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1318:
|
|
x4 = XEXP (x3, 0);
|
|
if (GET_MODE (x4) == SImode && GET_CODE (x4) == MULT && 1)
|
|
goto L1319;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1319:
|
|
x5 = XEXP (x4, 0);
|
|
if (register_operand (x5, SImode))
|
|
{
|
|
ro[0] = x5;
|
|
goto L1320;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1320:
|
|
x5 = XEXP (x4, 1);
|
|
if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 4 && 1)
|
|
goto L1321;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1321:
|
|
x4 = XEXP (x3, 1);
|
|
if (GET_CODE (x4) == LABEL_REF && 1)
|
|
goto L1322;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1322:
|
|
x5 = XEXP (x4, 0);
|
|
if (pnum_clobbers != 0 && 1)
|
|
{
|
|
ro[1] = x5;
|
|
*pnum_clobbers = 1;
|
|
return 264;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
L1114:
|
|
tem = recog_3 (x0, insn, pnum_clobbers);
|
|
if (tem >= 0) return tem;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1380;
|
|
|
|
L1294:
|
|
x2 = XEXP (x1, 0);
|
|
ro[0] = x2;
|
|
return 261;
|
|
|
|
L1381:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_CODE (x1) == CALL && 1)
|
|
goto L1382;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1460;
|
|
|
|
L1382:
|
|
x2 = XEXP (x1, 0);
|
|
if (call_insn_operand (x2, QImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1383;
|
|
}
|
|
L1387:
|
|
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
|
|
goto L1388;
|
|
x1 = XEXP (x0, 0);
|
|
goto L1460;
|
|
|
|
L1383:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 276;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1387;
|
|
|
|
L1388:
|
|
x3 = XEXP (x2, 0);
|
|
if (symbolic_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1389;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1460;
|
|
|
|
L1389:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
if (!HALF_PIC_P ())
|
|
return 277;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1460;
|
|
|
|
L1461:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) == SImode && GET_CODE (x1) == PLUS && 1)
|
|
goto L1462;
|
|
goto ret0;
|
|
|
|
L1462:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FFS && 1)
|
|
goto L1463;
|
|
goto ret0;
|
|
|
|
L1463:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1464;
|
|
}
|
|
goto ret0;
|
|
|
|
L1464:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == -1 && 1)
|
|
return 291;
|
|
goto ret0;
|
|
|
|
L1467:
|
|
x1 = XEXP (x0, 1);
|
|
if (GET_MODE (x1) == HImode && GET_CODE (x1) == PLUS && 1)
|
|
goto L1468;
|
|
goto ret0;
|
|
|
|
L1468:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == HImode && GET_CODE (x2) == FFS && 1)
|
|
goto L1469;
|
|
goto ret0;
|
|
|
|
L1469:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1470;
|
|
}
|
|
goto ret0;
|
|
|
|
L1470:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == -1 && 1)
|
|
return 293;
|
|
goto ret0;
|
|
|
|
L1473:
|
|
x1 = XEXP (x0, 1);
|
|
if (binary_387_op (x1, DFmode))
|
|
{
|
|
ro[3] = x1;
|
|
goto L1479;
|
|
}
|
|
goto ret0;
|
|
|
|
L1479:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case DFmode:
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L1480;
|
|
case FLOAT_EXTEND:
|
|
goto L1515;
|
|
case SUBREG:
|
|
case REG:
|
|
case MEM:
|
|
if (nonimmediate_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1475;
|
|
}
|
|
}
|
|
}
|
|
L1520:
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1521;
|
|
}
|
|
goto ret0;
|
|
|
|
L1480:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1481;
|
|
}
|
|
goto ret0;
|
|
|
|
L1481:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 295;
|
|
}
|
|
goto ret0;
|
|
|
|
L1515:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1516;
|
|
}
|
|
goto ret0;
|
|
|
|
L1516:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, DFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 301;
|
|
}
|
|
goto ret0;
|
|
|
|
L1475:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonimmediate_operand (x2, DFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 294;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1520;
|
|
|
|
L1521:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != DFmode)
|
|
goto ret0;
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L1522;
|
|
case FLOAT_EXTEND:
|
|
goto L1528;
|
|
}
|
|
goto ret0;
|
|
|
|
L1522:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
if (TARGET_80387)
|
|
return 302;
|
|
}
|
|
goto ret0;
|
|
|
|
L1528:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[2] = x3;
|
|
if (TARGET_80387)
|
|
return 303;
|
|
}
|
|
goto ret0;
|
|
|
|
L1484:
|
|
x1 = XEXP (x0, 1);
|
|
if (binary_387_op (x1, XFmode))
|
|
{
|
|
ro[3] = x1;
|
|
goto L1490;
|
|
}
|
|
goto ret0;
|
|
|
|
L1490:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case XFmode:
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L1491;
|
|
case FLOAT_EXTEND:
|
|
goto L1497;
|
|
case SUBREG:
|
|
case REG:
|
|
case MEM:
|
|
if (nonimmediate_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1486;
|
|
}
|
|
}
|
|
}
|
|
L1502:
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1503;
|
|
}
|
|
goto ret0;
|
|
|
|
L1491:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1492;
|
|
}
|
|
goto ret0;
|
|
|
|
L1492:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 297;
|
|
}
|
|
goto ret0;
|
|
|
|
L1497:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1498;
|
|
}
|
|
goto ret0;
|
|
|
|
L1498:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, XFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 298;
|
|
}
|
|
goto ret0;
|
|
|
|
L1486:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonimmediate_operand (x2, XFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 296;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1502;
|
|
|
|
L1503:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != XFmode)
|
|
goto ret0;
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case FLOAT:
|
|
goto L1504;
|
|
case FLOAT_EXTEND:
|
|
goto L1510;
|
|
}
|
|
goto ret0;
|
|
|
|
L1504:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
if (TARGET_80387)
|
|
return 299;
|
|
}
|
|
goto ret0;
|
|
|
|
L1510:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SFmode))
|
|
{
|
|
ro[2] = x3;
|
|
if (TARGET_80387)
|
|
return 300;
|
|
}
|
|
goto ret0;
|
|
|
|
L1531:
|
|
x1 = XEXP (x0, 1);
|
|
if (binary_387_op (x1, SFmode))
|
|
{
|
|
ro[3] = x1;
|
|
goto L1537;
|
|
}
|
|
goto ret0;
|
|
|
|
L1537:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case SFmode:
|
|
if (GET_CODE (x2) == FLOAT && 1)
|
|
goto L1538;
|
|
if (nonimmediate_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1533;
|
|
}
|
|
}
|
|
L1543:
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1544;
|
|
}
|
|
goto ret0;
|
|
|
|
L1538:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1539;
|
|
}
|
|
goto ret0;
|
|
|
|
L1539:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 305;
|
|
}
|
|
goto ret0;
|
|
|
|
L1533:
|
|
x2 = XEXP (x1, 1);
|
|
if (nonimmediate_operand (x2, SFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 304;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1543;
|
|
|
|
L1544:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT && 1)
|
|
goto L1545;
|
|
goto ret0;
|
|
|
|
L1545:
|
|
x3 = XEXP (x2, 0);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
if (TARGET_80387)
|
|
return 306;
|
|
}
|
|
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, 1);
|
|
x3 = XEXP (x2, 0);
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
if (GET_CODE (x3) == FLOAT && 1)
|
|
goto L84;
|
|
if (nonimmediate_operand (x3, XFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L56;
|
|
}
|
|
L68:
|
|
if (register_operand (x3, XFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L69;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
switch (GET_CODE (x3))
|
|
{
|
|
case FLOAT:
|
|
goto L170;
|
|
case FLOAT_EXTEND:
|
|
goto L200;
|
|
case SUBREG:
|
|
case REG:
|
|
case MEM:
|
|
if (nonimmediate_operand (x3, DFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L142;
|
|
}
|
|
}
|
|
L154:
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L155;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (GET_CODE (x3) == FLOAT && 1)
|
|
goto L256;
|
|
if (nonimmediate_operand (x3, SFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L228;
|
|
}
|
|
L240:
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L241;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L84:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[0] = x4;
|
|
goto L85;
|
|
}
|
|
goto ret0;
|
|
|
|
L85:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, XFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L86;
|
|
}
|
|
goto ret0;
|
|
|
|
L86:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L87;
|
|
goto ret0;
|
|
|
|
L87:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 20;
|
|
}
|
|
goto ret0;
|
|
|
|
L56:
|
|
x3 = XEXP (x2, 1);
|
|
if (nonimmediate_operand (x3, XFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L57;
|
|
}
|
|
x3 = XEXP (x2, 0);
|
|
goto L68;
|
|
|
|
L57:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L58;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L68;
|
|
|
|
L58:
|
|
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 18;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L68;
|
|
|
|
L69:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) != XFmode)
|
|
goto ret0;
|
|
switch (GET_CODE (x3))
|
|
{
|
|
case FLOAT:
|
|
goto L70;
|
|
case FLOAT_EXTEND:
|
|
goto L100;
|
|
}
|
|
goto ret0;
|
|
|
|
L70:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L71;
|
|
}
|
|
goto ret0;
|
|
|
|
L71:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L72;
|
|
goto ret0;
|
|
|
|
L72:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 19;
|
|
}
|
|
goto ret0;
|
|
|
|
L100:
|
|
x4 = XEXP (x3, 0);
|
|
switch (GET_MODE (x4))
|
|
{
|
|
case DFmode:
|
|
if (nonimmediate_operand (x4, DFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L101;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (nonimmediate_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L116;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L101:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L102;
|
|
goto ret0;
|
|
|
|
L102:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 21;
|
|
}
|
|
goto ret0;
|
|
|
|
L116:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L117;
|
|
goto ret0;
|
|
|
|
L117:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 22;
|
|
}
|
|
goto ret0;
|
|
|
|
L170:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[0] = x4;
|
|
goto L171;
|
|
}
|
|
goto ret0;
|
|
|
|
L171:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L172;
|
|
}
|
|
goto ret0;
|
|
|
|
L172:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L173;
|
|
goto ret0;
|
|
|
|
L173:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 26;
|
|
}
|
|
goto ret0;
|
|
|
|
L200:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SFmode))
|
|
{
|
|
ro[0] = x4;
|
|
goto L201;
|
|
}
|
|
goto ret0;
|
|
|
|
L201:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L202;
|
|
}
|
|
goto ret0;
|
|
|
|
L202:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L203;
|
|
goto ret0;
|
|
|
|
L203:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 28;
|
|
}
|
|
goto ret0;
|
|
|
|
L142:
|
|
x3 = XEXP (x2, 1);
|
|
if (nonimmediate_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L143;
|
|
}
|
|
x3 = XEXP (x2, 0);
|
|
goto L154;
|
|
|
|
L143:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L144;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L154;
|
|
|
|
L144:
|
|
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 24;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L154;
|
|
|
|
L155:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) != DFmode)
|
|
goto ret0;
|
|
switch (GET_CODE (x3))
|
|
{
|
|
case FLOAT:
|
|
goto L156;
|
|
case FLOAT_EXTEND:
|
|
goto L186;
|
|
}
|
|
goto ret0;
|
|
|
|
L156:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L157;
|
|
}
|
|
goto ret0;
|
|
|
|
L157:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L158;
|
|
goto ret0;
|
|
|
|
L158:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 25;
|
|
}
|
|
goto ret0;
|
|
|
|
L186:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L187;
|
|
}
|
|
goto ret0;
|
|
|
|
L187:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L188;
|
|
goto ret0;
|
|
|
|
L188:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 27;
|
|
}
|
|
goto ret0;
|
|
|
|
L256:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[0] = x4;
|
|
goto L257;
|
|
}
|
|
goto ret0;
|
|
|
|
L257:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L258;
|
|
}
|
|
goto ret0;
|
|
|
|
L258:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L259;
|
|
goto ret0;
|
|
|
|
L259:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 32;
|
|
}
|
|
goto ret0;
|
|
|
|
L228:
|
|
x3 = XEXP (x2, 1);
|
|
if (nonimmediate_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L229;
|
|
}
|
|
x3 = XEXP (x2, 0);
|
|
goto L240;
|
|
|
|
L229:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L230;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L240;
|
|
|
|
L230:
|
|
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 30;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L240;
|
|
|
|
L241:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) == SFmode && GET_CODE (x3) == FLOAT && 1)
|
|
goto L242;
|
|
goto ret0;
|
|
|
|
L242:
|
|
x4 = XEXP (x3, 0);
|
|
if (nonimmediate_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L243;
|
|
}
|
|
goto ret0;
|
|
|
|
L243:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L244;
|
|
goto ret0;
|
|
|
|
L244:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
return 31;
|
|
}
|
|
goto ret0;
|
|
ret0: return -1;
|
|
}
|
|
|
|
int
|
|
recog_6 (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 L337;
|
|
}
|
|
break;
|
|
case XFmode:
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L350;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (nonimmediate_operand (x2, SFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L410;
|
|
}
|
|
break;
|
|
case SImode:
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L698;
|
|
}
|
|
break;
|
|
case HImode:
|
|
if (register_operand (x2, HImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L709;
|
|
}
|
|
break;
|
|
case DImode:
|
|
if (register_operand (x2, DImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L917;
|
|
}
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case CC0:
|
|
goto L12;
|
|
case PC:
|
|
goto L1301;
|
|
}
|
|
L1358:
|
|
ro[0] = x2;
|
|
goto L1359;
|
|
L1548:
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1549;
|
|
}
|
|
goto ret0;
|
|
|
|
L337:
|
|
x2 = XEXP (x1, 1);
|
|
if (register_operand (x2, DFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L338;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L338:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L339;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L339:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L340;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L340:
|
|
x2 = XEXP (x1, 1);
|
|
if (rtx_equal_p (x2, ro[0]) && 1)
|
|
return 59;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L350:
|
|
x2 = XEXP (x1, 1);
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L351;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L351:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L352;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L352:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L353;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L353:
|
|
x2 = XEXP (x1, 1);
|
|
if (rtx_equal_p (x2, ro[0]) && 1)
|
|
return 62;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L410:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SFmode && GET_CODE (x2) == FLOAT_TRUNCATE && 1)
|
|
goto L411;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L411:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L412;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L412:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L413;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L413:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SFmode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 78;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L698:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != SImode)
|
|
{
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case DIV:
|
|
goto L699;
|
|
case UDIV:
|
|
goto L721;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L699:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L700;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L700:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L701;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L701:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L702;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L702:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L703;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L703:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MOD && 1)
|
|
goto L704;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L704:
|
|
x3 = XEXP (x2, 0);
|
|
if (rtx_equal_p (x3, ro[1]) && 1)
|
|
goto L705;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L705:
|
|
x3 = XEXP (x2, 1);
|
|
if (rtx_equal_p (x3, ro[2]) && 1)
|
|
return 139;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L721:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L722;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L722:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L723;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L723:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L724;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L724:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L725;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L725:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == UMOD && 1)
|
|
goto L726;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L726:
|
|
x3 = XEXP (x2, 0);
|
|
if (rtx_equal_p (x3, ro[1]) && 1)
|
|
goto L727;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L727:
|
|
x3 = XEXP (x2, 1);
|
|
if (rtx_equal_p (x3, ro[2]) && 1)
|
|
return 141;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L709:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != HImode)
|
|
{
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case DIV:
|
|
goto L710;
|
|
case UDIV:
|
|
goto L732;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L710:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, HImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L711;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L711:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, HImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L712;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L712:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L713;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L713:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L714;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L714:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == HImode && GET_CODE (x2) == MOD && 1)
|
|
goto L715;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L715:
|
|
x3 = XEXP (x2, 0);
|
|
if (rtx_equal_p (x3, ro[1]) && 1)
|
|
goto L716;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L716:
|
|
x3 = XEXP (x2, 1);
|
|
if (rtx_equal_p (x3, ro[2]) && 1)
|
|
return 140;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L732:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, HImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L733;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L733:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, HImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L734;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L734:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L735;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L735:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, HImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L736;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L736:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == HImode && GET_CODE (x2) == UMOD && 1)
|
|
goto L737;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L737:
|
|
x3 = XEXP (x2, 0);
|
|
if (rtx_equal_p (x3, ro[1]) && 1)
|
|
goto L738;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L738:
|
|
x3 = XEXP (x2, 1);
|
|
if (rtx_equal_p (x3, ro[2]) && 1)
|
|
return 142;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L917:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) != DImode)
|
|
{
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
}
|
|
switch (GET_CODE (x2))
|
|
{
|
|
case ASHIFT:
|
|
goto L918;
|
|
case ASHIFTRT:
|
|
goto L946;
|
|
case LSHIFTRT:
|
|
goto L974;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L918:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, DImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L919;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L919:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L920;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L920:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L921;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L921:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[2]) && 1)
|
|
return 183;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L946:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, DImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L947;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L947:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L948;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L948:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L949;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L949:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[2]) && 1)
|
|
return 189;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L974:
|
|
x3 = XEXP (x2, 0);
|
|
if (register_operand (x3, DImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L975;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L975:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L976;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L976:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L977;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L977:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[2]) && 1)
|
|
return 195;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L12:
|
|
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;
|
|
}
|
|
break;
|
|
case XFmode:
|
|
if (register_operand (x2, XFmode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L31;
|
|
}
|
|
}
|
|
L54:
|
|
if (VOIDmode_compare_op (x2, VOIDmode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L83;
|
|
}
|
|
L127:
|
|
if (GET_MODE (x2) == CCFPEQmode && GET_CODE (x2) == COMPARE && 1)
|
|
goto L128;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L13:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L14;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
goto L54;
|
|
|
|
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 L54;
|
|
|
|
L22:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L23;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
goto L54;
|
|
|
|
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 L54;
|
|
|
|
L31:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L32;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
goto L54;
|
|
|
|
L32:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[1] = x2;
|
|
if (TARGET_80387 && ! TARGET_IEEE_FP)
|
|
return 10;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
goto L54;
|
|
L83:
|
|
tem = recog_5 (x0, insn, pnum_clobbers);
|
|
if (tem >= 0) return tem;
|
|
goto L127;
|
|
|
|
L128:
|
|
x3 = XEXP (x2, 0);
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
if (register_operand (x3, XFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L129;
|
|
}
|
|
break;
|
|
case DFmode:
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L215;
|
|
}
|
|
break;
|
|
case SFmode:
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L271;
|
|
}
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L129:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, XFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L130;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L130:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L131;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L131:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 23;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L215:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, DFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L216;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L216:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L217;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L217:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 29;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L271:
|
|
x3 = XEXP (x2, 1);
|
|
if (register_operand (x3, SFmode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L272;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L272:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L273;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L273:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, HImode))
|
|
{
|
|
ro[2] = x2;
|
|
if (TARGET_80387)
|
|
return 33;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1301:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == MINUS && 1)
|
|
goto L1302;
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1327;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1302:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 3 && 1)
|
|
goto L1303;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1303:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == MEM && 1)
|
|
goto L1304;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1304:
|
|
x4 = XEXP (x3, 0);
|
|
if (GET_MODE (x4) == SImode && GET_CODE (x4) == PLUS && 1)
|
|
goto L1305;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1305:
|
|
x5 = XEXP (x4, 0);
|
|
if (GET_MODE (x5) == SImode && GET_CODE (x5) == MULT && 1)
|
|
goto L1306;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1306:
|
|
x6 = XEXP (x5, 0);
|
|
if (register_operand (x6, SImode))
|
|
{
|
|
ro[0] = x6;
|
|
goto L1307;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1307:
|
|
x6 = XEXP (x5, 1);
|
|
if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == 4 && 1)
|
|
goto L1308;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1308:
|
|
x5 = XEXP (x4, 1);
|
|
if (GET_CODE (x5) == LABEL_REF && 1)
|
|
goto L1309;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1309:
|
|
x6 = XEXP (x5, 0);
|
|
ro[1] = x6;
|
|
goto L1310;
|
|
|
|
L1310:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1311;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1311:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
return 264;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1327:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1328;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1328:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == LABEL_REF && 1)
|
|
goto L1329;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1358;
|
|
|
|
L1329:
|
|
x3 = XEXP (x2, 0);
|
|
ro[1] = x3;
|
|
return 265;
|
|
|
|
L1359:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CALL && 1)
|
|
goto L1371;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1371:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == QImode && GET_CODE (x3) == MEM && 1)
|
|
goto L1372;
|
|
L1360:
|
|
if (call_insn_operand (x3, QImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1361;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1372:
|
|
x4 = XEXP (x3, 0);
|
|
if (symbolic_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L1373;
|
|
}
|
|
goto L1360;
|
|
|
|
L1373:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L1374;
|
|
}
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1374:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L1375;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1375:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
|
|
goto L1376;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1376:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
|
|
goto L1377;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1377:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
|
|
goto L1378;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1378:
|
|
x3 = XEXP (x2, 1);
|
|
if (immediate_operand (x3, SImode))
|
|
{
|
|
ro[4] = x3;
|
|
if (!HALF_PIC_P ())
|
|
return 274;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 1);
|
|
x3 = XEXP (x2, 0);
|
|
goto L1360;
|
|
|
|
L1361:
|
|
x3 = XEXP (x2, 1);
|
|
if (general_operand (x3, SImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L1362;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1362:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L1363;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1363:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
|
|
goto L1364;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1364:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
|
|
goto L1365;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1365:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
|
|
goto L1366;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1366:
|
|
x3 = XEXP (x2, 1);
|
|
if (immediate_operand (x3, SImode))
|
|
{
|
|
ro[4] = x3;
|
|
return 273;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1548;
|
|
|
|
L1549:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == UNSPEC && XINT (x2, 1) == 0 && XVECLEN (x2, 0) == 3 && 1)
|
|
goto L1550;
|
|
goto ret0;
|
|
|
|
L1550:
|
|
x3 = XVECEXP (x2, 0, 0);
|
|
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
|
|
goto L1551;
|
|
goto ret0;
|
|
|
|
L1551:
|
|
x4 = XEXP (x3, 0);
|
|
if (address_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L1552;
|
|
}
|
|
goto ret0;
|
|
|
|
L1552:
|
|
x3 = XVECEXP (x2, 0, 1);
|
|
if (register_operand (x3, QImode))
|
|
{
|
|
ro[2] = x3;
|
|
goto L1553;
|
|
}
|
|
goto ret0;
|
|
|
|
L1553:
|
|
x3 = XVECEXP (x2, 0, 2);
|
|
if (immediate_operand (x3, SImode))
|
|
{
|
|
ro[3] = x3;
|
|
goto L1554;
|
|
}
|
|
goto ret0;
|
|
|
|
L1554:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1555;
|
|
goto ret0;
|
|
|
|
L1555:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
return 308;
|
|
goto ret0;
|
|
ret0: return -1;
|
|
}
|
|
|
|
int
|
|
recog_7 (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 DImode:
|
|
if (general_operand (x2, DImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L439;
|
|
}
|
|
break;
|
|
case SImode:
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L503;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L439:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == DImode && GET_CODE (x2) == FIX && 1)
|
|
goto L440;
|
|
goto ret0;
|
|
|
|
L440:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) != FIX)
|
|
goto ret0;
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
goto L441;
|
|
case DFmode:
|
|
goto L467;
|
|
case SFmode:
|
|
goto L493;
|
|
}
|
|
goto ret0;
|
|
|
|
L441:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, XFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L442;
|
|
}
|
|
goto ret0;
|
|
|
|
L442:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L443;
|
|
goto ret0;
|
|
|
|
L443:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L444;
|
|
goto ret0;
|
|
|
|
L444:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L445;
|
|
goto ret0;
|
|
|
|
L445:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L446;
|
|
}
|
|
goto ret0;
|
|
|
|
L446:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L447;
|
|
goto ret0;
|
|
|
|
L447:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 87;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L467:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, DFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L468;
|
|
}
|
|
goto ret0;
|
|
|
|
L468:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L469;
|
|
goto ret0;
|
|
|
|
L469:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L470;
|
|
goto ret0;
|
|
|
|
L470:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L471;
|
|
goto ret0;
|
|
|
|
L471:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L472;
|
|
}
|
|
goto ret0;
|
|
|
|
L472:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L473;
|
|
goto ret0;
|
|
|
|
L473:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 88;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L493:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L494;
|
|
}
|
|
goto ret0;
|
|
|
|
L494:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L495;
|
|
goto ret0;
|
|
|
|
L495:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L496;
|
|
goto ret0;
|
|
|
|
L496:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L497;
|
|
goto ret0;
|
|
|
|
L497:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L498;
|
|
}
|
|
goto ret0;
|
|
|
|
L498:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L499;
|
|
goto ret0;
|
|
|
|
L499:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 89;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L503:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
|
|
goto L504;
|
|
goto ret0;
|
|
|
|
L504:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) != FIX)
|
|
goto ret0;
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
goto L505;
|
|
case DFmode:
|
|
goto L527;
|
|
case SFmode:
|
|
goto L549;
|
|
}
|
|
goto ret0;
|
|
|
|
L505:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, XFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L506;
|
|
}
|
|
goto ret0;
|
|
|
|
L506:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L507;
|
|
goto ret0;
|
|
|
|
L507:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L508;
|
|
}
|
|
goto ret0;
|
|
|
|
L508:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L509;
|
|
goto ret0;
|
|
|
|
L509:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L510;
|
|
}
|
|
goto ret0;
|
|
|
|
L510:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L511;
|
|
goto ret0;
|
|
|
|
L511:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 93;
|
|
}
|
|
goto ret0;
|
|
|
|
L527:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, DFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L528;
|
|
}
|
|
goto ret0;
|
|
|
|
L528:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L529;
|
|
goto ret0;
|
|
|
|
L529:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L530;
|
|
}
|
|
goto ret0;
|
|
|
|
L530:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L531;
|
|
goto ret0;
|
|
|
|
L531:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L532;
|
|
}
|
|
goto ret0;
|
|
|
|
L532:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L533;
|
|
goto ret0;
|
|
|
|
L533:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 94;
|
|
}
|
|
goto ret0;
|
|
|
|
L549:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L550;
|
|
}
|
|
goto ret0;
|
|
|
|
L550:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L551;
|
|
goto ret0;
|
|
|
|
L551:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L552;
|
|
}
|
|
goto ret0;
|
|
|
|
L552:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L553;
|
|
goto ret0;
|
|
|
|
L553:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L554;
|
|
}
|
|
goto ret0;
|
|
|
|
L554:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L555;
|
|
goto ret0;
|
|
|
|
L555:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 95;
|
|
}
|
|
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;
|
|
|
|
L1403:
|
|
switch (GET_CODE (x0))
|
|
{
|
|
case UNSPEC:
|
|
if (GET_MODE (x0) == SImode && XINT (x0, 1) == 0 && XVECLEN (x0, 0) == 1 && 1)
|
|
goto L1404;
|
|
break;
|
|
case SET:
|
|
goto L295;
|
|
case PARALLEL:
|
|
if (XVECLEN (x0, 0) == 2 && 1)
|
|
goto L10;
|
|
if (XVECLEN (x0, 0) == 5 && 1)
|
|
goto L423;
|
|
if (XVECLEN (x0, 0) == 4 && 1)
|
|
goto L437;
|
|
if (XVECLEN (x0, 0) == 3 && 1)
|
|
goto L513;
|
|
if (XVECLEN (x0, 0) == 6 && 1)
|
|
goto L1408;
|
|
break;
|
|
case CALL:
|
|
goto L1350;
|
|
case RETURN:
|
|
if (simple_386_epilogue ())
|
|
return 283;
|
|
break;
|
|
case CONST_INT:
|
|
if (XWINT (x0, 0) == 0 && 1)
|
|
return 284;
|
|
}
|
|
goto ret0;
|
|
|
|
L1404:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
if (memory_operand (x1, SImode))
|
|
{
|
|
ro[0] = x1;
|
|
return 282;
|
|
}
|
|
goto ret0;
|
|
L295:
|
|
return recog_4 (x0, insn, pnum_clobbers);
|
|
|
|
L10:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case SET:
|
|
goto L336;
|
|
case CALL:
|
|
goto L1341;
|
|
}
|
|
goto ret0;
|
|
L336:
|
|
return recog_6 (x0, insn, pnum_clobbers);
|
|
|
|
L1341:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
|
|
goto L1342;
|
|
L1332:
|
|
if (call_insn_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1333;
|
|
}
|
|
goto ret0;
|
|
|
|
L1342:
|
|
x3 = XEXP (x2, 0);
|
|
if (symbolic_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L1343;
|
|
}
|
|
goto L1332;
|
|
|
|
L1343:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1344;
|
|
}
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1344:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L1345;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1345:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
|
|
goto L1346;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1346:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
|
|
goto L1347;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1347:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
|
|
goto L1348;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1348:
|
|
x3 = XEXP (x2, 1);
|
|
if (immediate_operand (x3, SImode))
|
|
{
|
|
ro[3] = x3;
|
|
if (!HALF_PIC_P ())
|
|
return 268;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1332;
|
|
|
|
L1333:
|
|
x2 = XEXP (x1, 1);
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[1] = x2;
|
|
goto L1334;
|
|
}
|
|
goto ret0;
|
|
|
|
L1334:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L1335;
|
|
goto ret0;
|
|
|
|
L1335:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == REG && XINT (x2, 0) == 7 && 1)
|
|
goto L1336;
|
|
goto ret0;
|
|
|
|
L1336:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
|
|
goto L1337;
|
|
goto ret0;
|
|
|
|
L1337:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == SImode && GET_CODE (x3) == REG && XINT (x3, 0) == 7 && 1)
|
|
goto L1338;
|
|
goto ret0;
|
|
|
|
L1338:
|
|
x3 = XEXP (x2, 1);
|
|
if (immediate_operand (x3, SImode))
|
|
{
|
|
ro[3] = x3;
|
|
return 267;
|
|
}
|
|
goto ret0;
|
|
|
|
L423:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L424;
|
|
goto ret0;
|
|
|
|
L424:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == DImode && general_operand (x2, DImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L425;
|
|
}
|
|
goto ret0;
|
|
|
|
L425:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == DImode && GET_CODE (x2) == FIX && 1)
|
|
goto L426;
|
|
goto ret0;
|
|
|
|
L426:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) != FIX)
|
|
goto ret0;
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
goto L427;
|
|
case DFmode:
|
|
goto L453;
|
|
case SFmode:
|
|
goto L479;
|
|
}
|
|
goto ret0;
|
|
|
|
L427:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, XFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L428;
|
|
}
|
|
goto ret0;
|
|
|
|
L428:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L429;
|
|
goto ret0;
|
|
|
|
L429:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L430;
|
|
goto ret0;
|
|
|
|
L430:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L431;
|
|
goto ret0;
|
|
|
|
L431:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L432;
|
|
}
|
|
goto ret0;
|
|
|
|
L432:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L433;
|
|
goto ret0;
|
|
|
|
L433:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L434;
|
|
}
|
|
goto ret0;
|
|
|
|
L434:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L435;
|
|
goto ret0;
|
|
|
|
L435:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 87;
|
|
}
|
|
goto ret0;
|
|
|
|
L453:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, DFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L454;
|
|
}
|
|
goto ret0;
|
|
|
|
L454:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L455;
|
|
goto ret0;
|
|
|
|
L455:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L456;
|
|
goto ret0;
|
|
|
|
L456:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L457;
|
|
goto ret0;
|
|
|
|
L457:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L458;
|
|
}
|
|
goto ret0;
|
|
|
|
L458:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L459;
|
|
goto ret0;
|
|
|
|
L459:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L460;
|
|
}
|
|
goto ret0;
|
|
|
|
L460:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L461;
|
|
goto ret0;
|
|
|
|
L461:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 88;
|
|
}
|
|
goto ret0;
|
|
|
|
L479:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L480;
|
|
}
|
|
goto ret0;
|
|
|
|
L480:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L481;
|
|
goto ret0;
|
|
|
|
L481:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L482;
|
|
goto ret0;
|
|
|
|
L482:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L483;
|
|
goto ret0;
|
|
|
|
L483:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L484;
|
|
}
|
|
goto ret0;
|
|
|
|
L484:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L485;
|
|
goto ret0;
|
|
|
|
L485:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L486;
|
|
}
|
|
goto ret0;
|
|
|
|
L486:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L487;
|
|
goto ret0;
|
|
|
|
L487:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
if (TARGET_80387)
|
|
return 89;
|
|
}
|
|
goto ret0;
|
|
|
|
L437:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L438;
|
|
goto ret0;
|
|
L438:
|
|
return recog_7 (x0, insn, pnum_clobbers);
|
|
|
|
L513:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
switch (GET_CODE (x1))
|
|
{
|
|
case SET:
|
|
goto L514;
|
|
case CALL:
|
|
goto L1398;
|
|
}
|
|
goto ret0;
|
|
|
|
L514:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == SImode && general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L515;
|
|
}
|
|
goto ret0;
|
|
|
|
L515:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == FIX && 1)
|
|
goto L516;
|
|
goto ret0;
|
|
|
|
L516:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_CODE (x3) != FIX)
|
|
goto ret0;
|
|
switch (GET_MODE (x3))
|
|
{
|
|
case XFmode:
|
|
goto L517;
|
|
case DFmode:
|
|
goto L539;
|
|
case SFmode:
|
|
goto L561;
|
|
}
|
|
goto ret0;
|
|
|
|
L517:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, XFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L518;
|
|
}
|
|
goto ret0;
|
|
|
|
L518:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L519;
|
|
goto ret0;
|
|
|
|
L519:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L520;
|
|
}
|
|
goto ret0;
|
|
|
|
L520:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L521;
|
|
goto ret0;
|
|
|
|
L521:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 93;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L539:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, DFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L540;
|
|
}
|
|
goto ret0;
|
|
|
|
L540:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L541;
|
|
goto ret0;
|
|
|
|
L541:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L542;
|
|
}
|
|
goto ret0;
|
|
|
|
L542:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L543;
|
|
goto ret0;
|
|
|
|
L543:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 94;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L561:
|
|
x4 = XEXP (x3, 0);
|
|
if (register_operand (x4, SFmode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L562;
|
|
}
|
|
goto ret0;
|
|
|
|
L562:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L563;
|
|
goto ret0;
|
|
|
|
L563:
|
|
x2 = XEXP (x1, 0);
|
|
if (memory_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L564;
|
|
}
|
|
goto ret0;
|
|
|
|
L564:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L565;
|
|
goto ret0;
|
|
|
|
L565:
|
|
x2 = XEXP (x1, 0);
|
|
if (pnum_clobbers != 0 && memory_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
if (TARGET_80387)
|
|
{
|
|
*pnum_clobbers = 1;
|
|
return 95;
|
|
}
|
|
}
|
|
goto ret0;
|
|
|
|
L1398:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_MODE (x2) == QImode && GET_CODE (x2) == MEM && 1)
|
|
goto L1399;
|
|
L1392:
|
|
if (call_insn_operand (x2, QImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1393;
|
|
}
|
|
goto ret0;
|
|
|
|
L1399:
|
|
x3 = XEXP (x2, 0);
|
|
if (symbolic_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L1400;
|
|
}
|
|
goto L1392;
|
|
|
|
L1400:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
goto L1401;
|
|
x2 = XEXP (x1, 0);
|
|
goto L1392;
|
|
|
|
L1401:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (memory_operand (x1, DImode))
|
|
{
|
|
ro[1] = x1;
|
|
goto L1402;
|
|
}
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1392;
|
|
|
|
L1402:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
ro[2] = x1;
|
|
if (!HALF_PIC_P ())
|
|
return 280;
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
x2 = XEXP (x1, 0);
|
|
goto L1392;
|
|
|
|
L1393:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
|
|
goto L1394;
|
|
goto ret0;
|
|
|
|
L1394:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (memory_operand (x1, DImode))
|
|
{
|
|
ro[1] = x1;
|
|
goto L1395;
|
|
}
|
|
goto ret0;
|
|
|
|
L1395:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
ro[2] = x1;
|
|
return 279;
|
|
|
|
L1408:
|
|
x1 = XVECEXP (x0, 0, 0);
|
|
if (GET_CODE (x1) == SET && 1)
|
|
goto L1409;
|
|
goto ret0;
|
|
|
|
L1409:
|
|
x2 = XEXP (x1, 0);
|
|
switch (GET_MODE (x2))
|
|
{
|
|
case BLKmode:
|
|
if (GET_CODE (x2) == MEM && 1)
|
|
goto L1410;
|
|
break;
|
|
case SImode:
|
|
if (general_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1426;
|
|
}
|
|
}
|
|
if (GET_CODE (x2) == CC0 && 1)
|
|
goto L1444;
|
|
goto ret0;
|
|
|
|
L1410:
|
|
x3 = XEXP (x2, 0);
|
|
if (address_operand (x3, SImode))
|
|
{
|
|
ro[0] = x3;
|
|
goto L1411;
|
|
}
|
|
goto ret0;
|
|
|
|
L1411:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
|
|
goto L1412;
|
|
goto ret0;
|
|
|
|
L1412:
|
|
x3 = XEXP (x2, 0);
|
|
if (address_operand (x3, SImode))
|
|
{
|
|
ro[1] = x3;
|
|
goto L1413;
|
|
}
|
|
goto ret0;
|
|
|
|
L1413:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1414;
|
|
goto ret0;
|
|
|
|
L1414:
|
|
x2 = XEXP (x1, 0);
|
|
if (GET_CODE (x2) == CONST_INT && 1)
|
|
{
|
|
ro[2] = x2;
|
|
goto L1415;
|
|
}
|
|
goto ret0;
|
|
|
|
L1415:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1416;
|
|
goto ret0;
|
|
|
|
L1416:
|
|
x2 = XEXP (x1, 0);
|
|
if (immediate_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L1417;
|
|
}
|
|
goto ret0;
|
|
|
|
L1417:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1418;
|
|
goto ret0;
|
|
|
|
L1418:
|
|
x2 = XEXP (x1, 0);
|
|
if (scratch_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
goto L1419;
|
|
}
|
|
goto ret0;
|
|
|
|
L1419:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1420;
|
|
goto ret0;
|
|
|
|
L1420:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[0]) && 1)
|
|
goto L1421;
|
|
goto ret0;
|
|
|
|
L1421:
|
|
x1 = XVECEXP (x0, 0, 5);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1422;
|
|
goto ret0;
|
|
|
|
L1422:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
return 286;
|
|
goto ret0;
|
|
|
|
L1426:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == COMPARE && 1)
|
|
goto L1427;
|
|
goto ret0;
|
|
|
|
L1427:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
|
|
goto L1428;
|
|
goto ret0;
|
|
|
|
L1428:
|
|
x4 = XEXP (x3, 0);
|
|
if (address_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L1429;
|
|
}
|
|
goto ret0;
|
|
|
|
L1429:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
|
|
goto L1430;
|
|
goto ret0;
|
|
|
|
L1430:
|
|
x4 = XEXP (x3, 0);
|
|
if (address_operand (x4, SImode))
|
|
{
|
|
ro[2] = x4;
|
|
goto L1431;
|
|
}
|
|
goto ret0;
|
|
|
|
L1431:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1432;
|
|
goto ret0;
|
|
|
|
L1432:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L1433;
|
|
}
|
|
goto ret0;
|
|
|
|
L1433:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1434;
|
|
goto ret0;
|
|
|
|
L1434:
|
|
x2 = XEXP (x1, 0);
|
|
if (immediate_operand (x2, SImode))
|
|
{
|
|
ro[4] = x2;
|
|
goto L1435;
|
|
}
|
|
goto ret0;
|
|
|
|
L1435:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1436;
|
|
goto ret0;
|
|
|
|
L1436:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L1437;
|
|
goto ret0;
|
|
|
|
L1437:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1438;
|
|
goto ret0;
|
|
|
|
L1438:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[2]) && 1)
|
|
goto L1439;
|
|
goto ret0;
|
|
|
|
L1439:
|
|
x1 = XVECEXP (x0, 0, 5);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1440;
|
|
goto ret0;
|
|
|
|
L1440:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[3]) && 1)
|
|
return 288;
|
|
goto ret0;
|
|
|
|
L1444:
|
|
x2 = XEXP (x1, 1);
|
|
if (GET_MODE (x2) == SImode && GET_CODE (x2) == COMPARE && 1)
|
|
goto L1445;
|
|
goto ret0;
|
|
|
|
L1445:
|
|
x3 = XEXP (x2, 0);
|
|
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
|
|
goto L1446;
|
|
goto ret0;
|
|
|
|
L1446:
|
|
x4 = XEXP (x3, 0);
|
|
if (address_operand (x4, SImode))
|
|
{
|
|
ro[0] = x4;
|
|
goto L1447;
|
|
}
|
|
goto ret0;
|
|
|
|
L1447:
|
|
x3 = XEXP (x2, 1);
|
|
if (GET_MODE (x3) == BLKmode && GET_CODE (x3) == MEM && 1)
|
|
goto L1448;
|
|
goto ret0;
|
|
|
|
L1448:
|
|
x4 = XEXP (x3, 0);
|
|
if (address_operand (x4, SImode))
|
|
{
|
|
ro[1] = x4;
|
|
goto L1449;
|
|
}
|
|
goto ret0;
|
|
|
|
L1449:
|
|
x1 = XVECEXP (x0, 0, 1);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1450;
|
|
goto ret0;
|
|
|
|
L1450:
|
|
x2 = XEXP (x1, 0);
|
|
if (register_operand (x2, SImode))
|
|
{
|
|
ro[2] = x2;
|
|
goto L1451;
|
|
}
|
|
goto ret0;
|
|
|
|
L1451:
|
|
x1 = XVECEXP (x0, 0, 2);
|
|
if (GET_CODE (x1) == USE && 1)
|
|
goto L1452;
|
|
goto ret0;
|
|
|
|
L1452:
|
|
x2 = XEXP (x1, 0);
|
|
if (immediate_operand (x2, SImode))
|
|
{
|
|
ro[3] = x2;
|
|
goto L1453;
|
|
}
|
|
goto ret0;
|
|
|
|
L1453:
|
|
x1 = XVECEXP (x0, 0, 3);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1454;
|
|
goto ret0;
|
|
|
|
L1454:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[0]) && 1)
|
|
goto L1455;
|
|
goto ret0;
|
|
|
|
L1455:
|
|
x1 = XVECEXP (x0, 0, 4);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1456;
|
|
goto ret0;
|
|
|
|
L1456:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[1]) && 1)
|
|
goto L1457;
|
|
goto ret0;
|
|
|
|
L1457:
|
|
x1 = XVECEXP (x0, 0, 5);
|
|
if (GET_CODE (x1) == CLOBBER && 1)
|
|
goto L1458;
|
|
goto ret0;
|
|
|
|
L1458:
|
|
x2 = XEXP (x1, 0);
|
|
if (rtx_equal_p (x2, ro[2]) && 1)
|
|
return 289;
|
|
goto ret0;
|
|
|
|
L1350:
|
|
x1 = XEXP (x0, 0);
|
|
if (call_insn_operand (x1, QImode))
|
|
{
|
|
ro[0] = x1;
|
|
goto L1351;
|
|
}
|
|
L1353:
|
|
if (GET_MODE (x1) == QImode && GET_CODE (x1) == MEM && 1)
|
|
goto L1354;
|
|
goto ret0;
|
|
|
|
L1351:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[1] = x1;
|
|
return 270;
|
|
}
|
|
x1 = XEXP (x0, 0);
|
|
goto L1353;
|
|
|
|
L1354:
|
|
x2 = XEXP (x1, 0);
|
|
if (symbolic_operand (x2, SImode))
|
|
{
|
|
ro[0] = x2;
|
|
goto L1355;
|
|
}
|
|
goto ret0;
|
|
|
|
L1355:
|
|
x1 = XEXP (x0, 1);
|
|
if (general_operand (x1, SImode))
|
|
{
|
|
ro[1] = x1;
|
|
if (!HALF_PIC_P ())
|
|
return 271;
|
|
}
|
|
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;
|
|
}
|
|
|