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