summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc/cc_int/insn-recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/cc/cc_int/insn-recog.c')
-rw-r--r--gnu/usr.bin/cc/cc_int/insn-recog.c7138
1 files changed, 7138 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/cc_int/insn-recog.c b/gnu/usr.bin/cc/cc_int/insn-recog.c
new file mode 100644
index 0000000..293dd7e
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_int/insn-recog.c
@@ -0,0 +1,7138 @@
+/* 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;
+}
+
OpenPOWER on IntegriCloud