home *** CD-ROM | disk | FTP | other *** search
- /* 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"
-
- /* `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
- insn_templates and insn_n_operands (found in insn-output.c)
- or as an argument to output_insn_hairy (also in insn-output.c). */
-
- 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];
-
- extern rtx recog_addr_dummy;
-
- #define operands recog_operand
-
- int
- recog_1 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L8:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, SImode))
- { recog_operand[0] = x1; return 2; }
- L11:
- if (general_operand (x1, HImode))
- { recog_operand[0] = x1; return 3; }
- L14:
- if (general_operand (x1, QImode))
- { recog_operand[0] = x1; return 4; }
- L17:
- if (general_operand (x1, SFmode))
- { recog_operand[0] = x1; if (TARGET_68881) return 6; }
- L20:
- if (general_operand (x1, SFmode))
- { recog_operand[0] = x1; if (TARGET_SANE) return 7; }
- L23:
- if (general_operand (x1, DFmode))
- { recog_operand[0] = x1; if (TARGET_68881) return 9; }
- L26:
- if (general_operand (x1, DFmode))
- { recog_operand[0] = x1; if (TARGET_SANE) return 10; }
- L29:
- if (general_operand (x1, XFmode))
- { recog_operand[0] = x1; if (TARGET_68881) return 12; }
- L32:
- if (general_operand (x1, XFmode))
- { recog_operand[0] = x1; if (TARGET_SANE) return 13; }
- L35:
- if (GET_CODE (x1) == COMPARE && 1)
- goto L36;
- if (GET_CODE (x1) == ZERO_EXTRACT && 1)
- goto L81;
- if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == SImode && XINT (x1, 1) == 0 && 1)
- goto L135;
- if (GET_CODE (x1) == AND && GET_MODE (x1) == SImode && 1)
- goto L141;
- L1095:
- if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
- goto L1096;
- if (GET_CODE (x1) != SUBREG)
- goto ret0;
- if (GET_MODE (x1) == QImode && XINT (x1, 1) == 0 && 1)
- goto L1102;
- if (GET_MODE (x1) == HImode && XINT (x1, 1) == 0 && 1)
- goto L1109;
- goto ret0;
- L36:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[0] = x2; goto L37; }
- L41:
- if (general_operand (x2, HImode))
- { recog_operand[0] = x2; goto L42; }
- L46:
- if (general_operand (x2, QImode))
- { recog_operand[0] = x2; goto L47; }
- L51:
- if (general_operand (x2, SFmode))
- { recog_operand[0] = x2; goto L52; }
- L61:
- if (general_operand (x2, DFmode))
- { recog_operand[0] = x2; goto L62; }
- L71:
- if (general_operand (x2, XFmode))
- { recog_operand[0] = x2; goto L72; }
- L889:
- if (general_operand (x2, QImode))
- { recog_operand[0] = x2; goto L890; }
- L896:
- if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
- goto L897;
- L903:
- if (general_operand (x2, QImode))
- { recog_operand[0] = x2; goto L904; }
- L910:
- if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
- goto L911;
- goto ret0;
- L37:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; return 14; }
- x2 = XEXP (x1, 0);
- goto L41;
- L42:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 15; }
- x2 = XEXP (x1, 0);
- goto L46;
- L47:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 16; }
- x2 = XEXP (x1, 0);
- goto L51;
- L52:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 18; }
- L57:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 19; }
- x2 = XEXP (x1, 0);
- goto L61;
- L62:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 21; }
- L67:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 22; }
- x2 = XEXP (x1, 0);
- goto L71;
- L72:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 24; }
- L77:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 25; }
- x2 = XEXP (x1, 0);
- goto L889;
- L890:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
- goto L891;
- x2 = XEXP (x1, 0);
- goto L896;
- L891:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, SImode))
- { recog_operand[1] = x3; goto L892; }
- x2 = XEXP (x1, 0);
- goto L896;
- L892:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
- if ((GET_CODE (operands[0]) == CONST_INT
- && (INTVAL (operands[0]) & ~0xff) == 0)) return 239;
- x2 = XEXP (x1, 0);
- goto L896;
- L897:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, SImode))
- { recog_operand[0] = x3; goto L898; }
- goto L903;
- L898:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
- goto L899;
- goto L903;
- L899:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
- && (INTVAL (operands[1]) & ~0xff) == 0)) return 240; }
- x2 = XEXP (x1, 0);
- goto L903;
- L904:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
- goto L905;
- x2 = XEXP (x1, 0);
- goto L910;
- L905:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, SImode))
- { recog_operand[1] = x3; goto L906; }
- x2 = XEXP (x1, 0);
- goto L910;
- L906:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
- if ((GET_CODE (operands[0]) == CONST_INT
- && ((INTVAL (operands[0]) + 0x80) & ~0xff) == 0)) return 241;
- x2 = XEXP (x1, 0);
- goto L910;
- L911:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, SImode))
- { recog_operand[0] = x3; goto L912; }
- goto ret0;
- L912:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
- goto L913;
- goto ret0;
- L913:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
- && ((INTVAL (operands[1]) + 0x80) & ~0xff) == 0)) return 242; }
- goto ret0;
- L81:
- x2 = XEXP (x1, 0);
- if (nonimmediate_operand (x2, QImode))
- { recog_operand[0] = x2; goto L82; }
- L123:
- if (nonimmediate_operand (x2, HImode))
- { recog_operand[0] = x2; goto L124; }
- L89:
- if (nonimmediate_operand (x2, SImode))
- { recog_operand[0] = x2; goto L90; }
- goto L1095;
- L82:
- x2 = XEXP (x1, 1);
- if (x2 == const1_rtx && 1)
- goto L83;
- x2 = XEXP (x1, 0);
- goto L123;
- L83:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
- goto L84;
- L119:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 30; }
- x2 = XEXP (x1, 0);
- goto L123;
- L84:
- x3 = XEXP (x2, 0);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
- goto L85;
- goto L119;
- L85:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; return 26; }
- L101:
- if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
- goto L102;
- goto L119;
- L102:
- x4 = XEXP (x3, 0);
- if (general_operand (x4, SImode))
- { recog_operand[1] = x4; goto L103; }
- goto L119;
- L103:
- x4 = XEXP (x3, 1);
- if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 7 && 1)
- return 28;
- goto L119;
- L124:
- x2 = XEXP (x1, 1);
- if (x2 == const1_rtx && 1)
- goto L125;
- x2 = XEXP (x1, 0);
- goto L89;
- L125:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 31; }
- x2 = XEXP (x1, 0);
- goto L89;
- L90:
- x2 = XEXP (x1, 1);
- if (x2 == const1_rtx && 1)
- goto L91;
- goto L1095;
- L91:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
- goto L92;
- L131:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 32; }
- goto L1095;
- L92:
- x3 = XEXP (x2, 0);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 31 && 1)
- goto L93;
- goto L131;
- L93:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; return 27; }
- L111:
- if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
- goto L112;
- goto L131;
- L112:
- x4 = XEXP (x3, 0);
- if (general_operand (x4, SImode))
- { recog_operand[1] = x4; goto L113; }
- goto L131;
- L113:
- x4 = XEXP (x3, 1);
- if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 31 && 1)
- return 29;
- goto L131;
- L135:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == QImode && 1)
- goto L136;
- goto ret0;
- L136:
- x3 = XEXP (x2, 0);
- if (nonimmediate_operand (x3, QImode))
- { recog_operand[0] = x3; goto L137; }
- goto ret0;
- L137:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
- return 33;
- goto ret0;
- L141:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
- goto L142;
- goto ret0;
- L142:
- x3 = XEXP (x2, 0);
- if (GET_CODE (x3) == SIGN_EXTEND && GET_MODE (x3) == HImode && 1)
- goto L143;
- goto ret0;
- L143:
- x4 = XEXP (x3, 0);
- if (nonimmediate_operand (x4, QImode))
- { recog_operand[0] = x4; goto L144; }
- goto ret0;
- L144:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
- && (unsigned) INTVAL (operands[1]) < 0x100
- && exact_log2 (INTVAL (operands[1])) >= 0)) return 34; }
- goto ret0;
- L1096:
- x2 = XEXP (x1, 0);
- if (memory_operand (x2, QImode))
- { recog_operand[0] = x2; goto L1097; }
- L1116:
- if (nonimmediate_operand (x2, SImode))
- { recog_operand[0] = x2; goto L1117; }
- goto ret0;
- L1097:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1098; }
- x2 = XEXP (x1, 0);
- goto L1116;
- L1098:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 275; }
- x2 = XEXP (x1, 0);
- goto L1116;
- L1117:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1118; }
- goto ret0;
- L1118:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 278; }
- goto ret0;
- L1102:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
- goto L1103;
- goto ret0;
- L1103:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, QImode))
- { recog_operand[0] = x3; goto L1104; }
- L1123:
- if (nonimmediate_operand (x3, SImode))
- { recog_operand[0] = x3; goto L1124; }
- goto ret0;
- L1104:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L1105; }
- x3 = XEXP (x2, 0);
- goto L1123;
- L1105:
- x3 = XEXP (x2, 2);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 276; }
- x3 = XEXP (x2, 0);
- goto L1123;
- L1124:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L1125; }
- goto ret0;
- L1125:
- x3 = XEXP (x2, 2);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 279; }
- goto ret0;
- L1109:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
- goto L1110;
- goto ret0;
- L1110:
- x3 = XEXP (x2, 0);
- if (memory_operand (x3, QImode))
- { recog_operand[0] = x3; goto L1111; }
- L1130:
- if (nonimmediate_operand (x3, SImode))
- { recog_operand[0] = x3; goto L1131; }
- goto ret0;
- L1111:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L1112; }
- x3 = XEXP (x2, 0);
- goto L1130;
- L1112:
- x3 = XEXP (x2, 2);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 277; }
- x3 = XEXP (x2, 0);
- goto L1130;
- L1131:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L1132; }
- goto ret0;
- L1132:
- x3 = XEXP (x2, 2);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT) return 280; }
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_2 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L1186:
- x1 = XEXP (x0, 1);
- x2 = XEXP (x1, 0);
- switch (GET_CODE (x2))
- {
- case EQ:
- if (1)
- goto L1187;
- break;
- case NE:
- if (1)
- goto L1196;
- break;
- case GT:
- if (1)
- goto L1205;
- break;
- case GTU:
- if (1)
- goto L1214;
- break;
- case LT:
- if (1)
- goto L1223;
- break;
- case LTU:
- if (1)
- goto L1232;
- break;
- case GE:
- if (1)
- goto L1241;
- break;
- case GEU:
- if (1)
- goto L1250;
- break;
- case LE:
- if (1)
- goto L1259;
- break;
- case LEU:
- if (1)
- goto L1268;
- break;
- }
- goto ret0;
- L1187:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1188;
- goto ret0;
- L1188:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1189;
- goto ret0;
- L1189:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1190;
- if (x2 == pc_rtx && 1)
- goto L1280;
- goto ret0;
- L1190:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1191; }
- goto ret0;
- L1191:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 291;
- goto ret0;
- L1280:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1281;
- goto ret0;
- L1281:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 301; }
- goto ret0;
- L1196:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1197;
- goto ret0;
- L1197:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1198;
- goto ret0;
- L1198:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1199;
- if (x2 == pc_rtx && 1)
- goto L1289;
- goto ret0;
- L1199:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1200; }
- goto ret0;
- L1200:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 292;
- goto ret0;
- L1289:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1290;
- goto ret0;
- L1290:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 302; }
- goto ret0;
- L1205:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1206;
- goto ret0;
- L1206:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1207;
- goto ret0;
- L1207:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1208;
- if (x2 == pc_rtx && 1)
- goto L1298;
- goto ret0;
- L1208:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1209; }
- goto ret0;
- L1209:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 293;
- goto ret0;
- L1298:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1299;
- goto ret0;
- L1299:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 303; }
- goto ret0;
- L1214:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1215;
- goto ret0;
- L1215:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1216;
- goto ret0;
- L1216:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1217;
- if (x2 == pc_rtx && 1)
- goto L1307;
- goto ret0;
- L1217:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1218; }
- goto ret0;
- L1218:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 294;
- goto ret0;
- L1307:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1308;
- goto ret0;
- L1308:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 304; }
- goto ret0;
- L1223:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1224;
- goto ret0;
- L1224:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1225;
- goto ret0;
- L1225:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1226;
- if (x2 == pc_rtx && 1)
- goto L1316;
- goto ret0;
- L1226:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1227; }
- goto ret0;
- L1227:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 295;
- goto ret0;
- L1316:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1317;
- goto ret0;
- L1317:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 305; }
- goto ret0;
- L1232:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1233;
- goto ret0;
- L1233:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1234;
- goto ret0;
- L1234:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1235;
- if (x2 == pc_rtx && 1)
- goto L1325;
- goto ret0;
- L1235:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1236; }
- goto ret0;
- L1236:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 296;
- goto ret0;
- L1325:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1326;
- goto ret0;
- L1326:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 306; }
- goto ret0;
- L1241:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1242;
- goto ret0;
- L1242:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1243;
- goto ret0;
- L1243:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1244;
- if (x2 == pc_rtx && 1)
- goto L1334;
- goto ret0;
- L1244:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1245; }
- goto ret0;
- L1245:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 297;
- goto ret0;
- L1334:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1335;
- goto ret0;
- L1335:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 307; }
- goto ret0;
- L1250:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1251;
- goto ret0;
- L1251:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1252;
- goto ret0;
- L1252:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1253;
- if (x2 == pc_rtx && 1)
- goto L1343;
- goto ret0;
- L1253:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1254; }
- goto ret0;
- L1254:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 298;
- goto ret0;
- L1343:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1344;
- goto ret0;
- L1344:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 308; }
- goto ret0;
- L1259:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1260;
- goto ret0;
- L1260:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1261;
- goto ret0;
- L1261:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1262;
- if (x2 == pc_rtx && 1)
- goto L1352;
- goto ret0;
- L1262:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1263; }
- goto ret0;
- L1263:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 299;
- goto ret0;
- L1352:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1353;
- goto ret0;
- L1353:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 309; }
- goto ret0;
- L1268:
- x3 = XEXP (x2, 0);
- if (x3 == cc0_rtx && 1)
- goto L1269;
- goto ret0;
- L1269:
- x3 = XEXP (x2, 1);
- if (x3 == const0_rtx && 1)
- goto L1270;
- goto ret0;
- L1270:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1271;
- if (x2 == pc_rtx && 1)
- goto L1361;
- goto ret0;
- L1271:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; goto L1272; }
- goto ret0;
- L1272:
- x2 = XEXP (x1, 2);
- if (x2 == pc_rtx && 1)
- return 300;
- goto ret0;
- L1361:
- x2 = XEXP (x1, 2);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1362;
- goto ret0;
- L1362:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[0] = x3; return 310; }
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_3 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L163:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, QImode))
- { recog_operand[1] = x1; return 40; }
- L185:
- switch (GET_CODE (x1))
- {
- case TRUNCATE:
- if (GET_MODE (x1) == QImode && 1)
- goto L186;
- break;
- case FIX:
- if (GET_MODE (x1) == QImode && 1)
- goto L342;
- break;
- case PLUS:
- if (GET_MODE (x1) == QImode && 1)
- goto L412;
- break;
- case MINUS:
- if (GET_MODE (x1) == QImode && 1)
- goto L475;
- break;
- case AND:
- if (GET_MODE (x1) == QImode && 1)
- goto L708;
- break;
- case IOR:
- if (GET_MODE (x1) == QImode && 1)
- goto L735;
- break;
- case XOR:
- if (GET_MODE (x1) == QImode && 1)
- goto L750;
- break;
- case NEG:
- if (GET_MODE (x1) == QImode && 1)
- goto L763;
- break;
- case NOT:
- if (GET_MODE (x1) == QImode && 1)
- goto L875;
- break;
- case ASHIFT:
- if (GET_MODE (x1) == QImode && 1)
- goto L927;
- break;
- case ASHIFTRT:
- if (GET_MODE (x1) == QImode && 1)
- goto L942;
- break;
- case LSHIFT:
- if (GET_MODE (x1) == QImode && 1)
- goto L957;
- break;
- case LSHIFTRT:
- if (GET_MODE (x1) == QImode && 1)
- goto L972;
- break;
- case ROTATE:
- if (GET_MODE (x1) == QImode && 1)
- goto L987;
- break;
- case ROTATERT:
- if (GET_MODE (x1) == QImode && 1)
- goto L1002;
- break;
- case EQ:
- if (1)
- goto L1136;
- break;
- case NE:
- if (1)
- goto L1141;
- break;
- case GT:
- if (1)
- goto L1146;
- break;
- case GTU:
- if (1)
- goto L1151;
- break;
- case LT:
- if (1)
- goto L1156;
- break;
- case LTU:
- if (1)
- goto L1161;
- break;
- case GE:
- if (1)
- goto L1166;
- break;
- case GEU:
- if (1)
- goto L1171;
- break;
- case LE:
- if (1)
- goto L1176;
- break;
- case LEU:
- if (1)
- goto L1181;
- break;
- }
- goto ret0;
- L186:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; return 47; }
- L190:
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 48; }
- goto ret0;
- L342:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 101; }
- L354:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 104; }
- L366:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 107; }
- goto ret0;
- L412:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L413; }
- goto ret0;
- L413:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 119; }
- goto ret0;
- L475:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L476; }
- goto ret0;
- L476:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 134; }
- goto ret0;
- L708:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L709; }
- goto ret0;
- L709:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 191; }
- goto ret0;
- L735:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L736; }
- goto ret0;
- L736:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 196; }
- goto ret0;
- L750:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L751; }
- goto ret0;
- L751:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 199; }
- goto ret0;
- L763:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 202; }
- goto ret0;
- L875:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 236; }
- goto ret0;
- L927:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L928; }
- goto ret0;
- L928:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 245; }
- goto ret0;
- L942:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L943; }
- goto ret0;
- L943:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 248; }
- goto ret0;
- L957:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L958; }
- goto ret0;
- L958:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 251; }
- goto ret0;
- L972:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L973; }
- goto ret0;
- L973:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 254; }
- goto ret0;
- L987:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L988; }
- goto ret0;
- L988:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 257; }
- goto ret0;
- L1002:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L1003; }
- goto ret0;
- L1003:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[2] = x2; return 260; }
- goto ret0;
- L1136:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1137;
- goto ret0;
- L1137:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 281;
- goto ret0;
- L1141:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1142;
- goto ret0;
- L1142:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 282;
- goto ret0;
- L1146:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1147;
- goto ret0;
- L1147:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 283;
- goto ret0;
- L1151:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1152;
- goto ret0;
- L1152:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 284;
- goto ret0;
- L1156:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1157;
- goto ret0;
- L1157:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 285;
- goto ret0;
- L1161:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1162;
- goto ret0;
- L1162:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 286;
- goto ret0;
- L1166:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1167;
- goto ret0;
- L1167:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 287;
- goto ret0;
- L1171:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1172;
- goto ret0;
- L1172:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 288;
- goto ret0;
- L1176:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1177;
- goto ret0;
- L1177:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 289;
- goto ret0;
- L1181:
- x2 = XEXP (x1, 0);
- if (x2 == cc0_rtx && 1)
- goto L1182;
- goto ret0;
- L1182:
- x2 = XEXP (x1, 1);
- if (x2 == const0_rtx && 1)
- return 290;
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_4 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L156:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, HImode))
- { recog_operand[1] = x1; return 38; }
- L193:
- if (GET_MODE (x1) != HImode)
- goto ret0;
- switch (GET_CODE (x1))
- {
- case TRUNCATE:
- if (1)
- goto L194;
- break;
- case ZERO_EXTEND:
- if (1)
- goto L202;
- break;
- case SIGN_EXTEND:
- if (1)
- goto L214;
- break;
- case FIX:
- if (1)
- goto L346;
- break;
- case PLUS:
- if (1)
- goto L401;
- break;
- case MINUS:
- if (1)
- goto L464;
- break;
- case MULT:
- if (1)
- goto L516;
- break;
- case UMULT:
- if (1)
- goto L536;
- break;
- case DIV:
- if (1)
- goto L586;
- break;
- case UDIV:
- if (1)
- goto L606;
- break;
- case MOD:
- if (1)
- goto L656;
- break;
- case UMOD:
- if (1)
- goto L666;
- break;
- case AND:
- if (1)
- goto L703;
- break;
- case IOR:
- if (1)
- goto L730;
- break;
- case XOR:
- if (1)
- goto L745;
- break;
- case NEG:
- if (1)
- goto L759;
- break;
- case NOT:
- if (1)
- goto L871;
- break;
- case ASHIFT:
- if (1)
- goto L922;
- break;
- case ASHIFTRT:
- if (1)
- goto L937;
- break;
- case LSHIFT:
- if (1)
- goto L952;
- break;
- case LSHIFTRT:
- if (1)
- goto L967;
- break;
- case ROTATE:
- if (1)
- goto L982;
- break;
- case ROTATERT:
- if (1)
- goto L997;
- break;
- }
- goto ret0;
- L194:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; return 49; }
- goto ret0;
- L202:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 54; }
- goto ret0;
- L214:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 57; }
- goto ret0;
- L346:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 102; }
- L358:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 105; }
- L370:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 108; }
- goto ret0;
- L401:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L402; }
- goto ret0;
- L402:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 117; }
- goto ret0;
- L464:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L465; }
- goto ret0;
- L465:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 132; }
- goto ret0;
- L516:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L517; }
- goto ret0;
- L517:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 145; }
- goto ret0;
- L536:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L537; }
- goto ret0;
- L537:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 150; }
- goto ret0;
- L586:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L587; }
- L591:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L592; }
- goto ret0;
- L587:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 164; }
- x2 = XEXP (x1, 0);
- goto L591;
- L592:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 165; }
- goto ret0;
- L606:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L607; }
- L611:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L612; }
- goto ret0;
- L607:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 169; }
- x2 = XEXP (x1, 0);
- goto L611;
- L612:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 170; }
- goto ret0;
- L656:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L657; }
- L661:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L662; }
- goto ret0;
- L657:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 183; }
- x2 = XEXP (x1, 0);
- goto L661;
- L662:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 184; }
- goto ret0;
- L666:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L667; }
- L671:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L672; }
- goto ret0;
- L667:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 185; }
- x2 = XEXP (x1, 0);
- goto L671;
- L672:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 186; }
- goto ret0;
- L703:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L704; }
- goto ret0;
- L704:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 190; }
- goto ret0;
- L730:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L731; }
- goto ret0;
- L731:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 195; }
- goto ret0;
- L745:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L746; }
- goto ret0;
- L746:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 198; }
- goto ret0;
- L759:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 201; }
- goto ret0;
- L871:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 235; }
- goto ret0;
- L922:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L923; }
- goto ret0;
- L923:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 244; }
- goto ret0;
- L937:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L938; }
- goto ret0;
- L938:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 247; }
- goto ret0;
- L952:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L953; }
- goto ret0;
- L953:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 250; }
- goto ret0;
- L967:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L968; }
- goto ret0;
- L968:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 253; }
- goto ret0;
- L982:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L983; }
- goto ret0;
- L983:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 256; }
- goto ret0;
- L997:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L998; }
- goto ret0;
- L998:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 259; }
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_5 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L197:
- x1 = XEXP (x0, 1);
- if (GET_MODE (x1) != SImode)
- goto ret0;
- switch (GET_CODE (x1))
- {
- case ZERO_EXTEND:
- if (1)
- goto L198;
- break;
- case SIGN_EXTEND:
- if (1)
- goto L210;
- break;
- case FIX:
- if (1)
- goto L350;
- break;
- case UNSIGNED_FIX:
- if (1)
- goto L382;
- break;
- case PLUS:
- if (1)
- goto L390;
- break;
- case MINUS:
- if (1)
- goto L453;
- break;
- case MULT:
- if (1)
- goto L521;
- break;
- case UMULT:
- if (1)
- goto L541;
- break;
- case DIV:
- if (1)
- goto L596;
- break;
- case UDIV:
- if (1)
- goto L616;
- break;
- case AND:
- if (1)
- goto L698;
- break;
- case IOR:
- if (1)
- goto L725;
- break;
- case XOR:
- if (1)
- goto L740;
- break;
- case NEG:
- if (1)
- goto L755;
- break;
- case NOT:
- if (1)
- goto L867;
- break;
- case ASHIFTRT:
- if (1)
- goto L879;
- break;
- case LSHIFTRT:
- if (1)
- goto L884;
- break;
- case ASHIFT:
- if (1)
- goto L917;
- break;
- case LSHIFT:
- if (1)
- goto L947;
- break;
- case ROTATE:
- if (1)
- goto L977;
- break;
- case ROTATERT:
- if (1)
- goto L992;
- break;
- }
- goto ret0;
- L198:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 53; }
- L206:
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 55; }
- goto ret0;
- L210:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 56; }
- L218:
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if (TARGET_68020) return 58; }
- goto ret0;
- L350:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 103; }
- L362:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 106; }
- L374:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 110; }
- L378:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 111; }
- goto ret0;
- L382:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 113; }
- L386:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 114; }
- goto ret0;
- L390:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L391; }
- goto ret0;
- L391:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 115; }
- L396:
- if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
- goto L397;
- goto ret0;
- L397:
- x3 = XEXP (x2, 0);
- if (general_operand (x3, HImode))
- { recog_operand[2] = x3; return 116; }
- goto ret0;
- L453:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L454; }
- goto ret0;
- L454:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 130; }
- L459:
- if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
- goto L460;
- goto ret0;
- L460:
- x3 = XEXP (x2, 0);
- if (general_operand (x3, HImode))
- { recog_operand[2] = x3; return 131; }
- goto ret0;
- L521:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L522; }
- L526:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L527; }
- goto ret0;
- L522:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 146; }
- x2 = XEXP (x1, 0);
- goto L526;
- L527:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020) return 148; }
- L532:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_INTLIB) return 149; }
- goto ret0;
- L541:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; goto L542; }
- L546:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L547; }
- goto ret0;
- L542:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[2] = x2; return 151; }
- x2 = XEXP (x1, 0);
- goto L546;
- L547:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020) return 153; }
- L552:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_INTLIB) return 154; }
- goto ret0;
- L596:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L597; }
- goto ret0;
- L597:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020) return 167; }
- L602:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_INTLIB) return 168; }
- goto ret0;
- L616:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L617; }
- goto ret0;
- L617:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_68020) return 172; }
- L622:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (TARGET_INTLIB) return 173; }
- goto ret0;
- L698:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L699; }
- L713:
- if (GET_CODE (x2) == ZERO_EXTEND && GET_MODE (x2) == SImode && 1)
- goto L714;
- goto ret0;
- L699:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 189; }
- x2 = XEXP (x1, 0);
- goto L713;
- L714:
- x3 = XEXP (x2, 0);
- if (general_operand (x3, HImode))
- { recog_operand[1] = x3; goto L715; }
- L720:
- if (general_operand (x3, QImode))
- { recog_operand[1] = x3; goto L721; }
- goto ret0;
- L715:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
- && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (HImode))) return 192; }
- x2 = XEXP (x1, 0);
- x3 = XEXP (x2, 0);
- goto L720;
- L721:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
- && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (QImode))) return 193; }
- goto ret0;
- L725:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L726; }
- goto ret0;
- L726:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 194; }
- goto ret0;
- L740:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L741; }
- goto ret0;
- L741:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 197; }
- goto ret0;
- L755:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; return 200; }
- goto ret0;
- L867:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; return 234; }
- goto ret0;
- L879:
- x2 = XEXP (x1, 0);
- if (memory_operand (x2, SImode))
- { recog_operand[1] = x2; goto L880; }
- L932:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L933; }
- goto ret0;
- L880:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
- if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
- && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 237;
- x2 = XEXP (x1, 0);
- goto L932;
- L933:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 246; }
- goto ret0;
- L884:
- x2 = XEXP (x1, 0);
- if (memory_operand (x2, SImode))
- { recog_operand[1] = x2; goto L885; }
- L962:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L963; }
- goto ret0;
- L885:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
- if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
- && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 238;
- x2 = XEXP (x1, 0);
- goto L962;
- L963:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 252; }
- goto ret0;
- L917:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L918; }
- goto ret0;
- L918:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 243; }
- goto ret0;
- L947:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L948; }
- goto ret0;
- L948:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 249; }
- goto ret0;
- L977:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L978; }
- goto ret0;
- L978:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 255; }
- goto ret0;
- L992:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L993; }
- goto ret0;
- L993:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 258; }
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_6 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L176:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, XFmode))
- { recog_operand[1] = x1; return 44; }
- L229:
- if (GET_MODE (x1) != XFmode)
- goto ret0;
- switch (GET_CODE (x1))
- {
- case FLOAT_EXTEND:
- if (1)
- goto L230;
- break;
- case FLOAT:
- if (1)
- goto L286;
- break;
- case FIX:
- if (1)
- goto L334;
- break;
- case PLUS:
- if (1)
- goto L443;
- break;
- case MINUS:
- if (1)
- goto L506;
- break;
- case MULT:
- if (1)
- goto L576;
- break;
- case DIV:
- if (1)
- goto L646;
- break;
- case NEG:
- if (1)
- goto L783;
- break;
- case SIN:
- if (1)
- goto L791;
- break;
- case COS:
- if (1)
- goto L795;
- break;
- case TAN:
- if (1)
- goto L799;
- break;
- case ASIN:
- if (1)
- goto L803;
- break;
- case ACOS:
- if (1)
- goto L807;
- break;
- case ATAN:
- if (1)
- goto L811;
- break;
- case SINH:
- if (1)
- goto L815;
- break;
- case COSH:
- if (1)
- goto L819;
- break;
- case TANH:
- if (1)
- goto L823;
- break;
- case EXP:
- if (1)
- goto L827;
- break;
- case LOG:
- if (1)
- goto L831;
- break;
- case LOG10:
- if (1)
- goto L835;
- break;
- case SQRT:
- if (1)
- goto L839;
- break;
- case ABS:
- if (1)
- goto L859;
- break;
- }
- goto ret0;
- L230:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 63; }
- L234:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 64; }
- L238:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 66; }
- L242:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 67; }
- goto ret0;
- L286:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 84; }
- L290:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 85; }
- L302:
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 88; }
- L314:
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 91; }
- goto ret0;
- L334:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 99; }
- L338:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 100; }
- goto ret0;
- L443:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; goto L444; }
- goto ret0;
- L444:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 128; }
- L449:
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 129; }
- goto ret0;
- L506:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; goto L507; }
- goto ret0;
- L507:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 143; }
- L512:
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 144; }
- goto ret0;
- L576:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; goto L577; }
- goto ret0;
- L577:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 162; }
- L582:
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 163; }
- goto ret0;
- L646:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; goto L647; }
- goto ret0;
- L647:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 181; }
- L652:
- if (general_operand (x2, XFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 182; }
- goto ret0;
- L783:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 210; }
- L787:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 211; }
- goto ret0;
- L791:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 212; }
- goto ret0;
- L795:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 213; }
- goto ret0;
- L799:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 214; }
- goto ret0;
- L803:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 215; }
- goto ret0;
- L807:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 216; }
- goto ret0;
- L811:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 217; }
- goto ret0;
- L815:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 218; }
- goto ret0;
- L819:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 219; }
- goto ret0;
- L823:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 220; }
- goto ret0;
- L827:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 221; }
- goto ret0;
- L831:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 222; }
- goto ret0;
- L835:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 223; }
- goto ret0;
- L839:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_ELEMS881) return 224; }
- goto ret0;
- L859:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 232; }
- L863:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 233; }
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog_7 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L7:
- x1 = XEXP (x0, 0);
- if (x1 == cc0_rtx && 1)
- goto L8;
- if (GET_CODE (x1) == STRICT_LOW_PART && 1)
- goto L166;
- if (x1 == pc_rtx && 1)
- goto L1185;
- L1435:
- if (1)
- { recog_operand[0] = x1; goto L1436; }
- L162:
- switch (GET_MODE (x1))
- {
- case QImode:
- if (general_operand (x1, QImode))
- { recog_operand[0] = x1; goto L163; }
- break;
- L155:
- case HImode:
- if (general_operand (x1, HImode))
- { recog_operand[0] = x1; goto L156; }
- break;
- case SImode:
- if (push_operand (x1, SImode))
- { recog_operand[0] = x1; goto L147; }
- L149:
- if (general_operand (x1, SImode))
- { recog_operand[0] = x1; goto L150; }
- L181:
- if (push_operand (x1, SImode))
- { recog_operand[0] = x1; goto L182; }
- L196:
- if (general_operand (x1, SImode))
- { recog_operand[0] = x1; goto L197; }
- L1005:
- if (GET_CODE (x1) == ZERO_EXTRACT && 1)
- goto L1036;
- L1011:
- if (general_operand (x1, SImode))
- { recog_operand[0] = x1; goto L1012; }
- break;
- case DImode:
- if (push_operand (x1, DImode))
- { recog_operand[0] = x1; goto L5; }
- L178:
- if (general_operand (x1, DImode))
- { recog_operand[0] = x1; goto L179; }
- break;
- case SFmode:
- if (general_operand (x1, SFmode))
- { recog_operand[0] = x1; goto L170; }
- break;
- case DFmode:
- if (push_operand (x1, DFmode))
- { recog_operand[0] = x1; goto L2; }
- L172:
- if (general_operand (x1, DFmode))
- { recog_operand[0] = x1; goto L173; }
- break;
- case XFmode:
- if (general_operand (x1, XFmode))
- { recog_operand[0] = x1; goto L176; }
- break;
- }
- goto ret0;
- L8:
- tem = recog_1 (x0, insn);
- if (tem >= 0) return tem;
- goto L1435;
- L166:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[0] = x2; goto L167; }
- L159:
- if (general_operand (x2, HImode))
- { recog_operand[0] = x2; goto L160; }
- goto L1435;
- L167:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, QImode))
- { recog_operand[1] = x1; return 41; }
- L417:
- if (GET_MODE (x1) != QImode)
- {
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- }
- if (GET_CODE (x1) == PLUS && 1)
- goto L418;
- if (GET_CODE (x1) == MINUS && 1)
- goto L481;
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- L418:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L419;
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- L419:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 120; }
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- L481:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L482;
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- L482:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; return 135; }
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L159;
- L160:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, HImode))
- { recog_operand[1] = x1; return 39; }
- L406:
- if (GET_MODE (x1) != HImode)
- {
- x1 = XEXP (x0, 0);
- goto L1435;
- }
- if (GET_CODE (x1) == PLUS && 1)
- goto L407;
- if (GET_CODE (x1) == MINUS && 1)
- goto L470;
- x1 = XEXP (x0, 0);
- goto L1435;
- L407:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L408;
- x1 = XEXP (x0, 0);
- goto L1435;
- L408:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 118; }
- x1 = XEXP (x0, 0);
- goto L1435;
- L470:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L471;
- x1 = XEXP (x0, 0);
- goto L1435;
- L471:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; return 133; }
- x1 = XEXP (x0, 0);
- goto L1435;
- L1185:
- x1 = XEXP (x0, 1);
- if (GET_CODE (x1) == IF_THEN_ELSE && 1)
- goto L1186;
- if (GET_CODE (x1) == LABEL_REF && 1)
- goto L1375;
- x1 = XEXP (x0, 0);
- goto L1435;
- L1186:
- tem = recog_2 (x0, insn);
- if (tem >= 0) return tem;
- x1 = XEXP (x0, 0);
- goto L1435;
- L1375:
- x2 = XEXP (x1, 0);
- if (1)
- { recog_operand[0] = x2; return 315; }
- x1 = XEXP (x0, 0);
- goto L1435;
- L1436:
- x1 = XEXP (x0, 1);
- if (GET_CODE (x1) == CALL && 1)
- goto L1437;
- x1 = XEXP (x0, 0);
- goto L162;
- L1437:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; goto L1438; }
- x1 = XEXP (x0, 0);
- goto L162;
- L1438:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; return 320; }
- x1 = XEXP (x0, 0);
- goto L162;
- L163:
- tem = recog_3 (x0, insn);
- if (tem >= 0) return tem;
- goto L155;
- L156:
- return recog_4 (x0, insn);
- L147:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, SImode))
- { recog_operand[1] = x1; if (GET_CODE (operands[1]) == CONST_INT
- && INTVAL (operands[1]) >= -0x8000
- && INTVAL (operands[1]) < 0x8000) return 35; }
- x1 = XEXP (x0, 0);
- goto L149;
- L150:
- x1 = XEXP (x0, 1);
- if (x1 == const0_rtx && 1)
- return 36;
- L153:
- if (general_operand (x1, SImode))
- { recog_operand[1] = x1; return 37; }
- x1 = XEXP (x0, 0);
- goto L181;
- L182:
- x1 = XEXP (x0, 1);
- if (address_operand (x1, SImode))
- { recog_operand[1] = x1; return 46; }
- x1 = XEXP (x0, 0);
- goto L196;
- L197:
- tem = recog_5 (x0, insn);
- if (tem >= 0) return tem;
- goto L1005;
- L1036:
- x2 = XEXP (x1, 0);
- if (nonimmediate_operand (x2, QImode))
- { recog_operand[0] = x2; goto L1037; }
- L1006:
- if (nonimmediate_operand (x2, SImode))
- { recog_operand[0] = x2; goto L1007; }
- goto L1011;
- L1037:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1038; }
- x2 = XEXP (x1, 0);
- goto L1006;
- L1038:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1039; }
- x2 = XEXP (x1, 0);
- goto L1006;
- L1039:
- x1 = XEXP (x0, 1);
- if (GET_CODE (x1) == XOR && GET_MODE (x1) == SImode && 1)
- goto L1040;
- if (x1 == const0_rtx && 1)
- if (TARGET_68020 && TARGET_BITFIELD) return 267;
- L1056:
- if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
- if (TARGET_68020 && TARGET_BITFIELD) return 268;
- L1062:
- if (general_operand (x1, SImode))
- { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 269; }
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 0);
- goto L1006;
- L1040:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
- goto L1041;
- goto L1062;
- L1041:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[0]) && 1)
- goto L1042;
- goto L1062;
- L1042:
- x3 = XEXP (x2, 1);
- if (rtx_equal_p (x3, recog_operand[1]) && 1)
- goto L1043;
- goto L1062;
- L1043:
- x3 = XEXP (x2, 2);
- if (rtx_equal_p (x3, recog_operand[2]) && 1)
- goto L1044;
- goto L1062;
- L1044:
- x2 = XEXP (x1, 1);
- if (immediate_operand (x2, VOIDmode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[3]) == CONST_INT
- && (INTVAL (operands[3]) == -1
- || (GET_CODE (operands[1]) == CONST_INT
- && (~ INTVAL (operands[3]) & ((1 << INTVAL (operands[1]))- 1)) == 0))) return 266; }
- goto L1062;
- L1007:
- x2 = XEXP (x1, 1);
- if (immediate_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1008; }
- L1078:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1079; }
- goto L1011;
- L1008:
- x2 = XEXP (x1, 2);
- if (immediate_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1009; }
- x2 = XEXP (x1, 1);
- goto L1078;
- L1009:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, SImode))
- { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[1]) == CONST_INT
- && (INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
- && GET_CODE (operands[2]) == CONST_INT
- && INTVAL (operands[2]) % INTVAL (operands[1]) == 0
- && (GET_CODE (operands[0]) == REG
- || ! mode_dependent_address_p (XEXP (operands[0], 0)))) return 261; }
- x1 = XEXP (x0, 0);
- x2 = XEXP (x1, 1);
- goto L1078;
- L1079:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1080; }
- goto L1011;
- L1080:
- x1 = XEXP (x0, 1);
- if (x1 == const0_rtx && 1)
- if (TARGET_68020 && TARGET_BITFIELD) return 272;
- L1086:
- if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
- if (TARGET_68020 && TARGET_BITFIELD) return 273;
- L1092:
- if (general_operand (x1, SImode))
- { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 274; }
- x1 = XEXP (x0, 0);
- goto L1011;
- L1012:
- x1 = XEXP (x0, 1);
- if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
- goto L1031;
- if (GET_CODE (x1) == SIGN_EXTRACT && GET_MODE (x1) == SImode && 1)
- goto L1025;
- L1443:
- if (address_operand (x1, QImode))
- { recog_operand[1] = x1; return 323; }
- goto ret0;
- L1031:
- x2 = XEXP (x1, 0);
- if (nonimmediate_operand (x2, QImode))
- { recog_operand[1] = x2; goto L1032; }
- L1013:
- if (nonimmediate_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1014; }
- goto L1443;
- L1032:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1033; }
- x2 = XEXP (x1, 0);
- goto L1013;
- L1033:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 265; }
- x2 = XEXP (x1, 0);
- goto L1013;
- L1014:
- x2 = XEXP (x1, 1);
- if (immediate_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1015; }
- L1073:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1074; }
- goto L1443;
- L1015:
- x2 = XEXP (x1, 2);
- if (immediate_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[2]) == CONST_INT
- && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
- && GET_CODE (operands[3]) == CONST_INT
- && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
- && (GET_CODE (operands[1]) == REG
- || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 262; }
- x2 = XEXP (x1, 1);
- goto L1073;
- L1074:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 271; }
- goto L1443;
- L1025:
- x2 = XEXP (x1, 0);
- if (nonimmediate_operand (x2, QImode))
- { recog_operand[1] = x2; goto L1026; }
- L1019:
- if (nonimmediate_operand (x2, SImode))
- { recog_operand[1] = x2; goto L1020; }
- goto L1443;
- L1026:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1027; }
- x2 = XEXP (x1, 0);
- goto L1019;
- L1027:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 264; }
- x2 = XEXP (x1, 0);
- goto L1019;
- L1020:
- x2 = XEXP (x1, 1);
- if (immediate_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1021; }
- L1067:
- if (general_operand (x2, SImode))
- { recog_operand[2] = x2; goto L1068; }
- goto L1443;
- L1021:
- x2 = XEXP (x1, 2);
- if (immediate_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
- && GET_CODE (operands[2]) == CONST_INT
- && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
- && GET_CODE (operands[3]) == CONST_INT
- && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
- && (GET_CODE (operands[1]) == REG
- || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 263; }
- x2 = XEXP (x1, 1);
- goto L1067;
- L1068:
- x2 = XEXP (x1, 2);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 270; }
- goto L1443;
- L5:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, DImode))
- { recog_operand[1] = x1; return 1; }
- x1 = XEXP (x0, 0);
- goto L178;
- L179:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, DImode))
- { recog_operand[1] = x1; return 45; }
- goto ret0;
- L170:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, SFmode))
- { recog_operand[1] = x1; return 42; }
- L245:
- if (GET_MODE (x1) != SFmode)
- goto ret0;
- switch (GET_CODE (x1))
- {
- case FLOAT_TRUNCATE:
- if (1)
- goto L246;
- break;
- case FLOAT:
- if (1)
- goto L270;
- break;
- case FIX:
- if (1)
- goto L318;
- break;
- case PLUS:
- if (1)
- goto L423;
- break;
- case MINUS:
- if (1)
- goto L486;
- break;
- case MULT:
- if (1)
- goto L556;
- break;
- case DIV:
- if (1)
- goto L626;
- break;
- case NEG:
- if (1)
- goto L767;
- break;
- case ABS:
- if (1)
- goto L843;
- break;
- }
- goto ret0;
- L246:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 69; }
- L250:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 70; }
- L254:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 72; }
- L258:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 73; }
- goto ret0;
- L270:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 78; }
- L274:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 79; }
- L294:
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 86; }
- L306:
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 89; }
- goto ret0;
- L318:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 93; }
- L322:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 94; }
- goto ret0;
- L423:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; goto L424; }
- goto ret0;
- L424:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 122; }
- L429:
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 123; }
- goto ret0;
- L486:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; goto L487; }
- goto ret0;
- L487:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 137; }
- L492:
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 138; }
- goto ret0;
- L556:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; goto L557; }
- goto ret0;
- L557:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 156; }
- L562:
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 157; }
- goto ret0;
- L626:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; goto L627; }
- goto ret0;
- L627:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 175; }
- L632:
- if (general_operand (x2, SFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 176; }
- goto ret0;
- L767:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 204; }
- L771:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 205; }
- goto ret0;
- L843:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 226; }
- L847:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 227; }
- goto ret0;
- L2:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, DFmode))
- { recog_operand[1] = x1; return 0; }
- x1 = XEXP (x0, 0);
- goto L172;
- L173:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, DFmode))
- { recog_operand[1] = x1; return 43; }
- L221:
- if (GET_MODE (x1) != DFmode)
- goto ret0;
- switch (GET_CODE (x1))
- {
- case FLOAT_EXTEND:
- if (1)
- goto L222;
- break;
- case FLOAT_TRUNCATE:
- if (1)
- goto L262;
- break;
- case FLOAT:
- if (1)
- goto L278;
- break;
- case FIX:
- if (1)
- goto L326;
- break;
- case PLUS:
- if (1)
- goto L433;
- break;
- case MINUS:
- if (1)
- goto L496;
- break;
- case MULT:
- if (1)
- goto L566;
- break;
- case DIV:
- if (1)
- goto L636;
- break;
- case NEG:
- if (1)
- goto L775;
- break;
- case ABS:
- if (1)
- goto L851;
- break;
- }
- goto ret0;
- L222:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 60; }
- L226:
- if (general_operand (x2, SFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 61; }
- goto ret0;
- L262:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 75; }
- L266:
- if (general_operand (x2, XFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 76; }
- goto ret0;
- L278:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 81; }
- L282:
- if (general_operand (x2, SImode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 82; }
- L298:
- if (general_operand (x2, HImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 87; }
- L310:
- if (general_operand (x2, QImode))
- { recog_operand[1] = x2; if (TARGET_68881) return 90; }
- goto ret0;
- L326:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 96; }
- L330:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 97; }
- goto ret0;
- L433:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; goto L434; }
- goto ret0;
- L434:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 125; }
- L439:
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 126; }
- goto ret0;
- L496:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; goto L497; }
- goto ret0;
- L497:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 140; }
- L502:
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 141; }
- goto ret0;
- L566:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; goto L567; }
- goto ret0;
- L567:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 159; }
- L572:
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 160; }
- goto ret0;
- L636:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; goto L637; }
- goto ret0;
- L637:
- x2 = XEXP (x1, 1);
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_68881) return 178; }
- L642:
- if (general_operand (x2, DFmode))
- { recog_operand[2] = x2; if (TARGET_SANE) return 179; }
- goto ret0;
- L775:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 207; }
- L779:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 208; }
- goto ret0;
- L851:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_68881) return 229; }
- L855:
- if (general_operand (x2, DFmode))
- { recog_operand[1] = x2; if (TARGET_SANE) return 230; }
- goto ret0;
- L176:
- return recog_6 (x0, insn);
- ret0: return -1;
- }
-
- int
- recog_8 (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L1365:
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- if (x2 == pc_rtx && 1)
- goto L1366;
- L675:
- if (general_operand (x2, SImode))
- { recog_operand[0] = x2; goto L676; }
- goto ret0;
- L1366:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
- goto L1367;
- if (GET_CODE (x2) == IF_THEN_ELSE && 1)
- goto L1380;
- x2 = XEXP (x1, 0);
- goto L675;
- L1367:
- x3 = XEXP (x2, 0);
- if (x3 == pc_rtx && 1)
- goto L1368;
- x2 = XEXP (x1, 0);
- goto L675;
- L1368:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, HImode))
- { recog_operand[0] = x3; goto L1369; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1369:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == USE && 1)
- goto L1370;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1370:
- x2 = XEXP (x1, 0);
- if (GET_CODE (x2) == LABEL_REF && 1)
- goto L1371;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1371:
- x3 = XEXP (x2, 0);
- if (1)
- { recog_operand[1] = x3; return 314; }
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1380:
- x3 = XEXP (x2, 0);
- if (GET_CODE (x3) == NE && 1)
- goto L1381;
- if (GET_CODE (x3) == GE && 1)
- goto L1419;
- x2 = XEXP (x1, 0);
- goto L675;
- L1381:
- x4 = XEXP (x3, 0);
- if (GET_CODE (x4) == COMPARE && 1)
- goto L1382;
- x2 = XEXP (x1, 0);
- goto L675;
- L1382:
- x5 = XEXP (x4, 0);
- if (GET_CODE (x5) != PLUS)
- { x2 = XEXP (x1, 0);
- goto L675; }
- if (GET_MODE (x5) == HImode && 1)
- goto L1383;
- if (GET_MODE (x5) == SImode && 1)
- goto L1402;
- x2 = XEXP (x1, 0);
- goto L675;
- L1383:
- x6 = XEXP (x5, 0);
- if (general_operand (x6, HImode))
- { recog_operand[0] = x6; goto L1384; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1384:
- x6 = XEXP (x5, 1);
- if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
- goto L1385;
- x2 = XEXP (x1, 0);
- goto L675;
- L1385:
- x5 = XEXP (x4, 1);
- if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
- goto L1386;
- x2 = XEXP (x1, 0);
- goto L675;
- L1386:
- x4 = XEXP (x3, 1);
- if (x4 == const0_rtx && 1)
- goto L1387;
- x2 = XEXP (x1, 0);
- goto L675;
- L1387:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == LABEL_REF && 1)
- goto L1388;
- x2 = XEXP (x1, 0);
- goto L675;
- L1388:
- x4 = XEXP (x3, 0);
- if (1)
- { recog_operand[1] = x4; goto L1389; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1389:
- x3 = XEXP (x2, 2);
- if (x3 == pc_rtx && 1)
- goto L1390;
- x2 = XEXP (x1, 0);
- goto L675;
- L1390:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == SET && 1)
- goto L1391;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1391:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L1392;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1392:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == PLUS && GET_MODE (x2) == HImode && 1)
- goto L1393;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1393:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[0]) && 1)
- goto L1394;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1394:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
- return 316;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1402:
- x6 = XEXP (x5, 0);
- if (general_operand (x6, SImode))
- { recog_operand[0] = x6; goto L1403; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1403:
- x6 = XEXP (x5, 1);
- if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
- goto L1404;
- x2 = XEXP (x1, 0);
- goto L675;
- L1404:
- x5 = XEXP (x4, 1);
- if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
- goto L1405;
- x2 = XEXP (x1, 0);
- goto L675;
- L1405:
- x4 = XEXP (x3, 1);
- if (x4 == const0_rtx && 1)
- goto L1406;
- x2 = XEXP (x1, 0);
- goto L675;
- L1406:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == LABEL_REF && 1)
- goto L1407;
- x2 = XEXP (x1, 0);
- goto L675;
- L1407:
- x4 = XEXP (x3, 0);
- if (1)
- { recog_operand[1] = x4; goto L1408; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1408:
- x3 = XEXP (x2, 2);
- if (x3 == pc_rtx && 1)
- goto L1409;
- x2 = XEXP (x1, 0);
- goto L675;
- L1409:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == SET && 1)
- goto L1410;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1410:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L1411;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1411:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
- goto L1412;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1412:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[0]) && 1)
- goto L1413;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1413:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
- return 317;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1419:
- x4 = XEXP (x3, 0);
- if (GET_CODE (x4) == PLUS && GET_MODE (x4) == SImode && 1)
- goto L1420;
- x2 = XEXP (x1, 0);
- goto L675;
- L1420:
- x5 = XEXP (x4, 0);
- if (general_operand (x5, SImode))
- { recog_operand[0] = x5; goto L1421; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1421:
- x5 = XEXP (x4, 1);
- if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
- goto L1422;
- x2 = XEXP (x1, 0);
- goto L675;
- L1422:
- x4 = XEXP (x3, 1);
- if (x4 == const0_rtx && 1)
- goto L1423;
- x2 = XEXP (x1, 0);
- goto L675;
- L1423:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == LABEL_REF && 1)
- goto L1424;
- x2 = XEXP (x1, 0);
- goto L675;
- L1424:
- x4 = XEXP (x3, 0);
- if (1)
- { recog_operand[1] = x4; goto L1425; }
- x2 = XEXP (x1, 0);
- goto L675;
- L1425:
- x3 = XEXP (x2, 2);
- if (x3 == pc_rtx && 1)
- goto L1426;
- x2 = XEXP (x1, 0);
- goto L675;
- L1426:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == SET && 1)
- goto L1427;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1427:
- x2 = XEXP (x1, 0);
- if (rtx_equal_p (x2, recog_operand[0]) && 1)
- goto L1428;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1428:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
- goto L1429;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1429:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[0]) && 1)
- goto L1430;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L1430:
- x3 = XEXP (x2, 1);
- if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
- if (find_reg_note (insn, REG_NONNEG, 0)) return 318;
- x1 = XVECEXP (x0, 0, 0);
- x2 = XEXP (x1, 0);
- goto L675;
- L676:
- x2 = XEXP (x1, 1);
- if (GET_MODE (x2) != SImode)
- goto ret0;
- if (GET_CODE (x2) == DIV && 1)
- goto L677;
- if (GET_CODE (x2) == UDIV && 1)
- goto L688;
- goto ret0;
- L677:
- x3 = XEXP (x2, 0);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L678; }
- goto ret0;
- L678:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; goto L679; }
- goto ret0;
- L679:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == SET && 1)
- goto L680;
- goto ret0;
- L680:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; goto L681; }
- goto ret0;
- L681:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == MOD && GET_MODE (x2) == SImode && 1)
- goto L682;
- goto ret0;
- L682:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[1]) && 1)
- goto L683;
- goto ret0;
- L683:
- x3 = XEXP (x2, 1);
- if (rtx_equal_p (x3, recog_operand[2]) && 1)
- if (TARGET_68020) return 187;
- goto ret0;
- L688:
- x3 = XEXP (x2, 0);
- if (general_operand (x3, SImode))
- { recog_operand[1] = x3; goto L689; }
- goto ret0;
- L689:
- x3 = XEXP (x2, 1);
- if (general_operand (x3, SImode))
- { recog_operand[2] = x3; goto L690; }
- goto ret0;
- L690:
- x1 = XVECEXP (x0, 0, 1);
- if (GET_CODE (x1) == SET && 1)
- goto L691;
- goto ret0;
- L691:
- x2 = XEXP (x1, 0);
- if (general_operand (x2, SImode))
- { recog_operand[3] = x2; goto L692; }
- goto ret0;
- L692:
- x2 = XEXP (x1, 1);
- if (GET_CODE (x2) == UMOD && GET_MODE (x2) == SImode && 1)
- goto L693;
- goto ret0;
- L693:
- x3 = XEXP (x2, 0);
- if (rtx_equal_p (x3, recog_operand[1]) && 1)
- goto L694;
- goto ret0;
- L694:
- x3 = XEXP (x2, 1);
- if (rtx_equal_p (x3, recog_operand[2]) && 1)
- if (TARGET_68020) return 188;
- goto ret0;
- ret0: return -1;
- }
-
- int
- recog (x0, insn)
- register rtx x0;
- rtx insn;
- {
- register rtx x1, x2, x3, x4, x5;
- rtx x6, x7, x8, x9, x10, x11;
- int tem;
- L0:
- switch (GET_CODE (x0))
- {
- case SET:
- if (1)
- goto L7;
- break;
- case PARALLEL:
- if (XVECLEN (x0, 0) == 2 && 1)
- goto L674;
- break;
- case CALL:
- if (1)
- goto L1432;
- break;
- case RETURN:
- if (1)
- if (0) return 321;
- break;
- case CONST_INT:
- if (x0 == const0_rtx && 1)
- return 322;
- break;
- }
- goto ret0;
- L7:
- return recog_7 (x0, insn);
- L674:
- x1 = XVECEXP (x0, 0, 0);
- if (GET_CODE (x1) == SET && 1)
- goto L1365;
- goto ret0;
- L1365:
- return recog_8 (x0, insn);
- L1432:
- x1 = XEXP (x0, 0);
- if (general_operand (x1, QImode))
- { recog_operand[0] = x1; goto L1433; }
- goto ret0;
- L1433:
- x1 = XEXP (x0, 1);
- if (general_operand (x1, SImode))
- { recog_operand[1] = x1; return 319; }
- goto ret0;
- ret0: return -1;
- }
-