/* Generated automatically by the program `genrecog' from the target machine description file. */ #include "config.h" #include "system.h" #include "coretypes.h" #include "backend.h" #include "predict.h" #include "rtl.h" #include "memmodel.h" #include "tm_p.h" #include "emit-rtl.h" #include "insn-config.h" #include "recog.h" #include "output.h" #include "flags.h" #include "df.h" #include "resource.h" #include "diagnostic-core.h" #include "reload.h" #include "regs.h" #include "tm-constrs.h" /* `recog' contains a decision tree that recognizes whether the rtx X0 is a valid instruction. recog returns -1 if the rtx is not valid. If the rtx is valid, recog returns a nonnegative number which is the insn code number for the pattern that matched. This is the same as the order in the machine description of the entry that matched. This number can be used as an index into `insn_data' and other tables. The third parameter 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. The function split_insns returns 0 if the rtl could not be split or the split rtl as an INSN list if it can be. The function peephole2_insns returns 0 if the rtl could not be matched. If there was a match, the new rtl is returned in an INSN list, and LAST_INSN will point to the last recognized insn in the old sequence. */ extern rtx_insn *gen_split_1 (rtx_insn *, rtx *); extern rtx_insn *gen_split_2 (rtx_insn *, rtx *); extern rtx_insn *gen_split_3 (rtx_insn *, rtx *); extern rtx_insn *gen_split_4 (rtx_insn *, rtx *); extern rtx_insn *gen_split_5 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_1 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_2 (rtx_insn *, rtx *); extern rtx_insn *gen_split_6 (rtx_insn *, rtx *); extern rtx_insn *gen_split_7 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_3 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_4 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_5 (rtx_insn *, rtx *); extern rtx_insn *gen_split_8 (rtx_insn *, rtx *); extern rtx_insn *gen_split_9 (rtx_insn *, rtx *); extern rtx_insn *gen_split_10 (rtx_insn *, rtx *); extern rtx_insn *gen_split_11 (rtx_insn *, rtx *); extern rtx_insn *gen_split_12 (rtx_insn *, rtx *); extern rtx_insn *gen_split_13 (rtx_insn *, rtx *); extern rtx_insn *gen_split_14 (rtx_insn *, rtx *); extern rtx_insn *gen_split_15 (rtx_insn *, rtx *); extern rtx_insn *gen_split_16 (rtx_insn *, rtx *); extern rtx_insn *gen_split_17 (rtx_insn *, rtx *); extern rtx_insn *gen_split_18 (rtx_insn *, rtx *); extern rtx_insn *gen_split_19 (rtx_insn *, rtx *); extern rtx_insn *gen_split_20 (rtx_insn *, rtx *); extern rtx_insn *gen_split_21 (rtx_insn *, rtx *); extern rtx_insn *gen_split_22 (rtx_insn *, rtx *); extern rtx_insn *gen_split_23 (rtx_insn *, rtx *); extern rtx_insn *gen_split_24 (rtx_insn *, rtx *); extern rtx_insn *gen_split_25 (rtx_insn *, rtx *); extern rtx_insn *gen_split_26 (rtx_insn *, rtx *); extern rtx_insn *gen_split_27 (rtx_insn *, rtx *); extern rtx_insn *gen_split_28 (rtx_insn *, rtx *); extern rtx_insn *gen_split_29 (rtx_insn *, rtx *); extern rtx_insn *gen_split_30 (rtx_insn *, rtx *); extern rtx_insn *gen_split_31 (rtx_insn *, rtx *); extern rtx_insn *gen_split_32 (rtx_insn *, rtx *); extern rtx_insn *gen_split_33 (rtx_insn *, rtx *); extern rtx_insn *gen_split_34 (rtx_insn *, rtx *); extern rtx_insn *gen_split_35 (rtx_insn *, rtx *); extern rtx_insn *gen_split_36 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_6 (rtx_insn *, rtx *); extern rtx_insn *gen_split_37 (rtx_insn *, rtx *); extern rtx_insn *gen_split_38 (rtx_insn *, rtx *); extern rtx_insn *gen_split_39 (rtx_insn *, rtx *); extern rtx_insn *gen_split_40 (rtx_insn *, rtx *); extern rtx_insn *gen_split_41 (rtx_insn *, rtx *); extern rtx_insn *gen_split_42 (rtx_insn *, rtx *); extern rtx_insn *gen_split_43 (rtx_insn *, rtx *); extern rtx_insn *gen_split_44 (rtx_insn *, rtx *); extern rtx_insn *gen_split_45 (rtx_insn *, rtx *); extern rtx_insn *gen_split_46 (rtx_insn *, rtx *); extern rtx_insn *gen_split_47 (rtx_insn *, rtx *); extern rtx_insn *gen_split_48 (rtx_insn *, rtx *); extern rtx_insn *gen_split_49 (rtx_insn *, rtx *); extern rtx_insn *gen_split_50 (rtx_insn *, rtx *); extern rtx_insn *gen_split_51 (rtx_insn *, rtx *); extern rtx_insn *gen_split_52 (rtx_insn *, rtx *); extern rtx_insn *gen_split_53 (rtx_insn *, rtx *); extern rtx_insn *gen_split_54 (rtx_insn *, rtx *); extern rtx_insn *gen_split_55 (rtx_insn *, rtx *); extern rtx_insn *gen_split_56 (rtx_insn *, rtx *); extern rtx_insn *gen_split_57 (rtx_insn *, rtx *); extern rtx_insn *gen_split_58 (rtx_insn *, rtx *); extern rtx_insn *gen_split_59 (rtx_insn *, rtx *); extern rtx_insn *gen_split_60 (rtx_insn *, rtx *); extern rtx_insn *gen_split_61 (rtx_insn *, rtx *); extern rtx_insn *gen_split_62 (rtx_insn *, rtx *); extern rtx_insn *gen_split_63 (rtx_insn *, rtx *); extern rtx_insn *gen_split_64 (rtx_insn *, rtx *); extern rtx_insn *gen_split_65 (rtx_insn *, rtx *); extern rtx_insn *gen_split_66 (rtx_insn *, rtx *); extern rtx_insn *gen_split_67 (rtx_insn *, rtx *); extern rtx_insn *gen_split_68 (rtx_insn *, rtx *); extern rtx_insn *gen_split_69 (rtx_insn *, rtx *); extern rtx_insn *gen_split_70 (rtx_insn *, rtx *); extern rtx_insn *gen_split_71 (rtx_insn *, rtx *); extern rtx_insn *gen_split_72 (rtx_insn *, rtx *); extern rtx_insn *gen_split_73 (rtx_insn *, rtx *); extern rtx_insn *gen_split_74 (rtx_insn *, rtx *); extern rtx_insn *gen_split_75 (rtx_insn *, rtx *); extern rtx_insn *gen_split_76 (rtx_insn *, rtx *); extern rtx_insn *gen_split_77 (rtx_insn *, rtx *); extern rtx_insn *gen_split_78 (rtx_insn *, rtx *); extern rtx_insn *gen_split_79 (rtx_insn *, rtx *); extern rtx_insn *gen_split_80 (rtx_insn *, rtx *); extern rtx_insn *gen_split_81 (rtx_insn *, rtx *); extern rtx_insn *gen_split_82 (rtx_insn *, rtx *); extern rtx_insn *gen_split_83 (rtx_insn *, rtx *); extern rtx_insn *gen_split_84 (rtx_insn *, rtx *); extern rtx_insn *gen_split_85 (rtx_insn *, rtx *); extern rtx_insn *gen_split_86 (rtx_insn *, rtx *); extern rtx_insn *gen_split_87 (rtx_insn *, rtx *); extern rtx_insn *gen_split_88 (rtx_insn *, rtx *); extern rtx_insn *gen_split_89 (rtx_insn *, rtx *); extern rtx_insn *gen_split_90 (rtx_insn *, rtx *); extern rtx_insn *gen_split_91 (rtx_insn *, rtx *); extern rtx_insn *gen_split_92 (rtx_insn *, rtx *); extern rtx_insn *gen_split_93 (rtx_insn *, rtx *); extern rtx_insn *gen_split_94 (rtx_insn *, rtx *); extern rtx_insn *gen_split_95 (rtx_insn *, rtx *); extern rtx_insn *gen_split_96 (rtx_insn *, rtx *); extern rtx_insn *gen_split_97 (rtx_insn *, rtx *); extern rtx_insn *gen_split_98 (rtx_insn *, rtx *); extern rtx_insn *gen_split_99 (rtx_insn *, rtx *); extern rtx_insn *gen_split_100 (rtx_insn *, rtx *); extern rtx_insn *gen_split_101 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_7 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_8 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_9 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_10 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_11 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_12 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_13 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_14 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_15 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_16 (rtx_insn *, rtx *); extern rtx_insn *gen_split_102 (rtx_insn *, rtx *); extern rtx_insn *gen_split_103 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_17 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_18 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_19 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_20 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_21 (rtx_insn *, rtx *); extern rtx_insn *gen_peephole2_22 (rtx_insn *, rtx *); extern rtx_insn *gen_split_104 (rtx_insn *, rtx *); extern rtx_insn *gen_split_105 (rtx_insn *, rtx *); extern rtx_insn *gen_split_106 (rtx_insn *, rtx *); extern rtx_insn *gen_split_107 (rtx_insn *, rtx *); extern rtx_insn *gen_split_108 (rtx_insn *, rtx *); extern rtx_insn *gen_split_109 (rtx_insn *, rtx *); extern rtx_insn *gen_split_110 (rtx_insn *, rtx *); extern rtx_insn *gen_split_111 (rtx_insn *, rtx *); extern rtx_insn *gen_split_112 (rtx_insn *, rtx *); extern rtx_insn *gen_split_113 (rtx_insn *, rtx *); extern rtx_insn *gen_split_114 (rtx_insn *, rtx *); extern rtx_insn *gen_split_115 (rtx_insn *, rtx *); extern rtx_insn *gen_split_116 (rtx_insn *, rtx *); extern rtx_insn *gen_split_117 (rtx_insn *, rtx *); static int pattern0 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern1 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: return pattern0 (x3, SImode); /* [-1, 0] */ case DImode: if (pattern0 (x3, DImode) != 0) return -1; return 1; case V2DImode: if (pattern0 (x3, V2DImode) != 0) return -1; return 2; case V4SImode: if (pattern0 (x3, V4SImode) != 0) return -1; return 3; case V8HImode: if (pattern0 (x3, V8HImode) != 0) return -1; return 4; case V16QImode: if (pattern0 (x3, V16QImode) != 0) return -1; return 5; default: return -1; } } static int pattern2 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern3 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; if (!const_int_operand (operands[2], VOIDmode)) return -1; x6 = XEXP (x3, 2); operands[3] = x6; if (!const_int_operand (operands[3], VOIDmode)) return -1; return pattern2 (x3); /* [-1, 1] */ } static int pattern4 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !arith_operand (operands[2], i1)) return -1; return 0; } static int pattern5 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !register_operand (operands[1], DImode) || !arith_operand (operands[2], SImode)) return -1; return 0; } static int pattern6 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], SImode)) return -1; return 0; } static int pattern7 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !reg_or_vector_same_uimm6_operand (operands[2], i1)) return -1; return 0; } static int pattern8 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: return pattern4 (x3, SImode); /* [-1, 0] */ case DImode: if (pattern5 (x3) != 0) return -1; return 1; case V2SImode: if (pattern6 (x3, V2SImode) != 0) return -1; return 2; case V4HImode: if (pattern6 (x3, V4HImode) != 0) return -1; return 3; case V2DImode: if (pattern7 (x3, V2DImode) != 0) return -1; return 4; case V4SImode: if (pattern7 (x3, V4SImode) != 0) return -1; return 5; case V8HImode: if (pattern7 (x3, V8HImode) != 0) return -1; return 6; case V16QImode: if (pattern7 (x3, V16QImode) != 0) return -1; return 7; default: return -1; } } static int pattern9 () { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[1])) { case SFmode: if (!register_operand (operands[1], SFmode) || !register_operand (operands[2], SFmode)) return -1; return 0; case DFmode: if (!register_operand (operands[1], DFmode) || !register_operand (operands[2], DFmode)) return -1; return 1; default: return -1; } } static int pattern10 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; return pattern9 (); /* [-1, 1] */ } static int pattern11 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern12 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case CCmode: return pattern10 (x3, CCmode); /* [-1, 1] */ case CCFmode: res = pattern10 (x3, CCFmode); if (res >= 0) return res + 2; /* [2, 3] */ return -1; case V2DImode: if (pattern11 (x3, V2DFmode, V2DImode) != 0) return -1; return 4; case V4SImode: if (pattern11 (x3, V4SFmode, V4SImode) != 0) return -1; return 5; default: return -1; } } static int pattern13 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[2] = x2; switch (GET_MODE (operands[0])) { case CCmode: return pattern10 (x1, CCmode); /* [-1, 1] */ case CCFmode: res = pattern10 (x1, CCFmode); if (res >= 0) return res + 2; /* [2, 3] */ return -1; default: return -1; } } static int pattern14 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; return pattern13 (x3); /* [-1, 3] */ } static int pattern15 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !reg_or_vector_same_simm5_operand (operands[2], i1)) return -1; return 0; } static int pattern16 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V4HImode: return pattern0 (x3, V4HImode); /* [-1, 0] */ case V2DFmode: if (pattern0 (x3, V2DFmode) != 0) return -1; return 1; case V4SFmode: if (pattern0 (x3, V4SFmode) != 0) return -1; return 2; case V2DImode: if (pattern15 (x3, V2DImode) != 0) return -1; return 3; case V4SImode: if (pattern15 (x3, V4SImode) != 0) return -1; return 4; case V8HImode: if (pattern15 (x3, V8HImode) != 0) return -1; return 5; case V16QImode: if (pattern15 (x3, V16QImode) != 0) return -1; return 6; default: return -1; } } static int pattern17 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !reg_or_vector_same_uimm5_operand (operands[2], i1)) return -1; return 0; } static int pattern18 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V8QImode: return pattern0 (x3, V8QImode); /* [-1, 0] */ case V2DImode: if (pattern17 (x3, V2DImode) != 0) return -1; return 1; case V4SImode: if (pattern17 (x3, V4SImode) != 0) return -1; return 2; case V8HImode: if (pattern17 (x3, V8HImode) != 0) return -1; return 3; case V16QImode: if (pattern17 (x3, V16QImode) != 0) return -1; return 4; default: return -1; } } static int pattern19 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V4HImode: return pattern0 (x3, V4HImode); /* [-1, 0] */ case V8QImode: if (pattern0 (x3, V8QImode) != 0) return -1; return 1; default: return -1; } } static int pattern20 (rtx x1, int i1, int i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != SET) return -1; x2 = XEXP (x1, 1); if (GET_CODE (x2) != UNSPEC || XVECLEN (x2, 0) != i2 || XINT (x2, 1) != i1) return -1; return 0; } static int pattern21 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; if (peep2_current_count < 2) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XEXP (x2, 0); operands[1] = x4; if (!non_volatile_mem_operand (operands[1], HImode)) return -1; x5 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x5) != SET) return -1; x6 = XEXP (x5, 1); if (GET_CODE (x6) != i1 || GET_MODE (x6) != SImode) return -1; x7 = XEXP (x5, 0); operands[2] = x7; if (!register_operand (operands[2], SImode)) return -1; x8 = XEXP (x6, 0); operands[3] = x8; if (!non_volatile_mem_operand (operands[3], HImode)) return -1; return 0; } static int pattern22 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[1] = x2; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !register_operand (operands[1], DImode)) return -1; return 1; case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x1) != V2DImode || !register_operand (operands[1], V2DImode)) return -1; return 2; case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x1) != V4SImode || !register_operand (operands[1], V4SImode)) return -1; return 3; case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x1) != V8HImode || !register_operand (operands[1], V8HImode)) return -1; return 4; case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x1) != V16QImode || !register_operand (operands[1], V16QImode)) return -1; return 5; default: return -1; } } static int pattern23 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!cprestore_load_slot_operand (operands[0], i1) || GET_CODE (x1) != REG || REGNO (x1) != 76 || GET_MODE (x1) != i1) return -1; return 0; } static int pattern24 (rtx x1, int *pnum_clobbers) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (pnum_clobbers == NULL) return -1; x2 = XEXP (x1, 1); if (XINT (x2, 1) != 63 || GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!memory_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode)) return -1; return 0; } static int pattern25 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[1] = x2; x3 = XEXP (x1, 1); operands[2] = x3; switch (GET_MODE (operands[0])) { case V4HImode: return pattern0 (x1, V4HImode); /* [-1, 0] */ case V8QImode: if (pattern0 (x1, V8QImode) != 0) return -1; return 1; case V2DImode: if (pattern0 (x1, V2DImode) != 0) return -1; return 2; case V4SImode: if (pattern0 (x1, V4SImode) != 0) return -1; return 3; case V8HImode: if (pattern0 (x1, V8HImode) != 0) return -1; return 4; case V16QImode: if (pattern0 (x1, V16QImode) != 0) return -1; return 5; default: return -1; } } static int pattern26 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_CODE (x2) != REG || REGNO (x2) != 31 || GET_MODE (x2) != SImode) return -1; return 0; } static int pattern27 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!d_operand (operands[0], i1) || GET_MODE (x1) != i1 || !d_operand (operands[1], i1) || !const_int_operand (operands[2], i1)) return -1; return 0; } static int pattern28 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[1] = x2; x3 = XEXP (x1, 1); operands[2] = x3; switch (GET_MODE (operands[0])) { case SImode: return pattern27 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern27 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern29 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1)) return -1; x3 = XEXP (x1, 1); if (GET_MODE (x3) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern30 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_CODE (x2) != ABS) return -1; x3 = XEXP (x1, 0); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x2, 0); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2DImode: return pattern29 (x1, V2DImode); /* [-1, 0] */ case V4SImode: if (pattern29 (x1, V4SImode) != 0) return -1; return 1; case V8HImode: if (pattern29 (x1, V8HImode) != 0) return -1; return 2; case V16QImode: if (pattern29 (x1, V16QImode) != 0) return -1; return 3; default: return -1; } } static int pattern31 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i3) || GET_MODE (x1) != i3) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i3) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2 || !register_operand (operands[1], i1)) return -1; x4 = XEXP (x1, 1); if (GET_MODE (x4) != i3) return -1; x5 = XEXP (x4, 0); if (GET_MODE (x5) != i2 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern32 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_CODE (x3) != VEC_SELECT) return -1; x4 = XEXP (x3, 1); if (GET_CODE (x4) != PARALLEL) return -1; x5 = XEXP (x1, 1); if (GET_CODE (x5) != i1) return -1; x6 = XEXP (x5, 0); if (GET_CODE (x6) != VEC_SELECT) return -1; x7 = XEXP (x6, 1); if (GET_CODE (x7) != PARALLEL) return -1; x8 = XEXP (x3, 0); operands[1] = x8; x9 = XEXP (x6, 0); operands[2] = x9; switch (XVECLEN (x4, 0)) { case 8: x10 = XVECEXP (x4, 0, 0); if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x11 = XVECEXP (x4, 0, 1); if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x12 = XVECEXP (x4, 0, 2); if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x13 = XVECEXP (x4, 0, 3); if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x14 = XVECEXP (x4, 0, 4); if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x15 = XVECEXP (x4, 0, 5); if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x16 = XVECEXP (x4, 0, 6); if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x17 = XVECEXP (x4, 0, 7); if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || XVECLEN (x7, 0) != 8) return -1; x18 = XVECEXP (x7, 0, 0); if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x19 = XVECEXP (x7, 0, 1); if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x20 = XVECEXP (x7, 0, 2); if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x21 = XVECEXP (x7, 0, 3); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x22 = XVECEXP (x7, 0, 4); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x23 = XVECEXP (x7, 0, 5); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x24 = XVECEXP (x7, 0, 6); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x25 = XVECEXP (x7, 0, 7); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || pattern31 (x1, V16QImode, V8QImode, V8HImode) != 0) return -1; return 0; case 4: x10 = XVECEXP (x4, 0, 0); if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x11 = XVECEXP (x4, 0, 1); if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x12 = XVECEXP (x4, 0, 2); if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x13 = XVECEXP (x4, 0, 3); if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || XVECLEN (x7, 0) != 4) return -1; x18 = XVECEXP (x7, 0, 0); if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x19 = XVECEXP (x7, 0, 1); if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x20 = XVECEXP (x7, 0, 2); if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x21 = XVECEXP (x7, 0, 3); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || pattern31 (x1, V8HImode, V4HImode, V4SImode) != 0) return -1; return 1; case 2: x10 = XVECEXP (x4, 0, 0); if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x11 = XVECEXP (x4, 0, 1); if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || XVECLEN (x7, 0) != 2) return -1; x18 = XVECEXP (x7, 0, 0); if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x19 = XVECEXP (x7, 0, 1); if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || pattern31 (x1, V4SImode, V2SImode, V2DImode) != 0) return -1; return 2; default: return -1; } } static int pattern33 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_MODE (x2) != SImode || !register_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; x3 = XEXP (x2, 0); operands[1] = x3; if (!register_operand (operands[1], SImode)) return -1; x4 = XEXP (x2, 1); operands[2] = x4; if (!arith_operand (operands[2], SImode)) return -1; return 0; } static int pattern34 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_MODE (x2) != SImode || !register_operand (operands[0], i2) || GET_MODE (x1) != i2) return -1; x3 = XEXP (x2, 0); operands[1] = x3; if (!register_operand (operands[1], i1)) return -1; return 0; } static int pattern35 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); operands[1] = x3; if (!register_operand (operands[1], DImode)) return -1; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; switch (GET_MODE (x2)) { case QImode: return 0; case HImode: return 1; default: return -1; } case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; switch (GET_MODE (x2)) { case QImode: return 2; case HImode: return 3; default: return -1; } case HImode: if (!register_operand (operands[0], HImode) || GET_MODE (x1) != HImode || GET_MODE (x2) != QImode) return -1; return 4; default: return -1; } } static int pattern36 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2 || !register_operand (operands[1], i1)) return -1; x3 = XEXP (x1, 1); if (GET_MODE (x3) != i2 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern37 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_CODE (x2) != i1) return -1; x3 = XEXP (x1, 0); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x2, 0); operands[2] = x5; switch (GET_MODE (operands[0])) { case DImode: if (GET_MODE (x1) != DImode || pattern36 (x1, SImode, DImode) != 0) return -1; return 0; case TImode: if (GET_MODE (x1) != TImode || pattern36 (x1, DImode, TImode) != 0) return -1; return 1; default: return -1; } } static int pattern38 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern39 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_CODE (x3) != MULT) return -1; x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; x6 = XEXP (x2, 1); operands[3] = x6; switch (GET_MODE (operands[0])) { case SFmode: return pattern38 (x1, SFmode); /* [-1, 0] */ case DFmode: if (pattern38 (x1, DFmode) != 0) return -1; return 1; case V2SFmode: if (pattern38 (x1, V2SFmode) != 0) return -1; return 2; default: return -1; } } static int pattern40 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; return 1; default: return -1; } } static int pattern41 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; return pattern40 (x3); /* [-1, 1] */ } static int pattern42 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern43 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; return pattern42 (x3); /* [-1, 1] */ } static int pattern44 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SFmode: if (!register_operand (operands[0], SFmode) || GET_MODE (x3) != SFmode || !register_operand (operands[1], SFmode)) return -1; return 0; case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || !register_operand (operands[1], DFmode)) return -1; return 1; case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x3) != V2SFmode || !register_operand (operands[1], V2SFmode)) return -1; return 2; default: return -1; } } static int pattern45 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DFmode)) return -1; return 0; case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SFmode)) return -1; return 1; default: return -1; } } static int pattern46 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !register_operand (operands[1], i1)) return -1; return 0; case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !register_operand (operands[1], i2)) return -1; return 1; default: return -1; } } static int pattern47 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !register_operand (operands[1], V2DFmode)) return -1; return 0; case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !register_operand (operands[1], V4SFmode)) return -1; return 1; default: return -1; } } static int pattern48 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !immediate_operand (operands[2], i1)) return -1; return 0; } static int pattern49 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: return pattern48 (x3, SImode); /* [-1, 0] */ case DImode: if (pattern48 (x3, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern50 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], i1)) return -1; return 0; } static int pattern51 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern52 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SFmode: return pattern51 (x3, SFmode); /* [-1, 0] */ case DFmode: if (pattern51 (x3, DFmode) != 0) return -1; return 1; case V2SFmode: if (pattern51 (x3, V2SFmode) != 0) return -1; return 2; default: return -1; } } static int pattern53 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode)) return -1; return 0; } static int pattern54 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i2) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i2)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], i1)) return -1; return 0; } static int pattern55 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!arith_operand (operands[2], SImode)) return -1; return 0; } static int pattern56 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!reg_or_0_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!reg_or_0_operand (operands[2], i1)) return -1; return 0; } static int pattern57 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!reg_or_0_operand (operands[1], i1)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!arith_operand (operands[2], SImode)) return -1; return 0; } static int pattern58 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2SImode: return pattern51 (x3, V2SImode); /* [-1, 0] */ case V4HImode: if (pattern51 (x3, V4HImode) != 0) return -1; return 1; case V8QImode: if (pattern51 (x3, V8QImode) != 0) return -1; return 2; default: return -1; } } static int pattern59 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode)) return -1; switch (GET_MODE (operands[0])) { case V2SImode: if (!register_operand (operands[0], V2SImode) || GET_MODE (x3) != V2SImode || !register_operand (operands[1], V2SImode)) return -1; return 0; case V4HImode: if (!register_operand (operands[0], V4HImode) || GET_MODE (x3) != V4HImode || !register_operand (operands[1], V4HImode)) return -1; return 1; case V8QImode: if (!register_operand (operands[0], V8QImode) || GET_MODE (x3) != V8QImode || !register_operand (operands[1], V8QImode)) return -1; return 2; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], DImode)) return -1; return 3; default: return -1; } } static int pattern60 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2DImode: return pattern51 (x3, V2DImode); /* [-1, 0] */ case V4SImode: if (pattern51 (x3, V4SImode) != 0) return -1; return 1; case V8HImode: if (pattern51 (x3, V8HImode) != 0) return -1; return 2; case V16QImode: if (pattern51 (x3, V16QImode) != 0) return -1; return 3; default: return -1; } } static int pattern61 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DImode) || !const_uimm6_operand (operands[2], VOIDmode)) return -1; return 0; case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SImode) || !const_uimm5_operand (operands[2], VOIDmode)) return -1; return 1; case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x3) != V8HImode || !register_operand (operands[1], V8HImode) || !const_uimm4_operand (operands[2], VOIDmode)) return -1; return 2; case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x3) != V16QImode || !register_operand (operands[1], V16QImode) || !const_uimm3_operand (operands[2], VOIDmode)) return -1; return 3; default: return -1; } } static int pattern62 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern63 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2DImode: return pattern62 (x3, V2DFmode, V2DImode); /* [-1, 0] */ case V4SImode: if (pattern62 (x3, V4SFmode, V4SImode) != 0) return -1; return 1; default: return -1; } } static int pattern64 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V4SImode: return pattern51 (x3, V4SImode); /* [-1, 0] */ case V8HImode: if (pattern51 (x3, V8HImode) != 0) return -1; return 1; default: return -1; } } static int pattern65 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != V2SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2SFmode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], V2SFmode)) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!register_operand (operands[3], i1)) return -1; return 0; } static int pattern66 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != DImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], DImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], DImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], V4QImode)) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!register_operand (operands[3], V4QImode)) return -1; return 0; } static int pattern67 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != CCDSPmode) return -1; x3 = XVECEXP (x2, 0, 2); if (GET_CODE (x3) != REG || REGNO (x3) != 186 || GET_MODE (x3) != CCDSPmode) return -1; x4 = XEXP (x1, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 186 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x2, 0, 0); operands[0] = x5; x6 = XVECEXP (x2, 0, 1); operands[1] = x6; switch (GET_MODE (operands[0])) { case V2HImode: if (!register_operand (operands[0], V2HImode) || !register_operand (operands[1], V2HImode)) return -1; return 0; case V4QImode: if (!register_operand (operands[0], V4QImode) || !register_operand (operands[1], V4QImode)) return -1; return 1; default: return -1; } } static int pattern68 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], i1)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!reg_or_0_operand (operands[2], SImode)) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!const_int_operand (operands[3], SImode)) return -1; return 0; } static int pattern69 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != DImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], DImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], DImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!reg_or_0_operand (operands[2], V2HImode)) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!reg_or_0_operand (operands[3], V2HImode)) return -1; return 0; } static int pattern70 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern71 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; x6 = XVECEXP (x3, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case V2DImode: return pattern70 (x3, V2DImode); /* [-1, 0] */ case V4SImode: if (pattern70 (x3, V4SImode) != 0) return -1; return 1; case V8HImode: if (pattern70 (x3, V8HImode) != 0) return -1; return 2; case V16QImode: if (pattern70 (x3, V16QImode) != 0) return -1; return 3; default: return -1; } } static int pattern72 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_uimm4_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern73 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_uimm3_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern74 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; x6 = XVECEXP (x3, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DImode) || !register_operand (operands[2], V2DImode) || !const_uimm6_operand (operands[3], VOIDmode)) return -1; return 0; case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SImode) || !register_operand (operands[2], V4SImode) || !const_uimm5_operand (operands[3], VOIDmode)) return -1; return 1; case V8HImode: if (pattern72 (x3, V8HImode) != 0) return -1; return 2; case V16QImode: if (pattern73 (x3, V16QImode) != 0) return -1; return 3; default: return -1; } } static int pattern75 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; x6 = XVECEXP (x3, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case V4SImode: return pattern70 (x3, V4SImode); /* [-1, 0] */ case V8HImode: if (pattern70 (x3, V8HImode) != 0) return -1; return 1; default: return -1; } } static int pattern76 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], CCV4mode) || GET_MODE (x1) != CCV4mode) return -1; x2 = XVECEXP (x1, 0, 0); operands[1] = x2; if (!register_operand (operands[1], V2SFmode)) return -1; x3 = XVECEXP (x1, 0, 1); operands[2] = x3; if (!register_operand (operands[2], V2SFmode)) return -1; x4 = XVECEXP (x1, 0, 2); operands[3] = x4; if (!register_operand (operands[3], V2SFmode)) return -1; x5 = XVECEXP (x1, 0, 3); operands[4] = x5; if (!register_operand (operands[4], V2SFmode)) return -1; x6 = XVECEXP (x1, 0, 4); operands[5] = x6; if (!const_int_operand (operands[5], VOIDmode)) return -1; switch (XINT (x1, 1)) { case 71: return 0; case 73: return 1; default: return -1; } } static int pattern77 () { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[1])) { case V2DFmode: if (!register_operand (operands[1], V2DFmode)) return -1; return 0; case V4SFmode: if (!register_operand (operands[1], V4SFmode)) return -1; return 1; case V2DImode: if (!register_operand (operands[1], V2DImode)) return -1; return 2; case V4SImode: if (!register_operand (operands[1], V4SImode)) return -1; return 3; case V8HImode: if (!register_operand (operands[1], V8HImode)) return -1; return 4; case V16QImode: if (!register_operand (operands[1], V16QImode)) return -1; return 5; default: return -1; } } static int pattern78 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case ZERO_EXTRACT: x5 = XEXP (x4, 1); if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x6 = XEXP (x3, 1); if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x7 = XEXP (x1, 0); if (GET_CODE (x7) != PC) return -1; x8 = XEXP (x4, 0); operands[1] = x8; x9 = XEXP (x4, 2); operands[2] = x9; if (!const_int_operand (operands[2], VOIDmode)) return -1; x10 = XEXP (x2, 1); switch (GET_CODE (x10)) { case LABEL_REF: x11 = XEXP (x2, 2); if (GET_CODE (x11) != PC) return -1; x12 = XEXP (x10, 0); operands[0] = x12; switch (GET_MODE (x4)) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } case PC: x11 = XEXP (x2, 2); if (GET_CODE (x11) != LABEL_REF) return -1; x13 = XEXP (x11, 0); operands[0] = x13; switch (GET_MODE (x4)) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 2; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 3; default: return -1; } default: return -1; } case REG: case SUBREG: operands[1] = x4; return 4; case UNSPEC: if (XVECLEN (x4, 0) != 1) return -1; x10 = XEXP (x2, 1); if (GET_CODE (x10) != LABEL_REF) return -1; x11 = XEXP (x2, 2); if (GET_CODE (x11) != PC) return -1; x7 = XEXP (x1, 0); if (GET_CODE (x7) != PC || GET_MODE (x4) != SImode) return -1; x14 = XVECEXP (x4, 0, 0); operands[1] = x14; x6 = XEXP (x3, 1); operands[2] = x6; if (!const_0_operand (operands[2], SImode)) return -1; x12 = XEXP (x10, 0); operands[0] = x12; switch (XINT (x4, 1)) { case 240: res = pattern77 (); if (res >= 0) return res + 5; /* [5, 10] */ return -1; case 239: res = pattern77 (); if (res >= 0) return res + 11; /* [11, 16] */ return -1; default: return -1; } default: return -1; } } static int pattern79 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_MODE (x3) != i1 || !register_operand (operands[1], i1)) return -1; x4 = XEXP (x2, 1); if (GET_MODE (x4) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern80 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); if (GET_CODE (x4) != ABS) return -1; x5 = XEXP (x3, 1); if (GET_CODE (x5) != ABS) return -1; x6 = XEXP (x1, 0); operands[0] = x6; x7 = XEXP (x4, 0); operands[1] = x7; x8 = XEXP (x5, 0); operands[2] = x8; x9 = XEXP (x2, 1); if (!rtx_equal_p (x9, operands[1])) return -1; x10 = XEXP (x2, 2); if (!rtx_equal_p (x10, operands[2])) return -1; switch (GET_MODE (operands[0])) { case V2DFmode: return pattern79 (x2, V2DFmode); /* [-1, 0] */ case V4SFmode: if (pattern79 (x2, V4SFmode) != 0) return -1; return 1; case V2DImode: if (pattern79 (x2, V2DImode) != 0) return -1; return 2; case V4SImode: if (pattern79 (x2, V4SImode) != 0) return -1; return 3; case V8HImode: if (pattern79 (x2, V8HImode) != 0) return -1; return 4; case V16QImode: if (pattern79 (x2, V16QImode) != 0) return -1; return 5; default: return -1; } } static int pattern81 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[2] = x2; switch (GET_MODE (operands[0])) { case CCFmode: return pattern10 (x1, CCFmode); /* [-1, 1] */ case V2DImode: if (pattern11 (x1, V2DFmode, V2DImode) != 0) return -1; return 2; case V4SImode: if (pattern11 (x1, V4SFmode, V4SImode) != 0) return -1; return 3; default: return -1; } } static int pattern82 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, rtx_code i4) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i3) return -1; x3 = XEXP (x1, 1); if (GET_CODE (x3) != i4 || GET_MODE (x3) != i3 || !register_operand (operands[0], i2) || GET_MODE (x1) != i2) return -1; x4 = XEXP (x2, 0); operands[1] = x4; if (!register_operand (operands[1], i1)) return -1; x5 = XEXP (x3, 0); operands[2] = x5; if (!register_operand (operands[2], i1)) return -1; return 0; } static int pattern83 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XEXP (x3, 0); if (GET_CODE (x4) != MULT || GET_MODE (x4) != SImode) return -1; x5 = XVECEXP (x1, 0, 1); if (GET_CODE (x5) != CLOBBER) return -1; return 0; } static int pattern84 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1) return -1; return 0; } static int pattern85 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; x6 = XVECEXP (x1, 0, 1); x7 = XEXP (x6, 0); operands[3] = x7; x8 = XEXP (x6, 1); x9 = XEXP (x8, 0); if (!rtx_equal_p (x9, operands[1])) return -1; x10 = XEXP (x8, 1); if (!rtx_equal_p (x10, operands[2])) return -1; switch (GET_MODE (operands[0])) { case SImode: return pattern84 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern84 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern86 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != i1) return -1; x4 = XVECEXP (x1, 0, 0); x5 = XEXP (x4, 0); operands[0] = x5; return pattern85 (x1); /* [-1, 1] */ } static int pattern87 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != i1 || GET_MODE (x5) != SImode) return -1; x6 = XEXP (x2, 0); operands[0] = x6; if (!register_operand (operands[0], SImode)) return -1; x7 = XEXP (x3, 0); operands[1] = x7; if (!non_volatile_mem_operand (operands[1], HImode)) return -1; x8 = XEXP (x4, 0); operands[2] = x8; if (!register_operand (operands[2], SImode)) return -1; x9 = XEXP (x5, 0); operands[3] = x9; if (!non_volatile_mem_operand (operands[3], HImode)) return -1; return 0; } static int pattern88 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern89 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != UNSPEC || XVECLEN (x3, 0) != 2 || XINT (x3, 1) != i1 || GET_MODE (x3) != CCDSPmode) return -1; x4 = XEXP (x2, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 185 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x1, 0, 0); x6 = XEXP (x5, 0); operands[0] = x6; x7 = XEXP (x5, 1); x8 = XEXP (x7, 0); operands[1] = x8; x9 = XEXP (x7, 1); operands[2] = x9; x10 = XVECEXP (x3, 0, 0); if (!rtx_equal_p (x10, operands[1])) return -1; x11 = XVECEXP (x3, 0, 1); if (!rtx_equal_p (x11, operands[2])) return -1; switch (GET_MODE (operands[0])) { case UQQmode: return pattern88 (x7, UQQmode); /* [-1, 0] */ case UHQmode: if (pattern88 (x7, UHQmode) != 0) return -1; return 1; case UHAmode: if (pattern88 (x7, UHAmode) != 0) return -1; return 2; case V4UQQmode: if (pattern88 (x7, V4UQQmode) != 0) return -1; return 3; case V2UHQmode: if (pattern88 (x7, V2UHQmode) != 0) return -1; return 4; case V2UHAmode: if (pattern88 (x7, V2UHAmode) != 0) return -1; return 5; default: return -1; } } static int pattern90 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != UNSPEC || GET_MODE (x3) != CCDSPmode) return -1; x4 = XEXP (x2, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 185 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x1, 0, 0); x6 = XEXP (x5, 0); operands[0] = x6; return 0; } static int pattern91 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1 || !lo_operand (operands[4], i1)) return -1; return 0; } static int pattern92 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; x6 = XVECEXP (x1, 0, 1); x7 = XEXP (x6, 0); operands[3] = x7; x8 = XVECEXP (x1, 0, 2); x9 = XEXP (x8, 0); operands[4] = x9; x10 = XEXP (x6, 1); x11 = XEXP (x10, 0); if (!rtx_equal_p (x11, operands[1])) return -1; x12 = XEXP (x10, 1); if (!rtx_equal_p (x12, operands[2])) return -1; switch (GET_MODE (operands[0])) { case SImode: return pattern91 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern91 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern93 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != i1) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XVECEXP (x1, 0, 0); x6 = XEXP (x5, 0); operands[0] = x6; return pattern92 (x1); /* [-1, 1] */ } static int pattern94 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !call_insn_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 0); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x1, 0, 2); x7 = XEXP (x6, 0); if (GET_MODE (x7) != i1) return -1; x8 = XVECEXP (x1, 0, 3); x9 = XEXP (x8, 0); if (GET_MODE (x9) != i1) return -1; return 0; } static int pattern95 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (XVECLEN (x3, 0) != 1 || XINT (x3, 1) != 30) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || REGNO (x5) != 3) return -1; x6 = XVECEXP (x1, 0, 2); if (GET_CODE (x6) != CLOBBER) return -1; x7 = XEXP (x6, 0); if (GET_CODE (x7) != REG || REGNO (x7) != 25) return -1; x8 = XVECEXP (x1, 0, 3); if (GET_CODE (x8) != CLOBBER) return -1; x9 = XEXP (x8, 0); if (GET_CODE (x9) != REG || REGNO (x9) != 31) return -1; x10 = XEXP (x2, 0); operands[0] = x10; x11 = XVECEXP (x3, 0, 0); operands[1] = x11; switch (GET_MODE (operands[0])) { case SImode: return pattern94 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern94 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern96 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i1 || !register_operand (operands[1], i3)) return -1; x5 = XEXP (x2, 1); if (GET_MODE (x5) != i2) return -1; x6 = XEXP (x5, 0); if (GET_MODE (x6) != i1 || !register_operand (operands[2], i3)) return -1; x7 = XEXP (x1, 1); if (GET_MODE (x7) != i2) return -1; x8 = XEXP (x7, 0); if (GET_MODE (x8) != i2) return -1; x9 = XEXP (x8, 0); if (GET_MODE (x9) != i1) return -1; x10 = XEXP (x7, 1); if (GET_MODE (x10) != i2) return -1; x11 = XEXP (x10, 0); if (GET_MODE (x11) != i1) return -1; return 0; } static int pattern97 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; rtx x26, x27, x28, x29, x30, x31, x32, x33; rtx x34, x35, x36, x37, x38, x39, x40, x41; rtx x42, x43, x44, x45, x46, x47, x48, x49; rtx x50, x51; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 1); if (GET_CODE (x3) != i1) return -1; x4 = XEXP (x2, 0); x5 = XEXP (x4, 0); switch (GET_CODE (x5)) { case REG: case SUBREG: operands[1] = x5; if (!register_operand (operands[1], SImode) || !muldiv_target_operand (operands[0], DImode) || GET_MODE (x1) != DImode || GET_MODE (x2) != DImode || GET_MODE (x4) != DImode || GET_MODE (x3) != DImode) return -1; x6 = XEXP (x3, 0); operands[2] = x6; if (!register_operand (operands[2], SImode)) return -1; x7 = XEXP (x1, 1); operands[3] = x7; if (!muldiv_target_operand (operands[3], DImode)) return -1; return 0; case VEC_SELECT: x8 = XEXP (x5, 1); if (GET_CODE (x8) != PARALLEL) return -1; x6 = XEXP (x3, 0); if (GET_CODE (x6) != VEC_SELECT) return -1; x9 = XEXP (x6, 1); if (GET_CODE (x9) != PARALLEL) return -1; x7 = XEXP (x1, 1); if (GET_CODE (x7) != MULT) return -1; x10 = XEXP (x7, 0); if (GET_CODE (x10) != i1) return -1; x11 = XEXP (x10, 0); if (GET_CODE (x11) != VEC_SELECT) return -1; x12 = XEXP (x11, 1); if (GET_CODE (x12) != PARALLEL) return -1; x13 = XEXP (x7, 1); if (GET_CODE (x13) != i1) return -1; x14 = XEXP (x13, 0); if (GET_CODE (x14) != VEC_SELECT) return -1; x15 = XEXP (x14, 1); if (GET_CODE (x15) != PARALLEL) return -1; x16 = XEXP (x5, 0); operands[1] = x16; x17 = XEXP (x6, 0); operands[2] = x17; x18 = XEXP (x11, 0); if (!rtx_equal_p (x18, operands[1])) return -1; x19 = XEXP (x14, 0); if (!rtx_equal_p (x19, operands[2])) return -1; switch (XVECLEN (x8, 0)) { case 2: x20 = XVECEXP (x8, 0, 0); if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x21 = XVECEXP (x8, 0, 1); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x9, 0) != 2) return -1; x22 = XVECEXP (x9, 0, 0); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x23 = XVECEXP (x9, 0, 1); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x12, 0) != 2) return -1; x24 = XVECEXP (x12, 0, 0); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x25 = XVECEXP (x12, 0, 1); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || XVECLEN (x15, 0) != 2) return -1; x26 = XVECEXP (x15, 0, 0); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x27 = XVECEXP (x15, 0, 1); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || pattern96 (x1, V2SImode, V2DImode, V4SImode) != 0) return -1; return 1; case 4: x20 = XVECEXP (x8, 0, 0); if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x21 = XVECEXP (x8, 0, 1); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x28 = XVECEXP (x8, 0, 2); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x29 = XVECEXP (x8, 0, 3); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x9, 0) != 4) return -1; x22 = XVECEXP (x9, 0, 0); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x23 = XVECEXP (x9, 0, 1); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x30 = XVECEXP (x9, 0, 2); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x31 = XVECEXP (x9, 0, 3); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x12, 0) != 4) return -1; x24 = XVECEXP (x12, 0, 0); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x25 = XVECEXP (x12, 0, 1); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x32 = XVECEXP (x12, 0, 2); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x33 = XVECEXP (x12, 0, 3); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || XVECLEN (x15, 0) != 4) return -1; x26 = XVECEXP (x15, 0, 0); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x27 = XVECEXP (x15, 0, 1); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x34 = XVECEXP (x15, 0, 2); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x35 = XVECEXP (x15, 0, 3); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || pattern96 (x1, V4HImode, V4SImode, V8HImode) != 0) return -1; return 2; case 8: x20 = XVECEXP (x8, 0, 0); if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x21 = XVECEXP (x8, 0, 1); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x28 = XVECEXP (x8, 0, 2); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x29 = XVECEXP (x8, 0, 3); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x36 = XVECEXP (x8, 0, 4); if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x37 = XVECEXP (x8, 0, 5); if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x38 = XVECEXP (x8, 0, 6); if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x39 = XVECEXP (x8, 0, 7); if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x9, 0) != 8) return -1; x22 = XVECEXP (x9, 0, 0); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x23 = XVECEXP (x9, 0, 1); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x30 = XVECEXP (x9, 0, 2); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x31 = XVECEXP (x9, 0, 3); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x40 = XVECEXP (x9, 0, 4); if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x41 = XVECEXP (x9, 0, 5); if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x42 = XVECEXP (x9, 0, 6); if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x43 = XVECEXP (x9, 0, 7); if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x12, 0) != 8) return -1; x24 = XVECEXP (x12, 0, 0); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x25 = XVECEXP (x12, 0, 1); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x32 = XVECEXP (x12, 0, 2); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x33 = XVECEXP (x12, 0, 3); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x44 = XVECEXP (x12, 0, 4); if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x45 = XVECEXP (x12, 0, 5); if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x46 = XVECEXP (x12, 0, 6); if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x47 = XVECEXP (x12, 0, 7); if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || XVECLEN (x15, 0) != 8) return -1; x26 = XVECEXP (x15, 0, 0); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x27 = XVECEXP (x15, 0, 1); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x34 = XVECEXP (x15, 0, 2); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x35 = XVECEXP (x15, 0, 3); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x48 = XVECEXP (x15, 0, 4); if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x49 = XVECEXP (x15, 0, 5); if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x50 = XVECEXP (x15, 0, 6); if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x51 = XVECEXP (x15, 0, 7); if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || pattern96 (x1, V8QImode, V8HImode, V16QImode) != 0) return -1; return 3; default: return -1; } default: return -1; } } static int pattern98 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!nonimmediate_operand (operands[1], SImode)) return -1; return 0; case QImode: if (!nonimmediate_operand (operands[1], QImode)) return -1; return 1; case HImode: if (!nonimmediate_operand (operands[1], HImode)) return -1; return 2; default: return -1; } case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; switch (GET_MODE (operands[1])) { case QImode: if (!nonimmediate_operand (operands[1], QImode)) return -1; return 3; case HImode: if (!nonimmediate_operand (operands[1], HImode)) return -1; return 4; default: return -1; } case HImode: if (!register_operand (operands[0], HImode) || GET_MODE (x1) != HImode || !nonimmediate_operand (operands[1], QImode)) return -1; return 5; default: return -1; } } static int pattern99 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (x1)) { case SImode: if (!register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern100 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_CODE (x3) != PLUS) return -1; x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; switch (GET_MODE (x2)) { case QImode: return pattern99 (x3); /* [-1, 1] */ case HImode: res = pattern99 (x3); if (res >= 0) return res + 2; /* [2, 3] */ return -1; default: return -1; } case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; switch (GET_MODE (x2)) { case QImode: res = pattern99 (x3); if (res >= 0) return res + 4; /* [4, 5] */ return -1; case HImode: res = pattern99 (x3); if (res >= 0) return res + 6; /* [6, 7] */ return -1; case SImode: res = pattern99 (x3); if (res >= 0) return res + 8; /* [8, 9] */ return -1; default: return -1; } default: return -1; } } static int pattern101 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_MODE (x3) != DImode) return -1; x4 = XEXP (x2, 1); if (GET_CODE (x4) != i1 || GET_MODE (x4) != DImode || !muldiv_target_operand (operands[0], DImode) || GET_MODE (x1) != DImode || GET_MODE (x2) != DImode) return -1; x5 = XEXP (x3, 0); operands[1] = x5; if (!register_operand (operands[1], SImode)) return -1; x6 = XEXP (x4, 0); operands[2] = x6; if (!register_operand (operands[2], SImode)) return -1; return 0; } static int pattern102 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !symbol_ref_operand (operands[1], i1) || !symbol_ref_operand (operands[2], i1)) return -1; return 0; } static int pattern103 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); operands[1] = x2; x3 = XVECEXP (x1, 0, 1); operands[2] = x3; switch (GET_CODE (operands[2])) { case REG: case SUBREG: switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !register_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !register_operand (operands[2], DImode)) return -1; return 1; default: return -1; } case SYMBOL_REF: switch (GET_MODE (operands[0])) { case SImode: if (pattern102 (x1, SImode) != 0) return -1; return 2; case DImode: if (pattern102 (x1, DImode) != 0) return -1; return 3; default: return -1; } default: return -1; } } static int pattern104 (rtx x1, unsigned int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 2); if (GET_CODE (x2) != REG || REGNO (x2) != 183 || GET_MODE (x2) != CCDSPmode) return -1; x3 = XVECEXP (x1, 0, 3); if (GET_CODE (x3) != REG || REGNO (x3) != i1 || GET_MODE (x3) != CCDSPmode) return -1; return 0; } static int pattern105 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; switch (GET_MODE (operands[1])) { case DFmode: if (!register_operand (operands[1], DFmode)) return -1; return 0; case SFmode: if (!register_operand (operands[1], SFmode)) return -1; return 1; default: return -1; } } static int pattern106 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern107 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != i1) return -1; return pattern85 (x1); /* [-1, 1] */ } static int pattern108 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); if (GET_MODE (x3) != DImode) return -1; x4 = XEXP (x2, 1); if (GET_CODE (x4) != i1 || GET_MODE (x4) != DImode || !muldiv_target_operand (operands[0], DImode) || GET_MODE (x1) != DImode) return -1; x5 = XEXP (x1, 0); operands[3] = x5; if (!muldiv_target_operand (operands[3], DImode) || GET_MODE (x2) != DImode) return -1; x6 = XEXP (x3, 0); operands[1] = x6; if (!register_operand (operands[1], SImode)) return -1; x7 = XEXP (x4, 0); operands[2] = x7; if (!register_operand (operands[2], SImode)) return -1; return 0; } static int pattern109 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[1] = x3; x4 = XEXP (x2, 1); operands[2] = x4; switch (GET_MODE (operands[0])) { case DImode: if (!muldiv_target_operand (operands[0], DImode) || GET_MODE (x1) != DImode || GET_MODE (x2) != SImode || !register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 0; case TImode: if (!muldiv_target_operand (operands[0], TImode) || GET_MODE (x1) != TImode) return -1; switch (GET_MODE (x2)) { case SImode: if (!register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 1; case DImode: if (!register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; return 2; default: return -1; } default: return -1; } } static int pattern110 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!nonimmediate_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !move_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!nonimmediate_operand (operands[0], DImode) || GET_MODE (x1) != DImode || !move_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern111 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x1) != V2DImode || !register_operand (operands[1], V2DImode)) return -1; return 0; case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x1) != V4SImode || !register_operand (operands[1], V4SImode)) return -1; return 1; case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x1) != V8HImode || !register_operand (operands[1], V8HImode)) return -1; return 2; case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x1) != V16QImode || !register_operand (operands[1], V16QImode)) return -1; return 3; default: return -1; } } static int pattern112 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !uns_arith_operand (operands[2], i1)) return -1; return 0; } static int pattern113 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !reg_or_vector_same_val_operand (operands[2], i1)) return -1; return 0; } static int pattern114 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!memory_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !uns_arith_operand (operands[1], i1)) return -1; return 0; } static int pattern115 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[1] = x3; x4 = XEXP (x2, 1); if (!rtx_equal_p (x4, operands[0])) return -1; switch (GET_MODE (operands[0])) { case SImode: return pattern114 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern114 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern116 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode) || !reg_imm10_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !reg_imm10_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern117 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode) || !arith_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !arith_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern118 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], V2DImode) || GET_MODE (x1) != V2DImode) return -1; switch (GET_MODE (operands[1])) { case V2DImode: if (!register_operand (operands[1], V2DImode) || !reg_or_vector_same_simm5_operand (operands[2], V2DImode)) return -1; return 0; case V2DFmode: if (!register_operand (operands[1], V2DFmode) || !register_operand (operands[2], V2DFmode)) return -1; return 1; default: return -1; } } static int pattern119 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], V4SImode) || GET_MODE (x1) != V4SImode) return -1; switch (GET_MODE (operands[1])) { case V4SImode: if (!register_operand (operands[1], V4SImode) || !reg_or_vector_same_simm5_operand (operands[2], V4SImode)) return -1; return 0; case V4SFmode: if (!register_operand (operands[1], V4SFmode) || !register_operand (operands[2], V4SFmode)) return -1; return 1; default: return -1; } } static int pattern120 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i2)) return -1; x3 = XEXP (x1, 1); if (GET_MODE (x3) != i1 || !register_operand (operands[2], i2) || !scratch_operand (operands[3], i1)) return -1; return 0; } static int pattern121 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 1); if (GET_CODE (x4) != i1) return -1; x5 = XVECEXP (x1, 0, 1); if (GET_CODE (x5) != CLOBBER) return -1; x6 = XEXP (x3, 0); x7 = XEXP (x6, 0); operands[1] = x7; x8 = XEXP (x4, 0); operands[2] = x8; x9 = XEXP (x5, 0); operands[3] = x9; switch (GET_MODE (operands[0])) { case DImode: return pattern120 (x3, DImode, SImode); /* [-1, 0] */ case TImode: if (pattern120 (x3, TImode, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern122 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != SET) return -1; x2 = XEXP (x1, 1); if (GET_CODE (x2) != UNSPEC_VOLATILE || XVECLEN (x2, 0) != 1 || XINT (x2, 1) != i1) return -1; return 0; } static int pattern123 (rtx x1, unsigned int i1, unsigned int i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != CLOBBER) return -1; x3 = XEXP (x2, 0); if (GET_CODE (x3) != REG || REGNO (x3) != i2) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || REGNO (x5) != i1) return -1; return 0; } static int pattern124 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_MODE (x1) != SImode) return -1; x2 = XVECEXP (x1, 0, 2); if (GET_CODE (x2) != REG || REGNO (x2) != 182 || GET_MODE (x2) != CCDSPmode) return -1; return 0; } static int pattern125 (rtx x1, int i1, int i2, machine_mode i3, rtx_code i4) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != SET) return -1; x2 = XEXP (x1, 1); if (GET_CODE (x2) != i4 || XVECLEN (x2, 0) != i2 || XINT (x2, 1) != i1 || GET_MODE (x2) != i3) return -1; return 0; } static int pattern126 (rtx x1, unsigned int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != CCDSPmode) return -1; x3 = XEXP (x1, 0); if (GET_CODE (x3) != REG || REGNO (x3) != i1 || GET_MODE (x3) != CCDSPmode) return -1; return 0; } static int pattern127 (rtx x1, unsigned int i1, int i2, int i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (XVECLEN (x2, 0) != i3 || XINT (x2, 1) != i2 || pattern126 (x1, i1) != 0) return -1; return 0; } static int pattern128 (rtx x1, unsigned int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != CLOBBER) return -1; x2 = XEXP (x1, 0); if (GET_CODE (x2) != REG || REGNO (x2) != i1 || GET_MODE (x2) != SImode) return -1; return 0; } static int pattern129 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 2); if (GET_CODE (x2) != CLOBBER) return -1; x3 = XEXP (x2, 0); if (GET_CODE (x3) != REG || REGNO (x3) != 31 || GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 3); return pattern128 (x4, 28); /* [-1, 0] */ } static int pattern130 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !got_disp_operand (operands[2], i1)) return -1; return 0; } static int pattern131 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != i1) return -1; return pattern92 (x1); /* [-1, 1] */ } static int pattern132 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XVECEXP (x3, 0, 0); if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x5 = XVECEXP (x1, 0, 1); if (GET_CODE (x5) != CLOBBER) return -1; x6 = XEXP (x5, 0); if (GET_CODE (x6) != REG || REGNO (x6) != 3) return -1; return 0; } static int pattern133 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2)) return -1; operands[1] = x1; if (!movep_src_operand (operands[1], i2)) return -1; x2 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 0); operands[2] = x3; if (!register_operand (operands[2], i1)) return -1; x4 = XEXP (x2, 1); operands[3] = x4; if (!movep_src_operand (operands[3], i1)) return -1; return 0; } static int pattern134 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !reg_or_vector_same_ximm5_operand (operands[2], i1)) return -1; return 0; } static int pattern135 (rtx x1, unsigned int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (REGNO (x2) != i1) return -1; switch (GET_MODE (x2)) { case SImode: x3 = XEXP (x1, 1); if (GET_MODE (x3) != SImode) return -1; return 0; case DImode: x3 = XEXP (x1, 1); if (GET_MODE (x3) != DImode) return -1; return 1; default: return -1; } } static int pattern136 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i2 || !register_operand (operands[1], i1)) return -1; x5 = XEXP (x3, 1); if (GET_MODE (x5) != i2 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern137 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); x4 = XEXP (x3, 1); if (GET_CODE (x4) != i1) return -1; x5 = XEXP (x3, 0); x6 = XEXP (x5, 0); operands[1] = x6; x7 = XEXP (x4, 0); operands[2] = x7; x8 = XEXP (x2, 1); switch (XWINT (x8, 0)) { case 32L: return pattern136 (x1, SImode, DImode); /* [-1, 0] */ case 64L: if (pattern136 (x1, DImode, TImode) != 0) return -1; return 1; default: return -1; } } static int pattern138 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !const_1_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern139 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !nonimmediate_operand (operands[1], i1) || !and_operand (operands[2], i1)) return -1; return 0; } static int pattern140 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode) || !sle_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !sle_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern141 (rtx x1, machine_mode i1, unsigned int i2, int i3, int i4) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != i4 || XINT (x5, 1) != i3 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XEXP (x4, 0); if (GET_CODE (x6) != REG || REGNO (x6) != i2 || GET_MODE (x6) != CCDSPmode || !register_operand (operands[0], i1)) return -1; return 0; } static int pattern142 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; x3 = XEXP (x1, 1); operands[3] = x3; if (!register_operand (operands[3], i1)) return -1; return 0; } static int pattern143 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i1) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i1) return -1; x5 = XEXP (x4, 0); if (GET_MODE (x5) != i2 || !register_operand (operands[2], i3)) return -1; x6 = XEXP (x3, 1); if (GET_MODE (x6) != i1) return -1; x7 = XEXP (x6, 0); if (GET_MODE (x7) != i2 || !register_operand (operands[3], i3)) return -1; x8 = XEXP (x2, 1); if (GET_MODE (x8) != i1) return -1; x9 = XEXP (x8, 0); if (GET_MODE (x9) != i1) return -1; x10 = XEXP (x9, 0); if (GET_MODE (x10) != i2) return -1; x11 = XEXP (x8, 1); if (GET_MODE (x11) != i1) return -1; x12 = XEXP (x11, 0); if (GET_MODE (x12) != i2 || !register_operand (operands[1], i1)) return -1; return 0; } static int pattern144 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; rtx x26, x27, x28, x29, x30, x31, x32, x33; rtx x34, x35, x36, x37, x38, x39, x40, x41; rtx x42, x43, x44, x45, x46, x47, x48, x49; rtx x50, x51, x52; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); x5 = XEXP (x4, 0); if (GET_CODE (x5) != VEC_SELECT) return -1; x6 = XEXP (x5, 1); if (GET_CODE (x6) != PARALLEL) return -1; x7 = XEXP (x3, 1); if (GET_CODE (x7) != i1) return -1; x8 = XEXP (x7, 0); if (GET_CODE (x8) != VEC_SELECT) return -1; x9 = XEXP (x8, 1); if (GET_CODE (x9) != PARALLEL) return -1; x10 = XEXP (x2, 1); x11 = XEXP (x10, 0); if (GET_CODE (x11) != i1) return -1; x12 = XEXP (x11, 0); if (GET_CODE (x12) != VEC_SELECT) return -1; x13 = XEXP (x12, 1); if (GET_CODE (x13) != PARALLEL) return -1; x14 = XEXP (x10, 1); if (GET_CODE (x14) != i1) return -1; x15 = XEXP (x14, 0); if (GET_CODE (x15) != VEC_SELECT) return -1; x16 = XEXP (x15, 1); if (GET_CODE (x16) != PARALLEL) return -1; x17 = XEXP (x5, 0); operands[2] = x17; x18 = XEXP (x8, 0); operands[3] = x18; x19 = XEXP (x12, 0); if (!rtx_equal_p (x19, operands[2])) return -1; x20 = XEXP (x15, 0); if (!rtx_equal_p (x20, operands[3])) return -1; switch (XVECLEN (x6, 0)) { case 2: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x9, 0) != 2) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x13, 0) != 2) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || XVECLEN (x16, 0) != 2) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || pattern143 (x1, V2DImode, V2SImode, V4SImode) != 0) return -1; return 0; case 4: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x29 = XVECEXP (x6, 0, 2); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x30 = XVECEXP (x6, 0, 3); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x9, 0) != 4) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x31 = XVECEXP (x9, 0, 2); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x32 = XVECEXP (x9, 0, 3); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x13, 0) != 4) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x33 = XVECEXP (x13, 0, 2); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x34 = XVECEXP (x13, 0, 3); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || XVECLEN (x16, 0) != 4) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x35 = XVECEXP (x16, 0, 2); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x36 = XVECEXP (x16, 0, 3); if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || pattern143 (x1, V4SImode, V4HImode, V8HImode) != 0) return -1; return 1; case 8: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x29 = XVECEXP (x6, 0, 2); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x30 = XVECEXP (x6, 0, 3); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x37 = XVECEXP (x6, 0, 4); if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x38 = XVECEXP (x6, 0, 5); if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x39 = XVECEXP (x6, 0, 6); if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x40 = XVECEXP (x6, 0, 7); if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x9, 0) != 8) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x31 = XVECEXP (x9, 0, 2); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x32 = XVECEXP (x9, 0, 3); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x41 = XVECEXP (x9, 0, 4); if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x42 = XVECEXP (x9, 0, 5); if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x43 = XVECEXP (x9, 0, 6); if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x44 = XVECEXP (x9, 0, 7); if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x13, 0) != 8) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x33 = XVECEXP (x13, 0, 2); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x34 = XVECEXP (x13, 0, 3); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x45 = XVECEXP (x13, 0, 4); if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x46 = XVECEXP (x13, 0, 5); if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x47 = XVECEXP (x13, 0, 6); if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x48 = XVECEXP (x13, 0, 7); if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || XVECLEN (x16, 0) != 8) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x35 = XVECEXP (x16, 0, 2); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x36 = XVECEXP (x16, 0, 3); if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x49 = XVECEXP (x16, 0, 4); if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x50 = XVECEXP (x16, 0, 5); if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x51 = XVECEXP (x16, 0, 6); if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x52 = XVECEXP (x16, 0, 7); if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || pattern143 (x1, V8HImode, V8QImode, V16QImode) != 0) return -1; return 2; default: return -1; } } static int pattern145 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (GET_MODE (x1) != SImode) return -1; switch (GET_MODE (operands[1])) { case DFmode: if (!register_operand (operands[1], DFmode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; case V2SFmode: if (!register_operand (operands[1], V2SFmode)) return -1; return 2; case V2SImode: if (!register_operand (operands[1], V2SImode)) return -1; return 3; case V4HImode: if (!register_operand (operands[1], V4HImode)) return -1; return 4; case V8QImode: if (!register_operand (operands[1], V8QImode)) return -1; return 5; default: return -1; } } static int pattern146 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !general_operand (operands[1], i2) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern147 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !reg_or_0_operand (operands[1], i2) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern148 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i2) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern149 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !const_1_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern150 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !const_1_operand (operands[1], i1)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern151 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1)) return -1; x3 = XEXP (x1, 1); if (GET_MODE (x3) != i1 || !reg_or_vector_same_val_operand (operands[2], i1)) return -1; return 0; } static int pattern152 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern153 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !const_int_operand (operands[2], i1) || !const_int_operand (operands[3], i1)) return -1; return 0; } static int pattern154 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i1 || !register_operand (operands[2], i1)) return -1; x4 = XEXP (x1, 1); if (GET_MODE (x4) != i1) return -1; return 0; } static int pattern155 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (x1)) { case SImode: if (!register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern156 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); return pattern155 (x2); /* [-1, 1] */ } static int pattern157 () { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[2])) { case SImode: if (!register_operand (operands[2], SImode) || !reg_or_0_operand (operands[3], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[2], DImode) || !reg_or_0_operand (operands[3], DImode)) return -1; return 1; default: return -1; } } static int pattern158 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (GET_CODE (x2)) { case LABEL_REF: x3 = XEXP (x1, 2); if (GET_CODE (x3) != PC) return -1; x4 = XEXP (x2, 0); operands[0] = x4; return pattern157 (); /* [-1, 1] */ case PC: x3 = XEXP (x1, 2); if (GET_CODE (x3) != LABEL_REF) return -1; x5 = XEXP (x3, 0); operands[0] = x5; res = pattern157 (); if (res >= 0) return res + 2; /* [2, 3] */ return -1; default: return -1; } } static int pattern159 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !reg_or_0_operand (operands[2], i1) || !reg_or_0_operand (operands[3], i1)) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern160 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != CONST_INT) return -1; x3 = XVECEXP (x1, 0, 1); if (GET_CODE (x3) != CONST_INT) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CONST_INT) return -1; x5 = XVECEXP (x1, 0, 3); if (GET_CODE (x5) != CONST_INT) return -1; x6 = XVECEXP (x1, 0, 4); if (GET_CODE (x6) != CONST_INT) return -1; x7 = XVECEXP (x1, 0, 5); if (GET_CODE (x7) != CONST_INT) return -1; x8 = XVECEXP (x1, 0, 6); if (GET_CODE (x8) != CONST_INT) return -1; x9 = XVECEXP (x1, 0, 7); if (GET_CODE (x9) != CONST_INT) return -1; return 0; } static int pattern161 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i3) || GET_MODE (x1) != i3 || pattern36 (x1, i1, i2) != 0) return -1; return 0; } static int pattern162 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 0); if (GET_MODE (x4) != DImode) return -1; x5 = XEXP (x3, 1); if (GET_CODE (x5) != i1 || GET_MODE (x5) != DImode) return -1; x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != CLOBBER || !register_operand (operands[0], DImode) || GET_MODE (x3) != DImode) return -1; x7 = XEXP (x4, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return -1; x8 = XEXP (x5, 0); operands[2] = x8; if (!register_operand (operands[2], SImode)) return -1; x9 = XEXP (x6, 0); operands[3] = x9; if (!scratch_operand (operands[3], TImode)) return -1; x10 = XVECEXP (x1, 0, 2); x11 = XEXP (x10, 0); operands[4] = x11; return 0; } static int pattern163 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (XVECLEN (x1, 0) != 1 || XINT (x1, 1) != 61 || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != PLUS || GET_MODE (x2) != i1) return -1; return 0; } static int pattern164 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!d_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != SImode || !const_int_operand (operands[1], SImode)) return -1; return 0; } static int pattern165 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern166 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 0); switch (GET_MODE (x2)) { case HImode: if (!register_operand (operands[1], V8HImode) || !const_uimm3_operand (operands[2], VOIDmode)) return -1; return 0; case QImode: if (!register_operand (operands[1], V16QImode) || !const_uimm4_operand (operands[2], VOIDmode)) return -1; return 1; default: return -1; } } static int pattern167 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i2)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i2) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i2) return -1; x5 = XEXP (x4, 0); if (GET_MODE (x5) != i1 || !register_operand (operands[2], i3)) return -1; x6 = XEXP (x3, 1); if (GET_MODE (x6) != i2) return -1; x7 = XEXP (x6, 0); if (GET_MODE (x7) != i1 || !register_operand (operands[3], i3)) return -1; x8 = XEXP (x2, 1); if (GET_MODE (x8) != i2) return -1; x9 = XEXP (x8, 0); if (GET_MODE (x9) != i2) return -1; x10 = XEXP (x9, 0); if (GET_MODE (x10) != i1) return -1; x11 = XEXP (x8, 1); if (GET_MODE (x11) != i2) return -1; x12 = XEXP (x11, 0); if (GET_MODE (x12) != i1) return -1; return 0; } static int pattern168 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; rtx x26, x27, x28, x29, x30, x31, x32, x33; rtx x34, x35, x36, x37, x38, x39, x40, x41; rtx x42, x43, x44, x45, x46, x47, x48, x49; rtx x50, x51, x52; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); x5 = XEXP (x4, 0); if (GET_CODE (x5) != VEC_SELECT) return -1; x6 = XEXP (x5, 1); if (GET_CODE (x6) != PARALLEL) return -1; x7 = XEXP (x3, 1); if (GET_CODE (x7) != i1) return -1; x8 = XEXP (x7, 0); if (GET_CODE (x8) != VEC_SELECT) return -1; x9 = XEXP (x8, 1); if (GET_CODE (x9) != PARALLEL) return -1; x10 = XEXP (x2, 1); x11 = XEXP (x10, 0); if (GET_CODE (x11) != i1) return -1; x12 = XEXP (x11, 0); if (GET_CODE (x12) != VEC_SELECT) return -1; x13 = XEXP (x12, 1); if (GET_CODE (x13) != PARALLEL) return -1; x14 = XEXP (x10, 1); if (GET_CODE (x14) != i1) return -1; x15 = XEXP (x14, 0); if (GET_CODE (x15) != VEC_SELECT) return -1; x16 = XEXP (x15, 1); if (GET_CODE (x16) != PARALLEL) return -1; x17 = XEXP (x5, 0); operands[2] = x17; x18 = XEXP (x8, 0); operands[3] = x18; x19 = XEXP (x12, 0); if (!rtx_equal_p (x19, operands[2])) return -1; x20 = XEXP (x15, 0); if (!rtx_equal_p (x20, operands[3])) return -1; switch (XVECLEN (x6, 0)) { case 2: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x9, 0) != 2) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2] || XVECLEN (x13, 0) != 2) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || XVECLEN (x16, 0) != 2) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3] || pattern167 (x1, V2SImode, V2DImode, V4SImode) != 0) return -1; return 0; case 4: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x29 = XVECEXP (x6, 0, 2); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x30 = XVECEXP (x6, 0, 3); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x9, 0) != 4) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x31 = XVECEXP (x9, 0, 2); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x32 = XVECEXP (x9, 0, 3); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6] || XVECLEN (x13, 0) != 4) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x33 = XVECEXP (x13, 0, 2); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x34 = XVECEXP (x13, 0, 3); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || XVECLEN (x16, 0) != 4) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x35 = XVECEXP (x16, 0, 2); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x36 = XVECEXP (x16, 0, 3); if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 7] || pattern167 (x1, V4HImode, V4SImode, V8HImode) != 0) return -1; return 1; case 8: x21 = XVECEXP (x6, 0, 0); if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x22 = XVECEXP (x6, 0, 1); if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x29 = XVECEXP (x6, 0, 2); if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x30 = XVECEXP (x6, 0, 3); if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x37 = XVECEXP (x6, 0, 4); if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x38 = XVECEXP (x6, 0, 5); if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x39 = XVECEXP (x6, 0, 6); if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x40 = XVECEXP (x6, 0, 7); if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x9, 0) != 8) return -1; x23 = XVECEXP (x9, 0, 0); if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x24 = XVECEXP (x9, 0, 1); if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 2]) return -1; x31 = XVECEXP (x9, 0, 2); if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x32 = XVECEXP (x9, 0, 3); if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6]) return -1; x41 = XVECEXP (x9, 0, 4); if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 8]) return -1; x42 = XVECEXP (x9, 0, 5); if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 10]) return -1; x43 = XVECEXP (x9, 0, 6); if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 12]) return -1; x44 = XVECEXP (x9, 0, 7); if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 14] || XVECLEN (x13, 0) != 8) return -1; x25 = XVECEXP (x13, 0, 0); if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x26 = XVECEXP (x13, 0, 1); if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x33 = XVECEXP (x13, 0, 2); if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x34 = XVECEXP (x13, 0, 3); if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x45 = XVECEXP (x13, 0, 4); if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x46 = XVECEXP (x13, 0, 5); if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x47 = XVECEXP (x13, 0, 6); if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x48 = XVECEXP (x13, 0, 7); if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || XVECLEN (x16, 0) != 8) return -1; x27 = XVECEXP (x16, 0, 0); if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x28 = XVECEXP (x16, 0, 1); if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 3]) return -1; x35 = XVECEXP (x16, 0, 2); if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5]) return -1; x36 = XVECEXP (x16, 0, 3); if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 7]) return -1; x49 = XVECEXP (x16, 0, 4); if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 9]) return -1; x50 = XVECEXP (x16, 0, 5); if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 11]) return -1; x51 = XVECEXP (x16, 0, 6); if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 13]) return -1; x52 = XVECEXP (x16, 0, 7); if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 15] || pattern167 (x1, V8QImode, V8HImode, V16QImode) != 0) return -1; return 2; default: return -1; } } static int pattern169 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern170 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern171 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!cprestore_save_slot_operand (operands[0], i1) || GET_MODE (x1) != i1 || !const_int_operand (operands[1], i1)) return -1; x2 = XVECEXP (x1, 0, 1); if (GET_MODE (x2) != i1) return -1; return 0; } static int pattern172 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i2) || !register_operand (operands[2], i2) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern173 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_0_or_1_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern174 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_0_to_3_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern175 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case QImode: if (!register_operand (operands[0], QImode) || GET_MODE (x1) != QImode) return -1; return 0; case HImode: if (!register_operand (operands[0], HImode) || GET_MODE (x1) != HImode) return -1; return 1; case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode) return -1; return 2; default: return -1; } } static int pattern176 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern177 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; x2 = XEXP (x1, 2); if (GET_MODE (x2) != i1 || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern178 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern179 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; x3 = XEXP (x1, 2); if (GET_MODE (x3) != i1 || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern180 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!memory_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !arith_operand (operands[1], i1)) return -1; return 0; } static int pattern181 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!memory_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[1], i1)) return -1; return 0; } static int pattern182 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 2); if (GET_CODE (x3) != PC) return -1; x4 = XEXP (x1, 0); if (GET_CODE (x4) != PC) return -1; x5 = XEXP (x2, 1); x6 = XEXP (x5, 0); operands[0] = x6; switch (GET_MODE (operands[1])) { case CCV4mode: if (!register_operand (operands[1], CCV4mode)) return -1; return 0; case CCV2mode: if (!register_operand (operands[1], CCV2mode)) return -1; return 1; default: return -1; } } static int pattern183 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2 || !reg_or_0_operand (operands[1], i1)) return -1; return 0; } static int pattern184 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2 || !register_operand (operands[1], i1) || !const_0_or_1_operand (operands[2], VOIDmode)) return -1; return 0; } static int pattern185 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2 || !register_operand (operands[1], i1) || !const_0_to_3_operand (operands[2], VOIDmode)) return -1; return 0; } static int pattern186 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern187 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 1); if (GET_CODE (x3) != UNSPEC || XVECLEN (x3, 0) != 2 || XINT (x3, 1) != i1 || GET_MODE (x3) != CCDSPmode) return -1; x4 = XEXP (x2, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 185 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x3, 0, 0); if (!rtx_equal_p (x5, operands[1])) return -1; x6 = XVECEXP (x3, 0, 1); if (!rtx_equal_p (x6, operands[2])) return -1; switch (GET_MODE (operands[0])) { case SImode: x7 = XVECEXP (x1, 0, 0); x8 = XEXP (x7, 1); return pattern186 (x8, SImode); /* [-1, 0] */ case V2HImode: if (!register_operand (operands[0], V2HImode)) return -1; x7 = XVECEXP (x1, 0, 0); x8 = XEXP (x7, 1); if (GET_MODE (x8) != V2HImode || !register_operand (operands[1], V2HImode) || !register_operand (operands[2], V2HImode)) return -1; return 1; case V4QImode: x7 = XVECEXP (x1, 0, 0); x8 = XEXP (x7, 1); if (pattern186 (x8, V4QImode) != 0) return -1; return 2; default: return -1; } } static int pattern188 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; x2 = XVECEXP (x1, 0, 0); if (!rtx_equal_p (x2, operands[1])) return -1; x3 = XVECEXP (x1, 0, 1); if (!rtx_equal_p (x3, operands[2])) return -1; return 0; } static int pattern189 (rtx x1, int i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i2) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XEXP (x4, 0); if (GET_CODE (x6) != REG || REGNO (x6) != 185 || GET_MODE (x6) != CCDSPmode || !register_operand (operands[0], i2) || pattern188 (x5, i3) != 0) return -1; return 0; } static int pattern190 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[1], i1) || !register_operand (operands[2], i2)) return -1; x2 = XVECEXP (x1, 0, 0); if (!rtx_equal_p (x2, operands[1])) return -1; x3 = XVECEXP (x1, 0, 1); if (!rtx_equal_p (x3, operands[2])) return -1; return 0; } static int pattern191 (rtx x1, int *pnum_clobbers, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (pnum_clobbers == NULL) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != V2HImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XEXP (x4, 0); if (GET_CODE (x6) != REG || REGNO (x6) != 185 || GET_MODE (x6) != CCDSPmode || !register_operand (operands[0], V2HImode) || pattern190 (x5, V4QImode, V2HImode) != 0) return -1; return 0; } static int pattern192 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], SImode) || !register_operand (operands[1], DImode) || !arith_operand (operands[2], SImode)) return -1; x2 = XVECEXP (x1, 0, 0); if (!rtx_equal_p (x2, operands[1])) return -1; x3 = XVECEXP (x1, 0, 1); if (!rtx_equal_p (x3, operands[2])) return -1; return 0; } static int pattern193 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XEXP (x4, 0); if (GET_CODE (x6) != REG || REGNO (x6) != 185 || GET_MODE (x6) != CCDSPmode || pattern192 (x5) != 0) return -1; return 0; } static int pattern194 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!reg_or_0_operand (operands[1], i1) || !reg_or_0_operand (operands[2], i1)) return -1; x2 = XVECEXP (x1, 0, 0); if (!rtx_equal_p (x2, operands[1])) return -1; x3 = XVECEXP (x1, 0, 1); if (!rtx_equal_p (x3, operands[2])) return -1; return 0; } static int pattern195 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != V2HImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XEXP (x4, 0); if (GET_CODE (x6) != REG || REGNO (x6) != 185 || GET_MODE (x6) != CCDSPmode || !register_operand (operands[0], V2HImode) || pattern194 (x5, V2HImode) != 0) return -1; return 0; } static int pattern196 (rtx x1, machine_mode i1, unsigned int i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_CODE (x2) != REG || REGNO (x2) != i2 || GET_MODE (x2) != CCDSPmode || !register_operand (operands[0], SImode)) return -1; x3 = XEXP (x1, 1); return pattern194 (x3, i1); /* [-1, 0] */ } static int pattern197 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 3 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode) return -1; x6 = XVECEXP (x5, 0, 2); if (GET_CODE (x6) != REG || REGNO (x6) != 186 || GET_MODE (x6) != CCDSPmode || pattern196 (x4, V4QImode, 186) != 0) return -1; return 0; } static int pattern198 (rtx x1, int *pnum_clobbers, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (pnum_clobbers == NULL) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != i1 || GET_MODE (x5) != CCDSPmode || pattern196 (x4, SImode, 185) != 0) return -1; return 0; } static int pattern199 (machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!memory_operand (operands[0], i1) || !register_operand (operands[1], i1) || !memory_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern200 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != i1 || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return 0; } static int pattern201 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; switch (GET_MODE (x1)) { case SImode: if (!register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern202 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); switch (GET_MODE (x2)) { case SImode: x3 = XEXP (x2, 0); if (GET_MODE (x3) != SImode || !register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; return 0; case DImode: x3 = XEXP (x2, 0); if (GET_MODE (x3) != DImode || !register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; return 1; default: return -1; } } static int pattern203 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i1) || !const_0_or_1_operand (operands[2], VOIDmode)) return -1; return 0; } static int pattern204 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i2) || GET_MODE (x1) != i2 || !register_operand (operands[1], i1) || !const_0_to_3_operand (operands[2], VOIDmode)) return -1; return 0; } static int pattern205 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!cprestore_save_slot_operand (operands[0], i1) || GET_MODE (x1) != i1 || !const_int_operand (operands[1], i1) || !register_operand (operands[2], i1) || !scratch_operand (operands[3], i1)) return -1; return 0; } static int pattern206 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 0); operands[3] = x3; switch (GET_MODE (operands[0])) { case SImode: x4 = XVECEXP (x1, 0, 0); x5 = XEXP (x4, 1); return pattern205 (x5, SImode); /* [-1, 0] */ case DImode: x4 = XVECEXP (x1, 0, 0); x5 = XEXP (x4, 1); if (pattern205 (x5, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern207 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 0); operands[0] = x3; x4 = XVECEXP (x1, 0, 0); x5 = XEXP (x4, 0); switch (GET_MODE (x5)) { case SImode: x6 = XEXP (x4, 1); if (GET_MODE (x6) != SImode || !scratch_operand (operands[0], SImode)) return -1; return 0; case DImode: x6 = XEXP (x4, 1); if (GET_MODE (x6) != DImode || !scratch_operand (operands[0], DImode)) return -1; return 1; default: return -1; } } static int pattern208 (rtx x1, int i1, int i2, rtx_code i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (GET_CODE (x1) != SET) return -1; x2 = XEXP (x1, 1); if (GET_CODE (x2) != i3 || XVECLEN (x2, 0) != i2 || XINT (x2, 1) != i1) return -1; return 0; } static int pattern209 (machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !non_volatile_mem_operand (operands[1], i1) || !register_operand (operands[2], i1) || !non_volatile_mem_operand (operands[3], i1)) return -1; return 0; } static int pattern210 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !reg_or_0_operand (operands[2], i1) || !reg_or_0_operand (operands[3], i1)) return -1; x2 = XEXP (x1, 0); switch (GET_MODE (x2)) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; default: return -1; } } static int pattern211 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern212 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !scratch_operand (operands[3], i1)) return -1; return 0; } static int pattern213 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i2) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i2 || !register_operand (operands[1], i1)) return -1; x5 = XEXP (x3, 1); if (GET_MODE (x5) != i2 || !register_operand (operands[2], i1) || !scratch_operand (operands[3], i1)) return -1; return 0; } static int pattern214 (rtx x1, rtx_code i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); x4 = XEXP (x3, 1); if (GET_CODE (x4) != i1) return -1; x5 = XEXP (x3, 0); x6 = XEXP (x5, 0); operands[1] = x6; x7 = XEXP (x4, 0); operands[2] = x7; x8 = XEXP (x2, 1); switch (XWINT (x8, 0)) { case 32L: return pattern213 (x1, SImode, DImode); /* [-1, 0] */ case 64L: if (pattern213 (x1, DImode, TImode) != 0) return -1; return 1; default: return -1; } } static int pattern215 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 0); if (GET_MODE (x5) != SImode) return -1; return 0; case DImode: if (!register_operand (operands[0], DImode)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != DImode) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 0); if (GET_MODE (x5) != DImode) return -1; return 1; default: return -1; } } static int pattern216 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!call_insn_operand (operands[1], VOIDmode)) return -1; x2 = XEXP (x1, 0); operands[3] = x2; if (!register_operand (operands[3], VOIDmode)) return -1; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); x5 = XEXP (x4, 0); if (!rtx_equal_p (x5, operands[1])) return -1; x6 = XEXP (x3, 1); if (!rtx_equal_p (x6, operands[2])) return -1; return 0; } static int pattern217 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_CODE (x2) != CALL) return -1; x3 = XEXP (x2, 0); if (GET_CODE (x3) != MEM || GET_MODE (x3) != SImode || pattern216 (x1) != 0) return -1; return 0; } static int pattern218 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 0); if (GET_CODE (x3) != REG || REGNO (x3) != 31 || GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 2); x5 = XEXP (x4, 0); if (REGNO (x5) != 28) return -1; return 0; } static int pattern219 () { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[2])) { case SImode: if (!register_operand (operands[2], SImode) || !movep_src_operand (operands[3], SImode)) return -1; return 0; case SFmode: if (!register_operand (operands[2], SFmode) || !movep_src_operand (operands[3], SFmode)) return -1; return 1; default: return -1; } } static int pattern220 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], VOIDmode)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 0); x5 = XEXP (x4, 0); operands[1] = x5; x6 = XEXP (x3, 1); operands[2] = x6; x7 = XVECEXP (x1, 0, 1); switch (GET_CODE (x7)) { case CONST_INT: if (XWINT (x7, 0) != 1L || !const_call_insn_operand (operands[1], VOIDmode)) return -1; return 0; case SET: if (pattern217 (x7) != 0) return -1; return 1; default: return -1; } } static int pattern221 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[2], i1) || !reg_or_vector_same_val_operand (operands[3], i1)) return -1; x3 = XEXP (x1, 1); if (GET_MODE (x3) != i1) return -1; x4 = XEXP (x3, 0); if (GET_MODE (x4) != i1 || !register_operand (operands[1], i1)) return -1; return 0; } static int pattern222 () { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode)) return -1; return 0; case DImode: if (!register_operand (operands[1], DImode)) return -1; return 1; case CCmode: if (!register_operand (operands[1], CCmode)) return -1; return 2; default: return -1; } } static int pattern223 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !equality_operator (operands[4], VOIDmode) || !reg_or_0_operand (operands[2], i1) || !reg_or_0_operand (operands[3], i1)) return -1; return pattern222 (); /* [-1, 2] */ } static int pattern224 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1 || !equality_operator (operands[4], VOIDmode) || !register_operand (operands[2], i1) || !register_operand (operands[3], i1)) return -1; return pattern222 (); /* [-1, 2] */ } static int pattern225 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_exp_2_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern226 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2 || !register_operand (operands[1], i1) || !register_operand (operands[2], i1) || !const_exp_4_operand (operands[3], VOIDmode)) return -1; return 0; } static int pattern227 (rtx x1, machine_mode i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != i1) return -1; x3 = XEXP (x2, 0); if (GET_MODE (x3) != i2 || !register_operand (operands[1], i1)) return -1; return 0; } static int pattern228 (machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!nonimmediate_operand (operands[0], i1) || !nonimmediate_operand (operands[1], i1) || !nonimmediate_operand (operands[2], i1) || !nonimmediate_operand (operands[3], i1)) return -1; return 0; } static int pattern229 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || GET_MODE (x1) != i1) return -1; x2 = XEXP (x1, 0); if (GET_MODE (x2) != CCFmode || !register_operand (operands[1], CCFmode) || !reg_or_0_operand (operands[2], i1) || !reg_or_0_operand (operands[3], i1)) return -1; return 0; } static int pattern230 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !uns_arith_operand (operands[2], i1)) return -1; return 0; } static int pattern231 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[2] = x3; x4 = XEXP (x2, 1); if (!rtx_equal_p (x4, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: return pattern230 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern230 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern232 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1 || !uns_arith_operand (operands[2], i1)) return -1; return 0; } static int pattern233 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); operands[2] = x2; switch (GET_MODE (operands[0])) { case SImode: return pattern232 (x1, SImode); /* [-1, 0] */ case DImode: if (pattern232 (x1, DImode) != 0) return -1; return 1; default: return -1; } } static int pattern234 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 1); x5 = XEXP (x4, 0); operands[2] = x5; if (!register_operand (operands[2], SImode)) return -1; x6 = XEXP (x4, 1); operands[3] = x6; if (!register_operand (operands[3], SImode)) return -1; x7 = XVECEXP (x1, 0, 1); x8 = XEXP (x7, 0); operands[4] = x8; if (!scratch_operand (operands[4], SImode)) return -1; x9 = XVECEXP (x1, 0, 2); x10 = XEXP (x9, 0); operands[5] = x10; if (!scratch_operand (operands[5], SImode)) return -1; return 0; } static int pattern235 (rtx x1, int i1, int i2, unsigned int i3, machine_mode i4) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i4) return -1; x4 = XVECEXP (x3, 0, 2); if (GET_CODE (x4) != REG || REGNO (x4) != i3 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x1, 0, 1); x6 = XEXP (x5, 1); if (XVECLEN (x6, 0) != i2 || XINT (x6, 1) != i1) return -1; return 0; } static int pattern236 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XVECEXP (x3, 0, 2); operands[3] = x4; if (!register_operand (operands[3], i1)) return -1; x5 = XVECEXP (x1, 0, 1); x6 = XEXP (x5, 1); x7 = XVECEXP (x6, 0, 0); if (!rtx_equal_p (x7, operands[1])) return -1; x8 = XVECEXP (x6, 0, 1); if (!rtx_equal_p (x8, operands[2])) return -1; x9 = XVECEXP (x6, 0, 2); if (!rtx_equal_p (x9, operands[3])) return -1; return 0; } static int pattern237 (rtx x1, int i1, machine_mode i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != DImode) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (XVECLEN (x5, 0) != 3 || XINT (x5, 1) != i1) return -1; x6 = XEXP (x4, 0); if (REGNO (x6) != 185 || !register_operand (operands[0], DImode) || !register_operand (operands[1], DImode) || !register_operand (operands[2], i2) || pattern236 (x1, i2) != 0) return -1; return 0; } static int pattern238 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != DImode) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (XVECLEN (x5, 0) != 3 || XINT (x5, 1) != i1) return -1; x6 = XEXP (x4, 0); if (REGNO (x6) != 185 || !register_operand (operands[0], DImode) || !register_operand (operands[1], DImode) || !reg_or_0_operand (operands[2], V2HImode)) return -1; x7 = XVECEXP (x3, 0, 2); operands[3] = x7; if (!reg_or_0_operand (operands[3], V2HImode)) return -1; x8 = XVECEXP (x5, 0, 0); if (!rtx_equal_p (x8, operands[1])) return -1; x9 = XVECEXP (x5, 0, 1); if (!rtx_equal_p (x9, operands[2])) return -1; x10 = XVECEXP (x5, 0, 2); if (!rtx_equal_p (x10, operands[3])) return -1; return 0; } static int pattern239 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1 || !arith_operand (operands[2], i1)) return -1; return 0; } static int pattern240 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1 || !reg_or_0_operand (operands[2], i1) || !arith_operand (operands[3], i1)) return -1; return 0; } static int pattern241 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !mem_noofs_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern242 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !arith_operand (operands[2], i1)) return -1; return 0; } static int pattern243 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1) || !memory_operand (operands[1], i1) || GET_MODE (x1) != i1) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_MODE (x2) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern244 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 1); x4 = XVECEXP (x3, 0, 0); if (!rtx_equal_p (x4, operands[1])) return -1; x5 = XVECEXP (x3, 0, 1); if (!rtx_equal_p (x5, operands[2])) return -1; switch (GET_MODE (operands[0])) { case HQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); return pattern88 (x7, HQmode); /* [-1, 0] */ case SQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, SQmode) != 0) return -1; return 1; case HAmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, HAmode) != 0) return -1; return 2; case SAmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, SAmode) != 0) return -1; return 3; case V2HQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, V2HQmode) != 0) return -1; return 4; case V2HAmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, V2HAmode) != 0) return -1; return 5; default: return -1; } } static int pattern245 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 1); x4 = XVECEXP (x3, 0, 0); if (!rtx_equal_p (x4, operands[1])) return -1; x5 = XVECEXP (x3, 0, 1); if (!rtx_equal_p (x5, operands[2])) return -1; switch (GET_MODE (operands[0])) { case V2HQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); return pattern88 (x7, V2HQmode); /* [-1, 0] */ case HQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, HQmode) != 0) return -1; return 1; case SQmode: x6 = XVECEXP (x1, 0, 0); x7 = XEXP (x6, 1); if (pattern88 (x7, SQmode) != 0) return -1; return 2; default: return -1; } } static int pattern246 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !call_insn_operand (operands[0], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 0); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x1, 0, 2); x7 = XEXP (x6, 0); if (GET_MODE (x7) != i1) return -1; return 0; } static int pattern247 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !memory_operand (operands[1], i1) || !register_operand (operands[2], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x5, 0, 0); if (GET_MODE (x6) != i1) return -1; return 0; } static int pattern248 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x1) != SImode || !register_operand (operands[1], SImode)) return -1; return 0; case V2HImode: if (!register_operand (operands[0], V2HImode) || GET_MODE (x1) != V2HImode || !register_operand (operands[1], V2HImode)) return -1; return 1; default: return -1; } } static int pattern249 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !mem_noofs_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x5, 0, 0); if (GET_MODE (x6) != i1 || !register_operand (operands[2], i1)) return -1; return 0; } static int pattern250 (rtx x1, int i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 1); x3 = XEXP (x2, 1); if (XVECLEN (x3, 0) != 3 || XINT (x3, 1) != i1 || !register_operand (operands[0], DQmode)) return -1; x4 = XVECEXP (x1, 0, 0); x5 = XEXP (x4, 1); if (GET_MODE (x5) != DQmode) return -1; return 0; } static int pattern251 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!arith_operand (operands[2], i1)) return -1; x2 = XEXP (x1, 1); x3 = XVECEXP (x2, 0, 0); x4 = XEXP (x3, 0); if (!rtx_equal_p (x4, operands[1])) return -1; x5 = XEXP (x3, 1); if (!rtx_equal_p (x5, operands[2])) return -1; x6 = XEXP (x1, 0); if (!rtx_equal_p (x6, operands[1])) return -1; return 0; } static int pattern252 (rtx x1, machine_mode i1, unsigned int i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (REGNO (x2) != i2 || !register_operand (operands[0], i1)) return -1; x3 = XEXP (x1, 1); return pattern190 (x3, i1, SImode); /* [-1, 0] */ } static int pattern253 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; switch (GET_CODE (x1)) { case PLUS: if (GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 1); operands[4] = x2; if (!reg_or_0_operand (operands[4], SImode)) return -1; x3 = XEXP (x1, 0); if (!rtx_equal_p (x3, operands[0])) return -1; return 0; case MINUS: if (GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 1); operands[4] = x2; if (!reg_or_0_operand (operands[4], SImode)) return -1; x3 = XEXP (x1, 0); if (!rtx_equal_p (x3, operands[0])) return -1; return 1; case IOR: if (GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 1); operands[4] = x2; if (!reg_or_0_operand (operands[4], SImode)) return -1; x3 = XEXP (x1, 0); if (!rtx_equal_p (x3, operands[0])) return -1; return 2; case XOR: if (GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 1); operands[4] = x2; if (!reg_or_0_operand (operands[4], SImode)) return -1; x3 = XEXP (x1, 0); if (!rtx_equal_p (x3, operands[0])) return -1; return 3; case AND: if (GET_MODE (x1) != SImode) return -1; x2 = XEXP (x1, 1); operands[4] = x2; if (!reg_or_0_operand (operands[4], SImode)) return -1; x3 = XEXP (x1, 0); if (!rtx_equal_p (x3, operands[0])) return -1; return 4; case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[4] = x1; if (!reg_or_0_operand (operands[4], SImode)) return -1; return 5; default: return -1; } } static int pattern254 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !memory_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1 || !arith_operand (operands[2], i1)) return -1; x6 = XVECEXP (x1, 0, 2); if (GET_MODE (x6) != i1) return -1; return 0; } static int pattern255 (rtx x1, int i1, machine_mode i2, machine_mode i3) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i2) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (XINT (x5, 1) != i1 || !register_operand (operands[0], i2) || !register_operand (operands[1], i3) || !register_operand (operands[2], V2HImode)) return -1; return 0; } static int pattern256 (rtx x1, machine_mode i1, int i2) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (XINT (x5, 1) != i2 || !register_operand (operands[0], i1) || !reg_or_0_operand (operands[1], i1) || !reg_or_0_operand (operands[2], i1)) return -1; return 0; } static int pattern257 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !memory_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x5, 0, 0); if (GET_MODE (x6) != i1 || !arith_operand (operands[2], i1)) return -1; x7 = XVECEXP (x1, 0, 2); if (GET_MODE (x7) != i1) return -1; return 0; } static int pattern258 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 2); if (XWINT (x2, 0) != 5L) return -1; x3 = XVECEXP (x1, 0, 3); if (XWINT (x3, 0) != 7L) return -1; x4 = XVECEXP (x1, 0, 4); if (XWINT (x4, 0) != 9L) return -1; x5 = XVECEXP (x1, 0, 5); if (XWINT (x5, 0) != 11L) return -1; x6 = XVECEXP (x1, 0, 6); if (XWINT (x6, 0) != 13L) return -1; return 0; } static int pattern259 (rtx x1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XVECEXP (x3, 0, 3); if (GET_MODE (x4) != SImode) return -1; x5 = XEXP (x4, 1); operands[4] = x5; if (!reg_or_0_operand (operands[4], SImode)) return -1; x6 = XEXP (x4, 0); if (!rtx_equal_p (x6, operands[0])) return -1; x7 = XVECEXP (x1, 0, 1); x8 = XEXP (x7, 1); x9 = XVECEXP (x8, 0, 3); if (!rtx_equal_p (x9, operands[4])) return -1; return 0; } static int pattern260 (rtx x1, machine_mode i1) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; if (!register_operand (operands[0], i1)) return -1; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (GET_MODE (x3) != i1 || !memory_operand (operands[2], i1) || !reg_or_0_operand (operands[3], i1) || !register_operand (operands[1], i1)) return -1; x4 = XVECEXP (x1, 0, 1); x5 = XEXP (x4, 1); if (GET_MODE (x5) != i1) return -1; x6 = XVECEXP (x1, 0, 2); x7 = XEXP (x6, 1); if (GET_MODE (x7) != i1 || !arith_operand (operands[4], i1)) return -1; x8 = XVECEXP (x1, 0, 3); if (GET_MODE (x8) != i1) return -1; return 0; } static int recog_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); if (GET_CODE (x4) != PLUS || GET_MODE (x4) != SImode || !register_operand (operands[0], SImode) || GET_MODE (x2) != SImode || GET_MODE (x3) != QImode) return -1; x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], SImode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], SImode)) return -1; switch (XINT (x3, 1)) { case 3: if (! #line 1434 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BADDU && BYTES_BIG_ENDIAN)) return -1; return 19; /* *baddu_si_eb */ case 0: if (! #line 1444 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BADDU && !BYTES_BIG_ENDIAN)) return -1; return 20; /* *baddu_si_el */ default: return -1; } } static int recog_2 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2; int res ATTRIBUTE_UNUSED; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != DImode) return -1; switch (GET_MODE (operands[1])) { case SImode: if (!nonimmediate_operand (operands[1], SImode)) return -1; if ( #line 3496 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !ISA_HAS_EXT_INS)) return 211; /* *zero_extendsidi2 */ if (! #line 3512 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && ISA_HAS_EXT_INS)) return -1; return 212; /* *zero_extendsidi2_dext */ case QImode: if (nonimmediate_operand (operands[1], QImode) && ( #line 3552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 214; /* *zero_extendqidi2 */ if (register_operand (operands[1], QImode) && ( #line 3564 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 218; /* *zero_extendqidi2_mips16e */ if (!memory_operand (operands[1], QImode) || !( #line 3573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 222; /* *zero_extendqidi2_mips16 */ case HImode: if (nonimmediate_operand (operands[1], HImode) && ( #line 3552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 216; /* *zero_extendhidi2 */ if (register_operand (operands[1], HImode) && ( #line 3564 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 220; /* *zero_extendhidi2_mips16e */ if (!memory_operand (operands[1], HImode) || !( #line 3573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 224; /* *zero_extendhidi2_mips16 */ default: return -1; } case SImode: if (!register_operand (operands[0], SImode)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != SImode) return -1; switch (GET_MODE (operands[1])) { case QImode: if (nonimmediate_operand (operands[1], QImode) && #line 3552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 213; /* *zero_extendqisi2 */ if (register_operand (operands[1], QImode) && #line 3564 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E)) return 217; /* *zero_extendqisi2_mips16e */ if (!memory_operand (operands[1], QImode) || ! #line 3573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 221; /* *zero_extendqisi2_mips16 */ case HImode: if (nonimmediate_operand (operands[1], HImode) && #line 3552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 215; /* *zero_extendhisi2 */ if (register_operand (operands[1], HImode) && #line 3564 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E)) return 219; /* *zero_extendhisi2_mips16e */ if (!memory_operand (operands[1], HImode) || ! #line 3573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 223; /* *zero_extendhisi2_mips16 */ default: return -1; } case HImode: if (!register_operand (operands[0], HImode)) return -1; x2 = XEXP (x1, 1); if (GET_MODE (x2) != HImode) return -1; if (nonimmediate_operand (operands[1], QImode) && #line 3594 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 225; /* *zero_extendqihi2 */ if (!memory_operand (operands[1], QImode) || ! #line 3604 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 226; /* *zero_extendqihi2_mips16 */ default: return -1; } } static int recog_3 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != CCV2mode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], CCV2mode)) return -1; x4 = XVECEXP (x2, 0, 0); switch (GET_CODE (x4)) { case UNORDERED: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 810; /* sunordered_ps */ case UNEQ: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 811; /* suneq_ps */ case UNLT: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 812; /* sunlt_ps */ case UNLE: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 813; /* sunle_ps */ case EQ: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 814; /* seq_ps */ case LT: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 815; /* slt_ps */ case LE: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 816; /* sle_ps */ case ORDERED: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || !( #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 982 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF))) return -1; return 817; /* sordered_ps */ case LTGT: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || !( #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 983 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF))) return -1; return 818; /* sltgt_ps */ case NE: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || !( #line 558 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 984 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF))) return -1; return 819; /* sne_ps */ case GE: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 820; /* sge_ps */ case GT: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 821; /* sgt_ps */ case UNGE: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 822; /* sunge_ps */ case UNGT: x5 = XEXP (x4, 0); operands[1] = x5; if (!register_operand (operands[1], V2SFmode)) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], V2SFmode) || ! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 823; /* sungt_ps */ default: return -1; } } static int recog_4 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XVECEXP (x2, 0, 0); switch (GET_CODE (x3)) { case CONST_INT: if (XWINT (x3, 0) != 0L) return -1; if (pnum_clobbers != NULL) { x4 = XEXP (x1, 0); operands[0] = x4; switch (pattern40 (x2)) { case 0: if (( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) { *pnum_clobbers = 1; return 701; /* tls_get_tp_si */ } break; case 1: if (( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) { *pnum_clobbers = 1; return 702; /* tls_get_tp_di */ } break; default: break; } } x4 = XEXP (x1, 0); if (GET_CODE (x4) != REG) return -1; switch (pattern135 (x1, 3)) { case 0: if (!( #line 7444 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 703; /* *tls_get_tp_si_split */ case 1: if (!( #line 7444 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 704; /* *tls_get_tp_di_split */ default: return -1; } case CONST: case REG: case SUBREG: case LABEL_REF: case SYMBOL_REF: if (pnum_clobbers == NULL) return -1; operands[1] = x3; x4 = XEXP (x1, 0); operands[0] = x4; switch (GET_MODE (operands[0])) { case SImode: if (register_operand (operands[0], SImode) && GET_MODE (x2) == SImode && call_insn_operand (operands[1], SImode) && ( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) { *pnum_clobbers = 3; return 705; /* tls_get_tp_mips16_si */ } break; case DImode: if (register_operand (operands[0], DImode) && GET_MODE (x2) == DImode && call_insn_operand (operands[1], DImode) && ( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) { *pnum_clobbers = 3; return 706; /* tls_get_tp_mips16_di */ } break; default: break; } operands[0] = x3; if (GET_CODE (x4) != REG || REGNO (x4) != 3) return -1; switch (GET_MODE (x4)) { case SImode: if (GET_MODE (x2) != SImode || !call_insn_operand (operands[0], SImode) || !( #line 7494 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; *pnum_clobbers = 2; return 707; /* *tls_get_tp_mips16_call_si */ case DImode: if (GET_MODE (x2) != DImode || !call_insn_operand (operands[0], DImode) || !( #line 7494 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 2; return 708; /* *tls_get_tp_mips16_call_di */ default: return -1; } default: return -1; } } static int recog_5 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 380; /* load_lowdf */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 864 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 381; /* load_lowdi */ case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x3) != V2SFmode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 382; /* load_lowv2sf */ case V2SImode: if (!register_operand (operands[0], V2SImode) || GET_MODE (x3) != V2SImode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 866 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 383; /* load_lowv2si */ case V4HImode: if (!register_operand (operands[0], V4HImode) || GET_MODE (x3) != V4HImode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 867 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 384; /* load_lowv4hi */ case V8QImode: if (!register_operand (operands[0], V8QImode) || GET_MODE (x3) != V8QImode || !general_operand (operands[1], SImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 868 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 385; /* load_lowv8qi */ case TFmode: if (!register_operand (operands[0], TFmode) || GET_MODE (x3) != TFmode || !general_operand (operands[1], DImode) || !( #line 5299 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 869 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_FLOAT64))) return -1; return 386; /* load_lowtf */ default: return -1; } } static int recog_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); switch (GET_CODE (x4)) { case MULT: if (GET_MODE (x4) != DImode || !muldiv_target_operand (operands[0], TImode) || GET_MODE (x3) != TImode) return -1; x5 = XEXP (x4, 0); if (GET_MODE (x5) != DImode) return -1; x6 = XEXP (x4, 1); if (GET_MODE (x6) != DImode) return -1; switch (GET_CODE (x5)) { case SIGN_EXTEND: if (GET_CODE (x6) != SIGN_EXTEND) return -1; x7 = XEXP (x5, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return -1; x8 = XEXP (x6, 0); operands[2] = x8; if (!register_operand (operands[2], SImode) || ! #line 2196 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000)) return -1; return 57; /* mulsidi3_64bit_hilo */ case ZERO_EXTEND: if (GET_CODE (x6) != ZERO_EXTEND) return -1; x7 = XEXP (x5, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return -1; x8 = XEXP (x6, 0); operands[2] = x8; if (!register_operand (operands[2], SImode) || ! #line 2196 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000)) return -1; return 58; /* umulsidi3_64bit_hilo */ default: return -1; } case DIV: switch (pattern109 (x3)) { case 0: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT))) return -1; return 143; /* divmodsi4_hilo_di */ case 1: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 145; /* divmodsi4_hilo_ti */ case 2: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 147; /* divmoddi4_hilo_ti */ default: return -1; } case UDIV: switch (pattern109 (x3)) { case 0: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT))) return -1; return 144; /* udivmodsi4_hilo_di */ case 1: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 146; /* udivmodsi4_hilo_ti */ case 2: if (!( #line 3002 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 148; /* udivmoddi4_hilo_ti */ default: return -1; } default: return -1; } } static int recog_7 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode)) return -1; switch (pattern145 (x3)) { case 0: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 408; /* mfhc1df */ case 1: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 864 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 409; /* mfhc1di */ case 2: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 410; /* mfhc1v2sf */ case 3: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 866 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 411; /* mfhc1v2si */ case 4: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 867 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 412; /* mfhc1v4hi */ case 5: if (!( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 868 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 413; /* mfhc1v8qi */ default: return -1; } case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], TFmode) || !( #line 5354 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 869 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_FLOAT64))) return -1; return 414; /* mfhc1tf */ default: return -1; } } static int recog_8 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XVECEXP (x2, 0, 0); if (GET_CODE (x3) != TRUNCATE) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x5 = XEXP (x3, 0); operands[1] = x5; if (!reg_or_0_operand (operands[1], DImode)) return -1; switch (GET_MODE (operands[0])) { case V4HImode: if (!register_operand (operands[0], V4HImode) || GET_MODE (x2) != V4HImode || GET_MODE (x3) != HImode || ! #line 138 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1061; /* loongson_vec_init1_v4hi */ case V8QImode: if (!register_operand (operands[0], V8QImode) || GET_MODE (x2) != V8QImode || GET_MODE (x3) != QImode || ! #line 138 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1062; /* loongson_vec_init1_v8qi */ default: return -1; } } static int recog_9 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode)) return -1; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !register_operand (operands[1], V2DFmode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1646; /* msa_splat_d_f */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !register_operand (operands[1], V4SFmode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1647; /* msa_splat_w_f */ case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DImode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1648; /* msa_splat_d */ case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SImode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1649; /* msa_splat_w */ case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x3) != V8HImode || !register_operand (operands[1], V8HImode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1650; /* msa_splat_h */ case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x3) != V16QImode || !register_operand (operands[1], V16QImode) || ! #line 2601 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1651; /* msa_splat_b */ default: return -1; } } static int recog_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case DFmode: if (pattern147 (x3, DFmode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 401; /* mthc1df */ case DImode: if (pattern147 (x3, DImode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 864 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 402; /* mthc1di */ case V2SFmode: if (pattern147 (x3, V2SFmode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 403; /* mthc1v2sf */ case V2SImode: if (pattern147 (x3, V2SImode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 866 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 404; /* mthc1v2si */ case V4HImode: if (pattern147 (x3, V4HImode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 867 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 405; /* mthc1v4hi */ case V8QImode: if (pattern147 (x3, V8QImode, SImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 868 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 406; /* mthc1v8qi */ case TFmode: if (pattern147 (x3, TFmode, DImode) != 0 || !( #line 5344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_MXHC1) && #line 869 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_FLOAT64))) return -1; return 407; /* mthc1tf */ default: return -1; } } static int recog_11 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case DFmode: if (pattern146 (x3, DFmode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 387; /* load_highdf */ case DImode: if (pattern146 (x3, DImode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 864 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 388; /* load_highdi */ case V2SFmode: if (pattern146 (x3, V2SFmode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 389; /* load_highv2sf */ case V2SImode: if (pattern146 (x3, V2SImode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 866 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 390; /* load_highv2si */ case V4HImode: if (pattern146 (x3, V4HImode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 867 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 391; /* load_highv4hi */ case V8QImode: if (pattern146 (x3, V8QImode, SImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 868 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 392; /* load_highv8qi */ case TFmode: if (pattern146 (x3, TFmode, DImode) != 0 || !( #line 5314 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 869 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_FLOAT64))) return -1; return 393; /* load_hightf */ default: return -1; } } static int recog_12 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; if (!const_int_operand (operands[2], VOIDmode)) return -1; switch (GET_MODE (operands[0])) { case SImode: if (!nonimmediate_operand (operands[0], SImode)) return -1; switch (pattern145 (x3)) { case 0: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 394; /* store_worddf */ case 1: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 864 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_DOUBLE_FLOAT))) return -1; return 395; /* store_worddi */ case 2: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 396; /* store_wordv2sf */ case 3: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 866 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 397; /* store_wordv2si */ case 4: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 867 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 398; /* store_wordv4hi */ case 5: if (!( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 868 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_LOONGSON_VECTORS))) return -1; return 399; /* store_wordv8qi */ default: return -1; } case DImode: if (!nonimmediate_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], TFmode) || !( #line 5329 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 869 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_FLOAT64))) return -1; return 400; /* store_wordtf */ default: return -1; } } static int recog_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !reg_or_0_operand (operands[1], SImode) || !register_operand (operands[2], SImode) || ! #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT)) return -1; return 377; /* mthisi_di */ case TImode: if (!register_operand (operands[0], TImode) || GET_MODE (x3) != TImode) return -1; if (reg_or_0_operand (operands[1], SImode) && register_operand (operands[2], SImode) && #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return 378; /* mthisi_ti */ if (!reg_or_0_operand (operands[1], DImode) || !register_operand (operands[2], DImode) || ! #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 379; /* mthidi_ti */ default: return -1; } } static int recog_14 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; if (!arith_operand (operands[2], SImode)) return -1; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !register_operand (operands[1], SImode) || ! #line 463 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 878; /* mips_shra_r_w */ case V2HImode: if (!register_operand (operands[0], V2HImode) || GET_MODE (x3) != V2HImode || !register_operand (operands[1], V2HImode) || ! #line 463 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 879; /* mips_shra_r_ph */ default: return -1; } } static int recog_15 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != BLKmode) return -1; x3 = XEXP (x1, 0); if (GET_CODE (x3) != MEM || GET_MODE (x3) != BLKmode) return -1; x4 = XEXP (x3, 0); if (GET_CODE (x4) != SCRATCH) return -1; x5 = XVECEXP (x2, 0, 0); operands[0] = x5; if (!const_int_operand (operands[0], SImode)) return -1; x6 = XVECEXP (x2, 0, 1); operands[1] = x6; if (!address_operand (operands[1], QImode) || ! #line 5553 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CACHE)) return -1; return 436; /* mips_cache */ } static int recog_16 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XVECEXP (x2, 0, 1); if (GET_CODE (x3) != REG || REGNO (x3) != 28) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x5 = XVECEXP (x2, 0, 0); operands[1] = x5; switch (GET_MODE (operands[0])) { case SImode: if (pattern171 (x2, SImode) != 0 || !( #line 5476 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CPRESTORE_DIRECTIVE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 426; /* cprestore_si */ case DImode: if (pattern171 (x2, DImode) != 0 || !( #line 5476 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CPRESTORE_DIRECTIVE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 427; /* cprestore_di */ default: return -1; } } static int recog_17 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); if (GET_MODE (x2) != BLKmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!memory_operand (operands[0], BLKmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!memory_operand (operands[2], QImode)) return -1; if (reg_or_0_operand (operands[1], SImode) && #line 4363 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (SImode, operands[0]))) return 282; /* mov_swl */ if (!reg_or_0_operand (operands[1], DImode) || !( #line 4363 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (DImode, operands[0])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 283; /* mov_sdl */ } static int recog_18 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; if (!const_msa_branch_operand (operands[2], VOIDmode)) return -1; switch (pattern111 (x3)) { case 0: if (! #line 1158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1356; /* msa_bnegi_d */ case 1: if (! #line 1158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1357; /* msa_bnegi_w */ case 2: if (! #line 1158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1358; /* msa_bnegi_h */ case 3: if (! #line 1158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1359; /* msa_bnegi_b */ default: return -1; } } static int recog_19 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1630; /* msa_subsus_u_d */ case 1: if (! #line 2569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1631; /* msa_subsus_u_w */ case 2: if (! #line 2569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1632; /* msa_subsus_u_h */ case 3: if (! #line 2569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1633; /* msa_subsus_u_b */ default: return -1; } } static int recog_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2559 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1626; /* msa_subsuu_s_d */ case 1: if (! #line 2559 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1627; /* msa_subsuu_s_w */ case 2: if (! #line 2559 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1628; /* msa_subsuu_s_h */ case 3: if (! #line 2559 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1629; /* msa_subsuu_s_b */ default: return -1; } } static int recog_21 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2549 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1622; /* msa_subs_u_d */ case 1: if (! #line 2549 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1623; /* msa_subs_u_w */ case 2: if (! #line 2549 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1624; /* msa_subs_u_h */ case 3: if (! #line 2549 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1625; /* msa_subs_u_b */ default: return -1; } } static int recog_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2539 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1618; /* msa_subs_s_d */ case 1: if (! #line 2539 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1619; /* msa_subs_s_w */ case 2: if (! #line 2539 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1620; /* msa_subs_s_h */ case 3: if (! #line 2539 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1621; /* msa_subs_s_b */ default: return -1; } } static int recog_23 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 2529 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1614; /* msa_srlri_d */ case 1: if (! #line 2529 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1615; /* msa_srlri_w */ case 2: if (! #line 2529 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1616; /* msa_srlri_h */ case 3: if (! #line 2529 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1617; /* msa_srlri_b */ default: return -1; } } static int recog_24 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2519 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1610; /* msa_srlr_d */ case 1: if (! #line 2519 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1611; /* msa_srlr_w */ case 2: if (! #line 2519 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1612; /* msa_srlr_h */ case 3: if (! #line 2519 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1613; /* msa_srlr_b */ default: return -1; } } static int recog_25 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 2509 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1606; /* msa_srari_d */ case 1: if (! #line 2509 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1607; /* msa_srari_w */ case 2: if (! #line 2509 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1608; /* msa_srari_h */ case 3: if (! #line 2509 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1609; /* msa_srari_b */ default: return -1; } } static int recog_26 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 2499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1602; /* msa_srar_d */ case 1: if (! #line 2499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1603; /* msa_srar_w */ case 2: if (! #line 2499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1604; /* msa_srar_h */ case 3: if (! #line 2499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1605; /* msa_srar_b */ default: return -1; } } static int recog_27 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 2469 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1594; /* msa_sat_u_d */ case 1: if (! #line 2469 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1595; /* msa_sat_u_w */ case 2: if (! #line 2469 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1596; /* msa_sat_u_h */ case 3: if (! #line 2469 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1597; /* msa_sat_u_b */ default: return -1; } } static int recog_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 2459 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1590; /* msa_sat_s_d */ case 1: if (! #line 2459 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1591; /* msa_sat_s_w */ case 2: if (! #line 2459 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1592; /* msa_sat_s_h */ case 3: if (! #line 2459 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1593; /* msa_sat_s_b */ default: return -1; } } static int recog_29 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V8HImode: if (pattern62 (x3, V4SFmode, V8HImode) != 0 || ! #line 1805 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1496; /* msa_ftq_h */ case V4SImode: if (pattern62 (x3, V2DFmode, V4SImode) != 0 || ! #line 1816 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1497; /* msa_ftq_w */ default: return -1; } } static int recog_30 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x5 = XVECEXP (x3, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern148 (x3, V2DImode, V2DFmode) != 0 || ! #line 1592 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1456; /* msa_fexp2_d */ case V4SFmode: if (pattern148 (x3, V4SImode, V4SFmode) != 0 || ! #line 1592 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1457; /* msa_fexp2_w */ default: return -1; } } static int recog_31 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 1192 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1368; /* msa_bseti_d */ case 1: if (! #line 1192 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1369; /* msa_bseti_w */ case 2: if (! #line 1192 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1370; /* msa_bseti_h */ case 3: if (! #line 1192 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1371; /* msa_bseti_b */ default: return -1; } } static int recog_32 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 1182 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1364; /* msa_bset_d */ case 1: if (! #line 1182 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1365; /* msa_bset_w */ case 2: if (! #line 1182 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1366; /* msa_bset_h */ case 3: if (! #line 1182 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1367; /* msa_bset_b */ default: return -1; } } static int recog_33 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 1148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1352; /* msa_bneg_d */ case 1: if (! #line 1148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1353; /* msa_bneg_w */ case 2: if (! #line 1148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1354; /* msa_bneg_h */ case 3: if (! #line 1148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1355; /* msa_bneg_b */ default: return -1; } } static int recog_34 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern61 (x1)) { case 0: if (! #line 1067 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1324; /* msa_bclri_d */ case 1: if (! #line 1067 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1325; /* msa_bclri_w */ case 2: if (! #line 1067 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1326; /* msa_bclri_h */ case 3: if (! #line 1067 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1327; /* msa_bclri_b */ default: return -1; } } static int recog_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 1057 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1320; /* msa_bclr_d */ case 1: if (! #line 1057 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1321; /* msa_bclr_w */ case 2: if (! #line 1057 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1322; /* msa_bclr_h */ case 3: if (! #line 1057 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1323; /* msa_bclr_b */ default: return -1; } } static int recog_36 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern60 (x1)) { case 0: if (! #line 1047 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1316; /* msa_aver_u_d */ case 1: if (! #line 1047 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1317; /* msa_aver_u_w */ case 2: if (! #line 1047 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1318; /* msa_aver_u_h */ case 3: if (! #line 1047 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1319; /* msa_aver_u_b */ default: return -1; } } static int recog_37 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (XINT (x2, 1)) { case 0: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!memory_operand (operands[1], BLKmode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!memory_operand (operands[2], QImode)) return -1; switch (pattern40 (x2)) { case 0: if (! #line 4342 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (SImode, operands[1]))) return -1; return 278; /* mov_lwl */ case 1: if (!( #line 4342 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (DImode, operands[1])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 279; /* mov_ldl */ default: return -1; } case 2: return recog_17 (x1, insn, pnum_clobbers); case 28: switch (pattern49 (x1)) { case 0: if (! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 298; /* load_gotsi */ case 1: if (! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 299; /* load_gotdi */ default: return -1; } case 15: return recog_13 (x1, insn, pnum_clobbers); case 8: return recog_11 (x1, insn, pnum_clobbers); case 9: return recog_12 (x1, insn, pnum_clobbers); case 11: return recog_10 (x1, insn, pnum_clobbers); case 17: x3 = XEXP (x1, 0); operands[0] = x3; switch (pattern103 (x2)) { case 0: if (!( #line 5372 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_NEWABI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 415; /* loadgp_newabi_si */ case 1: if (!( #line 5372 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_NEWABI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 416; /* loadgp_newabi_di */ case 2: if (!( #line 5415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_RTP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 420; /* loadgp_rtp_si */ case 3: if (!( #line 5415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_RTP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 421; /* loadgp_rtp_di */ default: return -1; } case 21: return recog_16 (x1, insn, pnum_clobbers); case 42: return recog_15 (x1, insn, pnum_clobbers); case 74: if (pattern50 (x1, V2SFmode) != 0 || ! #line 369 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 799; /* mips_addr_ps */ case 77: if (pattern50 (x1, V2SFmode) != 0 || ! #line 412 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 802; /* mips_mulr_ps */ case 80: switch (pattern52 (x1)) { case 0: if (!( #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 833; /* mips_rsqrt2_s */ case 1: if (!( #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 834; /* mips_rsqrt2_d */ case 2: if (!( #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 835; /* mips_rsqrt2_ps */ default: return -1; } case 82: switch (pattern52 (x1)) { case 0: if (!( #line 710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 839; /* mips_recip2_s */ case 1: if (!( #line 710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 840; /* mips_recip2_d */ case 2: if (!( #line 710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 841; /* mips_recip2_ps */ default: return -1; } case 91: if (pattern53 (x1, SImode) != 0 || ! #line 208 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 854; /* mips_modsub */ case 94: if (pattern54 (x1, V2HImode, V4QImode) != 0 || ! #line 241 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 858; /* mips_precrq_qb_ph */ case 95: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode) || ! #line 251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 859; /* mips_precrq_ph_w */ case 110: if (pattern55 (x1, V4QImode) != 0 || ! #line 426 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 876; /* mips_shrl_qb */ case 111: if (pattern55 (x1, V2HImode) != 0 || ! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 877; /* mips_shra_ph */ case 112: return recog_14 (x1, insn, pnum_clobbers); case 138: if (pattern54 (x1, V4QImode, SImode) != 0 || ! #line 831 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 908; /* mips_cmpgu_eq_qb */ case 139: if (pattern54 (x1, V4QImode, SImode) != 0 || ! #line 841 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 909; /* mips_cmpgu_lt_qb */ case 140: if (pattern54 (x1, V4QImode, SImode) != 0 || ! #line 851 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 910; /* mips_cmpgu_le_qb */ case 142: if (pattern50 (x1, V2HImode) != 0 || ! #line 874 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 913; /* mips_packrl_ph */ case 149: if (pattern55 (x1, DImode) != 0 || ! #line 1014 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 920; /* mips_shilo */ case 156: if (pattern56 (x1, V4QImode) != 0 || ! #line 112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 952; /* mips_adduh_qb */ case 157: if (pattern56 (x1, V4QImode) != 0 || ! #line 122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 953; /* mips_adduh_r_qb */ case 177: if (GET_MODE (x2) != V4QImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V4QImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!reg_or_0_operand (operands[1], V2HImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!reg_or_0_operand (operands[2], V2HImode) || ! #line 304 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 967; /* mips_precr_qb_ph */ case 181: if (pattern57 (x1, V4QImode) != 0 || ! #line 359 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 971; /* mips_shra_qb */ case 182: if (pattern57 (x1, V4QImode) != 0 || ! #line 378 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 972; /* mips_shra_r_qb */ case 183: if (pattern57 (x1, V2HImode) != 0 || ! #line 396 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 973; /* mips_shrl_ph */ case 186: if (pattern56 (x1, V4QImode) != 0 || ! #line 438 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 976; /* mips_subuh_qb */ case 187: if (pattern56 (x1, V4QImode) != 0 || ! #line 448 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 977; /* mips_subuh_r_qb */ case 188: if (pattern56 (x1, V2HImode) != 0 || ! #line 458 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 978; /* mips_addqh_ph */ case 189: if (pattern56 (x1, V2HImode) != 0 || ! #line 468 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 979; /* mips_addqh_r_ph */ case 190: if (pattern56 (x1, SImode) != 0 || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 980; /* mips_addqh_w */ case 191: if (pattern56 (x1, SImode) != 0 || ! #line 488 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 981; /* mips_addqh_r_w */ case 192: if (pattern56 (x1, V2HImode) != 0 || ! #line 498 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 982; /* mips_subqh_ph */ case 193: if (pattern56 (x1, V2HImode) != 0 || ! #line 508 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 983; /* mips_subqh_r_ph */ case 194: if (pattern56 (x1, SImode) != 0 || ! #line 518 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 984; /* mips_subqh_w */ case 195: if (pattern56 (x1, SImode) != 0 || ! #line 528 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 985; /* mips_subqh_r_w */ case 219: if (pattern50 (x1, DImode) != 0 || ! #line 199 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1070; /* loongson_paddd */ case 202: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V4HImode: if (pattern51 (x2, V4HImode) != 0 || ! #line 282 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1094; /* loongson_pavgh */ case V8QImode: if (pattern51 (x2, V8QImode) != 0 || ! #line 282 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1095; /* loongson_pavgb */ default: return -1; } case 203: switch (pattern58 (x1)) { case 0: if (! #line 292 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1096; /* loongson_pcmpeqw */ case 1: if (! #line 292 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1097; /* loongson_pcmpeqh */ case 2: if (! #line 292 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1098; /* loongson_pcmpeqb */ default: return -1; } case 204: switch (pattern58 (x1)) { case 0: if (! #line 302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1099; /* loongson_pcmpgtw */ case 1: if (! #line 302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1100; /* loongson_pcmpgth */ case 2: if (! #line 302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1101; /* loongson_pcmpgtb */ default: return -1; } case 205: if (pattern53 (x1, V4HImode) != 0 || ! #line 312 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1102; /* loongson_pextrh */ case 208: if (pattern54 (x1, V4HImode, V2SImode) != 0 || ! #line 394 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1108; /* loongson_pmaddhw */ case 210: if (pattern50 (x1, V4HImode) != 0 || ! #line 484 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1114; /* umulv4hi3_highpart */ case 211: if (pattern50 (x1, V4HImode) != 0 || ! #line 494 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1115; /* smulv4hi3_highpart */ case 212: if (pattern54 (x1, V2SImode, DImode) != 0 || ! #line 513 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1117; /* loongson_pmuluw */ case 213: if (pattern50 (x1, V8QImode) != 0 || ! #line 523 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1118; /* loongson_pasubub */ case 215: if (pattern54 (x1, V8QImode, V4HImode) != 0 || ! #line 550 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1121; /* loongson_psadbh */ case 216: if (pattern53 (x1, V4HImode) != 0 || ! #line 560 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1122; /* loongson_pshufh */ case 220: if (pattern50 (x1, DImode) != 0 || ! #line 609 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1132; /* loongson_psubd */ case 221: switch (pattern59 (x1)) { case 0: if (! #line 842 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1149; /* vec_shl_v2si */ case 1: if (! #line 842 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1150; /* vec_shl_v4hi */ case 2: if (! #line 842 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1151; /* vec_shl_v8qi */ case 3: if (! #line 842 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1152; /* vec_shl_di */ default: return -1; } case 222: switch (pattern59 (x1)) { case 0: if (! #line 851 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1153; /* vec_shr_v2si */ case 1: if (! #line 851 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1154; /* vec_shr_v4hi */ case 2: if (! #line 851 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1155; /* vec_shr_v8qi */ case 3: if (! #line 851 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1156; /* vec_shr_di */ default: return -1; } case 223: switch (pattern60 (x1)) { case 0: if (! #line 997 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1296; /* msa_asub_s_d */ case 1: if (! #line 997 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1297; /* msa_asub_s_w */ case 2: if (! #line 997 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1298; /* msa_asub_s_h */ case 3: if (! #line 997 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1299; /* msa_asub_s_b */ default: return -1; } case 224: switch (pattern60 (x1)) { case 0: if (! #line 1007 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1300; /* msa_asub_u_d */ case 1: if (! #line 1007 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1301; /* msa_asub_u_w */ case 2: if (! #line 1007 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1302; /* msa_asub_u_h */ case 3: if (! #line 1007 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1303; /* msa_asub_u_b */ default: return -1; } case 225: switch (pattern60 (x1)) { case 0: if (! #line 1017 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1304; /* msa_ave_s_d */ case 1: if (! #line 1017 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1305; /* msa_ave_s_w */ case 2: if (! #line 1017 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1306; /* msa_ave_s_h */ case 3: if (! #line 1017 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1307; /* msa_ave_s_b */ default: return -1; } case 226: switch (pattern60 (x1)) { case 0: if (! #line 1027 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1308; /* msa_ave_u_d */ case 1: if (! #line 1027 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1309; /* msa_ave_u_w */ case 2: if (! #line 1027 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1310; /* msa_ave_u_h */ case 3: if (! #line 1027 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1311; /* msa_ave_u_b */ default: return -1; } case 227: switch (pattern60 (x1)) { case 0: if (! #line 1037 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1312; /* msa_aver_s_d */ case 1: if (! #line 1037 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1313; /* msa_aver_s_w */ case 2: if (! #line 1037 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1314; /* msa_aver_s_h */ case 3: if (! #line 1037 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1315; /* msa_aver_s_b */ default: return -1; } case 228: return recog_36 (x1, insn, pnum_clobbers); case 229: return recog_35 (x1, insn, pnum_clobbers); case 230: return recog_34 (x1, insn, pnum_clobbers); case 235: return recog_33 (x1, insn, pnum_clobbers); case 236: return recog_18 (x1, insn, pnum_clobbers); case 237: return recog_32 (x1, insn, pnum_clobbers); case 238: return recog_31 (x1, insn, pnum_clobbers); case 243: switch (pattern63 (x1)) { case 0: if (! #line 1522 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1412; /* msa_fcaf_d */ case 1: if (! #line 1522 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1413; /* msa_fcaf_w */ default: return -1; } case 245: switch (pattern63 (x1)) { case 0: if (! #line 1532 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1414; /* msa_fcune_d */ case 1: if (! #line 1532 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1415; /* msa_fcune_w */ default: return -1; } case 256: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1434; /* msa_fsaf_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1445; /* msa_fsaf_w */ default: return -1; } case 265: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1435; /* msa_fsun_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1446; /* msa_fsun_w */ default: return -1; } case 261: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1436; /* msa_fsor_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1447; /* msa_fsor_w */ default: return -1; } case 257: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1437; /* msa_fseq_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1448; /* msa_fseq_w */ default: return -1; } case 260: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1438; /* msa_fsne_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1449; /* msa_fsne_w */ default: return -1; } case 262: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1439; /* msa_fsueq_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1450; /* msa_fsueq_w */ default: return -1; } case 266: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1440; /* msa_fsune_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1451; /* msa_fsune_w */ default: return -1; } case 263: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1441; /* msa_fsule_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1452; /* msa_fsule_w */ default: return -1; } case 264: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1442; /* msa_fsult_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1453; /* msa_fsult_w */ default: return -1; } case 258: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1443; /* msa_fsle_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1454; /* msa_fsle_w */ default: return -1; } case 259: switch (pattern63 (x1)) { case 0: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1444; /* msa_fslt_d */ case 1: if (! #line 1582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1455; /* msa_fslt_w */ default: return -1; } case 247: return recog_30 (x1, insn, pnum_clobbers); case 269: return recog_29 (x1, insn, pnum_clobbers); case 274: switch (pattern64 (x1)) { case 0: if (! #line 2283 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1562; /* msa_mul_q_w */ case 1: if (! #line 2283 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1563; /* msa_mul_q_h */ default: return -1; } case 275: switch (pattern64 (x1)) { case 0: if (! #line 2293 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1564; /* msa_mulr_q_w */ case 1: if (! #line 2293 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1565; /* msa_mulr_q_h */ default: return -1; } case 277: return recog_28 (x1, insn, pnum_clobbers); case 278: return recog_27 (x1, insn, pnum_clobbers); case 283: return recog_26 (x1, insn, pnum_clobbers); case 284: return recog_25 (x1, insn, pnum_clobbers); case 285: return recog_24 (x1, insn, pnum_clobbers); case 286: return recog_23 (x1, insn, pnum_clobbers); case 287: return recog_22 (x1, insn, pnum_clobbers); case 288: return recog_21 (x1, insn, pnum_clobbers); case 289: return recog_20 (x1, insn, pnum_clobbers); case 290: return recog_19 (x1, insn, pnum_clobbers); case 281: return recog_9 (x1, insn, pnum_clobbers); case 246: if (pattern54 (x1, V4SFmode, V8HImode) != 0 || ! #line 2649 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1662; /* msa_fexdo_h */ default: return -1; } } static int recog_38 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (XINT (x2, 1)) { case 16: return recog_6 (x1, insn, pnum_clobbers); case 31: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: if (!d_operand (operands[0], SImode) || GET_MODE (x2) != SImode || !symbolic_operand_with_high (operands[1], SImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 288; /* *unshifted_high */ case DImode: if (!d_operand (operands[0], DImode) || GET_MODE (x2) != DImode || !symbolic_operand_with_high (operands[1], DImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 289; /* *unshifted_high */ default: return -1; } case 14: switch (pattern41 (x1)) { case 0: switch (GET_MODE (operands[1])) { case DImode: if (!hilo_operand (operands[1], DImode) || ! #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT)) return -1; return 374; /* mfhisi_di */ case TImode: if (!hilo_operand (operands[1], TImode) || ! #line 803 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 375; /* mfhisi_ti */ default: return -1; } case 1: if (!hilo_operand (operands[1], TImode) || ! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 376; /* mfhidi_ti */ default: return -1; } case 7: return recog_5 (x1, insn, pnum_clobbers); case 10: return recog_7 (x1, insn, pnum_clobbers); case 17: switch (pattern41 (x1)) { case 0: if (!( #line 5389 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_ABSOLUTE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 417; /* loadgp_absolute_si */ case 1: if (!( #line 5389 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_ABSOLUTE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 418; /* loadgp_absolute_di */ default: return -1; } case 18: switch (pattern43 (x1)) { case 0: if (!( #line 5436 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 422; /* copygp_mips16_si */ case 1: if (!( #line 5436 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 423; /* copygp_mips16_di */ default: return -1; } case 43: if (GET_MODE (x2) != BLKmode) return -1; x4 = XVECEXP (x2, 0, 0); if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x3 = XEXP (x1, 0); if (GET_CODE (x3) != MEM || GET_MODE (x3) != BLKmode) return -1; x5 = XEXP (x3, 0); if (GET_CODE (x5) != SCRATCH || ! #line 5563 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CACHE)) return -1; return 437; /* r10k_cache_barrier */ case 4: if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode) || ! #line 5811 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_WSBH)) return -1; return 461; /* wsbh */ case 5: if (GET_MODE (x2) != DImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], DImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], DImode) || ! #line 5818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && ISA_HAS_WSBH)) return -1; return 462; /* dsbh */ case 6: if (GET_MODE (x2) != DImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], DImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], DImode) || ! #line 5825 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && ISA_HAS_WSBH)) return -1; return 463; /* dshd */ case 19: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; switch (pattern110 (x2)) { case 0: return 643; /* move_gpsi */ case 1: if (! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 644; /* move_gpdi */ default: return -1; } case 26: if (GET_MODE (x2) != SImode) return -1; x4 = XVECEXP (x2, 0, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 79 || GET_MODE (x4) != SImode) return -1; x3 = XEXP (x1, 0); if (GET_CODE (x3) != REG || REGNO (x3) != 79 || GET_MODE (x3) != SImode || ! #line 6812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_USE_GOT)) return -1; return 648; /* update_got_version */ case 30: return recog_4 (x1, insn, pnum_clobbers); case 12: if (pnum_clobbers == NULL || GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); if (GET_CODE (x3) != REG || REGNO (x3) != 2 || GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x2, 0, 0); operands[0] = x4; if (call_insn_operand (operands[0], SImode) && ( #line 7535 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) { *pnum_clobbers = 2; return 710; /* mips_get_fcsr_mips16_si */ } if (!call_insn_operand (operands[0], DImode) || !( #line 7535 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 2; return 711; /* mips_get_fcsr_mips16_di */ case 66: if (GET_MODE (x2) != BLKmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); if (!rtx_equal_p (x4, operands[0]) || ! #line 56 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_SYNC)) return -1; return 721; /* *memory_barrier */ case 75: if (GET_MODE (x2) != V2SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2SFmode) || ! #line 391 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 800; /* mips_cvt_pw_ps */ case 76: if (GET_MODE (x2) != V2SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2SFmode) || ! #line 401 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 801; /* mips_cvt_ps_pw */ case 78: if (GET_MODE (x2) != V2SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2SFmode) || ! #line 437 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 803; /* *mips_abs_ps */ case 84: return recog_3 (x1, insn, pnum_clobbers); case 79: switch (pattern44 (x1)) { case 0: if (!( #line 681 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 830; /* mips_rsqrt1_s */ case 1: if (!( #line 681 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 831; /* mips_rsqrt1_d */ case 2: if (!( #line 681 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 832; /* mips_rsqrt1_ps */ default: return -1; } case 81: switch (pattern44 (x1)) { case 0: if (!( #line 700 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 836; /* mips_recip1_s */ case 1: if (!( #line 700 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 837; /* mips_recip1_d */ case 2: if (!( #line 700 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 838; /* mips_recip1_ps */ default: return -1; } case 92: if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 218 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 855; /* mips_raddu_w_qb */ case 98: if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2HImode) || ! #line 288 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 862; /* mips_preceq_w_phl */ case 99: if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V2HImode) || ! #line 297 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 863; /* mips_preceq_w_phr */ case 100: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 864; /* mips_precequ_ph_qbl */ case 101: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 316 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 865; /* mips_precequ_ph_qbr */ case 102: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 325 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 866; /* mips_precequ_ph_qbla */ case 103: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 334 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 867; /* mips_precequ_ph_qbra */ case 104: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 344 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 868; /* mips_preceu_ph_qbl */ case 105: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 353 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 869; /* mips_preceu_ph_qbr */ case 106: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 362 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 870; /* mips_preceu_ph_qbla */ case 107: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V4QImode) || ! #line 371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 871; /* mips_preceu_ph_qbra */ case 131: if (GET_MODE (x2) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode) || ! #line 744 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 898; /* mips_bitrev */ case 133: if (GET_MODE (x2) != V4QImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V4QImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!arith_operand (operands[1], SImode) || ! #line 767 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 900; /* mips_repl_qb */ case 134: if (GET_MODE (x2) != V2HImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V2HImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!reg_imm10_operand (operands[1], SImode) || ! #line 784 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 901; /* mips_repl_ph */ case 207: return recog_8 (x1, insn, pnum_clobbers); case 209: if (GET_MODE (x2) != V8QImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V8QImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V8QImode) || ! #line 474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1113; /* loongson_pmovmskb */ case 214: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V8QImode)) return -1; switch (GET_MODE (operands[0])) { case V4HImode: if (!register_operand (operands[0], V4HImode) || GET_MODE (x2) != V4HImode || ! #line 532 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1119; /* loongson_biadd */ case V8QImode: if (!register_operand (operands[0], V8QImode) || GET_MODE (x2) != V8QImode || ! #line 540 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1120; /* reduc_uplus_v8qi */ default: return -1; } case 244: switch (pattern45 (x1)) { case 0: if (! #line 1512 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1410; /* msa_fclass_d */ case 1: if (! #line 1512 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1411; /* msa_fclass_w */ default: return -1; } case 250: switch (pattern46 (x1, V4SImode, V8HImode)) { case 0: if (! #line 1640 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1462; /* msa_ffql_d */ case 1: if (! #line 1640 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1463; /* msa_ffql_w */ default: return -1; } case 251: switch (pattern46 (x1, V4SImode, V8HImode)) { case 0: if (! #line 1650 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1464; /* msa_ffqr_d */ case 1: if (! #line 1650 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1465; /* msa_ffqr_w */ default: return -1; } case 252: switch (pattern47 (x1)) { case 0: if (! #line 1688 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1472; /* msa_flog2_d */ case 1: if (! #line 1688 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1473; /* msa_flog2_w */ default: return -1; } case 253: switch (pattern47 (x1)) { case 0: if (! #line 1739 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1482; /* msa_frcp_d */ case 1: if (! #line 1739 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1483; /* msa_frcp_w */ default: return -1; } case 254: switch (pattern47 (x1)) { case 0: if (! #line 1748 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1484; /* msa_frint_d */ case 1: if (! #line 1748 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1485; /* msa_frint_w */ default: return -1; } case 255: switch (pattern47 (x1)) { case 0: if (! #line 1757 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1486; /* msa_frsqrt_d */ case 1: if (! #line 1757 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1487; /* msa_frsqrt_w */ default: return -1; } case 267: switch (pattern45 (x1)) { case 0: if (! #line 1766 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1488; /* msa_ftint_s_d */ case 1: if (! #line 1766 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1489; /* msa_ftint_s_w */ default: return -1; } case 268: switch (pattern45 (x1)) { case 0: if (! #line 1776 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1490; /* msa_ftint_u_d */ case 1: if (! #line 1776 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1491; /* msa_ftint_u_w */ default: return -1; } case 276: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; switch (pattern111 (x2)) { case 0: if (! #line 2302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1566; /* msa_nloc_d */ case 1: if (! #line 2302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1567; /* msa_nloc_w */ case 2: if (! #line 2302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1568; /* msa_nloc_h */ case 3: if (! #line 2302 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1569; /* msa_nloc_b */ default: return -1; } case 282: switch (pattern46 (x1, DFmode, SFmode)) { case 0: if (! #line 2621 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1658; /* msa_splati_d_f_scalar */ case 1: if (! #line 2621 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1659; /* msa_splati_w_f_scalar */ default: return -1; } case 248: if (GET_MODE (x2) != V4SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V4SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V8HImode) || ! #line 2668 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1664; /* msa_fexupl_w */ case 249: if (GET_MODE (x2) != V4SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], V4SFmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], V8HImode) || ! #line 2688 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1666; /* msa_fexupr_w */ default: return -1; } } static int recog_39 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode) return -1; if (absolute_symbolic_operand (operands[1], DImode) && #line 4397 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS)) return 286; /* *lea_high64 */ if (got_disp_operand (operands[1], DImode) && ( #line 4495 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return 291; /* *xgot_hidi */ if (!got_page_ofst_operand (operands[1], DImode) || !( #line 4538 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_hi_p[SYMBOL_GOT_PAGE_OFST]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 297; /* *got_pagedi */ case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode) return -1; if (got_disp_operand (operands[1], SImode) && ( #line 4495 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 290; /* *xgot_hisi */ if (!got_page_ofst_operand (operands[1], SImode) || !( #line 4538 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_hi_p[SYMBOL_GOT_PAGE_OFST]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 296; /* *got_pagesi */ default: return -1; } } static int recog_40 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[1] = x2; x3 = XEXP (x1, 0); operands[0] = x3; switch (GET_MODE (operands[0])) { case DImode: if (register_operand (operands[0], DImode)) { if (pnum_clobbers != NULL && absolute_symbolic_operand (operands[1], DImode) && #line 4451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS && cse_not_expected)) { *pnum_clobbers = 1; return 287; /* *lea64 */ } if (got_disp_operand (operands[1], DImode) && ( #line 4525 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_p[SYMBOL_GOT_DISP]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return 295; /* *got_dispdi */ } break; case SImode: if (register_operand (operands[0], SImode) && got_disp_operand (operands[1], SImode) && ( #line 4525 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_p[SYMBOL_GOT_DISP]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 294; /* *got_dispsi */ break; default: break; } if (GET_CODE (x2) != LABEL_REF || GET_CODE (x3) != PC) return -1; x4 = XEXP (x2, 0); operands[0] = x4; if ( #line 6220 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && TARGET_ABSOLUTE_JUMPS)) return 614; /* *jump_absolute */ if ( #line 6243 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !TARGET_ABSOLUTE_JUMPS)) return 615; /* *jump_pic */ if (! #line 6270 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 616; /* *jump_mips16 */ } static int recog_41 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); operands[0] = x3; x4 = XEXP (x2, 1); operands[1] = x4; if (!const_int_operand (operands[1], SImode)) return -1; x5 = XEXP (x2, 2); operands[2] = x5; if (!const_int_operand (operands[2], SImode)) return -1; x6 = XEXP (x1, 1); operands[3] = x6; switch (GET_MODE (x2)) { case SImode: if (!register_operand (operands[0], SImode) || !reg_or_0_operand (operands[3], SImode) || ! #line 4297 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_use_ins_ext_p (operands[0], INTVAL (operands[1]), INTVAL (operands[2])))) return -1; return 274; /* *insvsi */ case DImode: if (!register_operand (operands[0], DImode) || !reg_or_0_operand (operands[3], DImode) || !( #line 4297 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_use_ins_ext_p (operands[0], INTVAL (operands[1]), INTVAL (operands[2]))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 275; /* *insvdi */ default: return -1; } } static int recog_42 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); x3 = XEXP (x2, 0); if (GET_CODE (x3) != PLUS) return -1; x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; x6 = XEXP (x1, 1); operands[0] = x6; switch (GET_MODE (x2)) { case SFmode: switch (pattern201 (x3, SFmode)) { case 0: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)))) return -1; return 334; /* *swxc1_si */ case 1: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)))) return -1; return 337; /* *swxc1_di */ default: return -1; } case DFmode: switch (pattern201 (x3, DFmode)) { case 0: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)))) return -1; return 335; /* *sdxc1_si */ case 1: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)))) return -1; return 338; /* *sdxc1_di */ default: return -1; } case V2SFmode: switch (pattern201 (x3, V2SFmode)) { case 0: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)))) return -1; return 336; /* *sdxc1_si */ case 1: if (!( #line 4855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && (((( #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)))) return -1; return 339; /* *sdxc1_di */ default: return -1; } default: return -1; } } static int recog_43 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); if (GET_CODE (x3) != PLUS) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x5 = XEXP (x3, 0); operands[1] = x5; x6 = XEXP (x3, 1); operands[2] = x6; switch (GET_MODE (operands[0])) { case SFmode: switch (pattern156 (x2, SFmode)) { case 0: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 328; /* *lwxc1_si */ case 1: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 331; /* *lwxc1_di */ default: return -1; } case DFmode: switch (pattern156 (x2, DFmode)) { case 0: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 329; /* *ldxc1_si */ case 1: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 332; /* *ldxc1_di */ default: return -1; } case V2SFmode: switch (pattern156 (x2, V2SFmode)) { case 0: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 330; /* *ldxc1_si */ case 1: if (!( #line 4846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LXC1_SXC1) && ((( #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 333; /* *ldxc1_di */ default: return -1; } default: return -1; } } static int recog_44 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (GET_CODE (x2)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: x3 = XEXP (x1, 0); switch (GET_CODE (x3)) { case ZERO_EXTRACT: res = recog_41 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case MEM: res = recog_42 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case PC: operands[0] = x2; switch (GET_MODE (operands[0])) { case SImode: if (register_operand (operands[0], SImode) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return 617; /* indirect_jump_si */ break; case DImode: if (register_operand (operands[0], DImode) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return 618; /* indirect_jump_di */ break; default: break; } break; default: break; } if (GET_CODE (x2) == REG && REGNO (x2) == 31) { operands[0] = x3; switch (GET_MODE (operands[0])) { case SImode: if (stack_operand (operands[0], SImode) && GET_MODE (x2) == SImode && #line 4644 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return 304; /* *movsi_ra */ break; case DImode: if (stack_operand (operands[0], DImode) && GET_MODE (x2) == DImode && ( #line 4644 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 305; /* *movdi_ra */ break; default: break; } } break; case MEM: res = recog_43 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; default: break; } operands[1] = x2; if (!nonimmediate_operand (operands[1], CCFmode)) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!nonimmediate_operand (operands[0], CCFmode) || ! #line 5029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF)) return -1; return 362; /* movccf */ } static int recog_45 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); x5 = XEXP (x4, 1); operands[2] = x5; x6 = XEXP (x4, 0); switch (GET_CODE (x6)) { case MULT: x7 = XEXP (x6, 1); if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4]) return -1; x8 = XEXP (x6, 0); operands[1] = x8; switch (GET_MODE (operands[0])) { case SImode: switch (pattern202 (x3, SImode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 340; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 341; /* *lwxs */ default: return -1; } case V2HImode: switch (pattern202 (x3, V2HImode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 824 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 342; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 824 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 343; /* *lwxs */ default: return -1; } case V4QImode: switch (pattern202 (x3, V4QImode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 825 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 344; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 825 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 345; /* *lwxs */ default: return -1; } case V2HQmode: switch (pattern202 (x3, V2HQmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 826 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 346; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 826 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 347; /* *lwxs */ default: return -1; } case V2UHQmode: switch (pattern202 (x3, V2UHQmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 827 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 348; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 827 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 349; /* *lwxs */ default: return -1; } case V2HAmode: switch (pattern202 (x3, V2HAmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 828 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 350; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 828 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 351; /* *lwxs */ default: return -1; } case V2UHAmode: switch (pattern202 (x3, V2UHAmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 352; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 353; /* *lwxs */ default: return -1; } case V4QQmode: switch (pattern202 (x3, V4QQmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 354; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 355; /* *lwxs */ default: return -1; } case V4UQQmode: switch (pattern202 (x3, V4UQQmode)) { case 0: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 831 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 356; /* *lwxs */ case 1: if (!( #line 4870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LWXS) && (((( #line 831 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 357; /* *lwxs */ default: return -1; } default: return -1; } case REG: case SUBREG: operands[1] = x6; switch (pattern156 (x3, DImode)) { case 0: if (!( #line 1131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LDX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 941; /* mips_ldx_si */ case 1: if (!( #line 1131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LDX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 943; /* mips_ldx_di */ default: return -1; } default: return -1; } } static int recog_46 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 1); switch (GET_CODE (x3)) { case LABEL_REF: x4 = XEXP (x2, 2); if (GET_CODE (x4) != PC) return -1; x5 = XEXP (x1, 0); if (GET_CODE (x5) != PC) return -1; x6 = XEXP (x2, 0); operands[1] = x6; if (!equality_operator (operands[1], VOIDmode)) return -1; x7 = XEXP (x6, 0); operands[2] = x7; x8 = XEXP (x3, 0); operands[0] = x8; switch (GET_MODE (operands[2])) { case CCmode: if (!register_operand (operands[2], CCmode) || !( #line 5846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF))) return -1; return 464; /* *branch_fp_cc */ case CCFmode: if (!register_operand (operands[2], CCFmode) || !( #line 5846 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF))) return -1; return 465; /* *branch_fp_ccf */ default: return -1; } case PC: x4 = XEXP (x2, 2); if (GET_CODE (x4) != LABEL_REF) return -1; x5 = XEXP (x1, 0); if (GET_CODE (x5) != PC) return -1; x6 = XEXP (x2, 0); operands[1] = x6; if (!equality_operator (operands[1], VOIDmode)) return -1; x7 = XEXP (x6, 0); operands[2] = x7; x9 = XEXP (x4, 0); operands[0] = x9; switch (GET_MODE (operands[2])) { case CCmode: if (!register_operand (operands[2], CCmode) || !( #line 5862 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF))) return -1; return 466; /* *branch_fp_inverted_cc */ case CCFmode: if (!register_operand (operands[2], CCFmode) || !( #line 5862 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF))) return -1; return 467; /* *branch_fp_inverted_ccf */ default: return -1; } case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[2] = x3; x5 = XEXP (x1, 0); operands[0] = x5; x6 = XEXP (x2, 0); operands[4] = x6; x7 = XEXP (x6, 0); operands[1] = x7; x4 = XEXP (x2, 2); operands[3] = x4; switch (GET_MODE (operands[0])) { case SImode: switch (pattern223 (x2, SImode)) { case 0: if (! #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE)) return -1; return 668; /* *movsi_on_si */ case 1: if (!( #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 811 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 670; /* *movsi_on_di */ case 2: if (!( #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !TARGET_LOONGSON_2EF && !TARGET_MIPS5900))) return -1; return 672; /* *movsi_on_cc */ default: return -1; } case DImode: switch (pattern223 (x2, DImode)) { case 0: if (!( #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 669; /* *movdi_on_si */ case 1: if (!( #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 671; /* *movdi_on_di */ case 2: if (!( #line 7206 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !TARGET_LOONGSON_2EF && !TARGET_MIPS5900)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)))) return -1; return 673; /* *movdi_on_cc */ default: return -1; } case SFmode: switch (pattern224 (x2, SFmode)) { case 0: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 678; /* *movsf_on_si */ case 1: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && ((( #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 811 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)))) return -1; return 680; /* *movsf_on_di */ case 2: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && ((( #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT) && #line 812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !TARGET_LOONGSON_2EF && !TARGET_MIPS5900)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)))) return -1; return 682; /* *movsf_on_cc */ default: return -1; } case DFmode: switch (pattern224 (x2, DFmode)) { case 0: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 679; /* *movdf_on_si */ case 1: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && ((( #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 811 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)))) return -1; return 681; /* *movdf_on_di */ case 2: if (!( #line 7234 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_CONDMOVE) && ((( #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !TARGET_LOONGSON_2EF && !TARGET_MIPS5900)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)))) return -1; return 683; /* *movdf_on_cc */ default: return -1; } case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x2) != V2SFmode || !register_operand (operands[2], V2SFmode) || !register_operand (operands[3], V2SFmode)) return -1; switch (GET_MODE (operands[4])) { case SImode: if (!equality_operator (operands[4], SImode) || !register_operand (operands[1], SImode) || ! #line 52 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 792; /* *movcc_v2sf_si */ case DImode: if (!equality_operator (operands[4], DImode) || !register_operand (operands[1], DImode) || !( #line 52 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 793; /* *movcc_v2sf_di */ default: return -1; } default: return -1; } default: return -1; } } static int recog_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 1); if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 0]) { res = recog_46 (x1, insn, pnum_clobbers); if (res >= 0) return res; } x5 = XEXP (x3, 0); operands[2] = x5; x6 = XEXP (x1, 0); if (GET_CODE (x6) != PC) return -1; operands[1] = x3; if (!equality_operator (operands[1], VOIDmode)) return -1; operands[3] = x4; switch (pattern158 (x2)) { case 0: if ( #line 5910 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 472; /* *branch_equalitysi */ break; case 1: if (( #line 5910 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 473; /* *branch_equalitydi */ break; case 2: if ( #line 5924 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 474; /* *branch_equalitysi_inverted */ break; case 3: if (( #line 5924 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 475; /* *branch_equalitydi_inverted */ break; default: break; } if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x7 = XEXP (x2, 1); switch (GET_CODE (x7)) { case LABEL_REF: x8 = XEXP (x2, 2); if (GET_CODE (x8) != PC) return -1; x9 = XEXP (x7, 0); operands[0] = x9; switch (GET_MODE (operands[2])) { case SImode: if (!register_operand (operands[2], SImode) || ! #line 5940 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 476; /* *branch_equalitysi_mips16 */ case DImode: if (!register_operand (operands[2], DImode) || !( #line 5940 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 477; /* *branch_equalitydi_mips16 */ default: return -1; } case PC: x8 = XEXP (x2, 2); if (GET_CODE (x8) != LABEL_REF) return -1; x10 = XEXP (x8, 0); operands[0] = x10; switch (GET_MODE (operands[2])) { case SImode: if (!register_operand (operands[2], SImode) || ! #line 5954 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 478; /* *branch_equalitysi_mips16_inverted */ case DImode: if (!register_operand (operands[2], DImode) || !( #line 5954 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 479; /* *branch_equalitydi_mips16_inverted */ default: return -1; } default: return -1; } } static int recog_48 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); if (XVECLEN (x4, 0) != 2 || XINT (x4, 1) != 83 || GET_MODE (x4) != CCmode) return -1; x5 = XEXP (x3, 1); if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x6 = XEXP (x1, 0); if (GET_CODE (x6) != PC) return -1; operands[1] = x3; if (!equality_operator (operands[1], VOIDmode)) return -1; x7 = XVECEXP (x4, 0, 0); operands[2] = x7; if (!register_operand (operands[2], CCV2mode)) return -1; x8 = XVECEXP (x4, 0, 1); operands[3] = x8; if (!const_int_operand (operands[3], VOIDmode)) return -1; x9 = XEXP (x2, 1); switch (GET_CODE (x9)) { case LABEL_REF: x10 = XEXP (x2, 2); if (GET_CODE (x10) != PC) return -1; x11 = XEXP (x9, 0); operands[0] = x11; if (! #line 642 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT)) return -1; return 828; /* *branch_upper_lower */ case PC: x10 = XEXP (x2, 2); if (GET_CODE (x10) != LABEL_REF) return -1; x12 = XEXP (x10, 0); operands[0] = x12; if (! #line 663 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT)) return -1; return 829; /* *branch_upper_lower_inverted */ default: return -1; } } static int recog_49 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); if (GET_CODE (x2) != PC) return -1; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); x5 = XEXP (x4, 0); operands[2] = x5; x6 = XEXP (x4, 1); operands[3] = x6; switch (pattern158 (x3)) { case 0: if (! #line 5880 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return -1; return 468; /* *branch_ordersi */ case 1: if (!( #line 5880 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 469; /* *branch_orderdi */ case 2: if (! #line 5894 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return -1; return 470; /* *branch_ordersi_inverted */ case 3: if (!( #line 5894 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 471; /* *branch_orderdi_inverted */ default: return -1; } } static int recog_50 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 1); if (pattern160 (x3) != 0) return -1; x4 = XVECEXP (x3, 0, 8); if (GET_CODE (x4) != CONST_INT) return -1; x5 = XVECEXP (x3, 0, 9); if (GET_CODE (x5) != CONST_INT) return -1; x6 = XVECEXP (x3, 0, 10); if (GET_CODE (x6) != CONST_INT) return -1; x7 = XVECEXP (x3, 0, 11); if (GET_CODE (x7) != CONST_INT) return -1; x8 = XVECEXP (x3, 0, 12); if (GET_CODE (x8) != CONST_INT) return -1; x9 = XVECEXP (x3, 0, 13); if (GET_CODE (x9) != CONST_INT) return -1; x10 = XVECEXP (x3, 0, 14); if (GET_CODE (x10) != CONST_INT) return -1; x11 = XVECEXP (x3, 0, 15); if (GET_CODE (x11) != CONST_INT || pattern211 (x2, V16QImode, V32QImode) != 0) return -1; x12 = XVECEXP (x3, 0, 0); switch (XWINT (x12, 0)) { case 0L: x13 = XVECEXP (x3, 0, 1); switch (XWINT (x13, 0)) { case 16L: x14 = XVECEXP (x3, 0, 2); switch (XWINT (x14, 0)) { case 2L: x15 = XVECEXP (x3, 0, 3); if (XWINT (x15, 0) != 18L) return -1; x16 = XVECEXP (x3, 0, 4); if (XWINT (x16, 0) != 4L) return -1; x17 = XVECEXP (x3, 0, 5); if (XWINT (x17, 0) != 20L) return -1; x18 = XVECEXP (x3, 0, 6); if (XWINT (x18, 0) != 6L) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 22L || XWINT (x4, 0) != 8L || XWINT (x5, 0) != 24L || XWINT (x6, 0) != 10L || XWINT (x7, 0) != 26L || XWINT (x8, 0) != 12L || XWINT (x9, 0) != 28L || XWINT (x10, 0) != 14L || XWINT (x11, 0) != 30L || ! #line 1892 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1510; /* msa_ilvev_b */ case 1L: x15 = XVECEXP (x3, 0, 3); if (XWINT (x15, 0) != 17L) return -1; x16 = XVECEXP (x3, 0, 4); if (XWINT (x16, 0) != 2L) return -1; x17 = XVECEXP (x3, 0, 5); if (XWINT (x17, 0) != 18L) return -1; x18 = XVECEXP (x3, 0, 6); if (XWINT (x18, 0) != 3L) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 19L || XWINT (x4, 0) != 4L || XWINT (x5, 0) != 20L || XWINT (x6, 0) != 5L || XWINT (x7, 0) != 21L || XWINT (x8, 0) != 6L || XWINT (x9, 0) != 22L || XWINT (x10, 0) != 7L || XWINT (x11, 0) != 23L || ! #line 2096 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1524; /* msa_ilvr_b */ default: return -1; } case 2L: x14 = XVECEXP (x3, 0, 2); if (XWINT (x14, 0) != 4L) return -1; x15 = XVECEXP (x3, 0, 3); if (XWINT (x15, 0) != 6L) return -1; x16 = XVECEXP (x3, 0, 4); if (XWINT (x16, 0) != 8L) return -1; x17 = XVECEXP (x3, 0, 5); if (XWINT (x17, 0) != 10L) return -1; x18 = XVECEXP (x3, 0, 6); if (XWINT (x18, 0) != 12L) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 14L || XWINT (x4, 0) != 16L || XWINT (x5, 0) != 18L || XWINT (x6, 0) != 20L || XWINT (x7, 0) != 22L || XWINT (x8, 0) != 24L || XWINT (x9, 0) != 26L || XWINT (x10, 0) != 28L || XWINT (x11, 0) != 30L || ! #line 2340 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1578; /* msa_pckev_b */ default: return -1; } case 8L: x13 = XVECEXP (x3, 0, 1); if (XWINT (x13, 0) != 24L) return -1; x14 = XVECEXP (x3, 0, 2); if (XWINT (x14, 0) != 9L) return -1; x15 = XVECEXP (x3, 0, 3); if (XWINT (x15, 0) != 25L) return -1; x16 = XVECEXP (x3, 0, 4); if (XWINT (x16, 0) != 10L) return -1; x17 = XVECEXP (x3, 0, 5); if (XWINT (x17, 0) != 26L) return -1; x18 = XVECEXP (x3, 0, 6); if (XWINT (x18, 0) != 11L) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 27L || XWINT (x4, 0) != 12L || XWINT (x5, 0) != 28L || XWINT (x6, 0) != 13L || XWINT (x7, 0) != 29L || XWINT (x8, 0) != 14L || XWINT (x9, 0) != 30L || XWINT (x10, 0) != 15L || XWINT (x11, 0) != 31L || ! #line 1952 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1514; /* msa_ilvl_b */ case 1L: if (XWINT (x11, 0) != 31L) return -1; x13 = XVECEXP (x3, 0, 1); switch (XWINT (x13, 0)) { case 17L: x14 = XVECEXP (x3, 0, 2); if (XWINT (x14, 0) != 3L) return -1; x15 = XVECEXP (x3, 0, 3); if (XWINT (x15, 0) != 19L) return -1; x16 = XVECEXP (x3, 0, 4); if (XWINT (x16, 0) != 5L) return -1; x17 = XVECEXP (x3, 0, 5); if (XWINT (x17, 0) != 21L) return -1; x18 = XVECEXP (x3, 0, 6); if (XWINT (x18, 0) != 7L) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 23L || XWINT (x4, 0) != 9L || XWINT (x5, 0) != 25L || XWINT (x6, 0) != 11L || XWINT (x7, 0) != 27L || XWINT (x8, 0) != 13L || XWINT (x9, 0) != 29L || XWINT (x10, 0) != 15L || ! #line 2036 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1520; /* msa_ilvod_b */ case 3L: if (pattern258 (x3) != 0) return -1; x19 = XVECEXP (x3, 0, 7); if (XWINT (x19, 0) != 15L || XWINT (x4, 0) != 17L || XWINT (x5, 0) != 19L || XWINT (x6, 0) != 21L || XWINT (x7, 0) != 23L || XWINT (x8, 0) != 25L || XWINT (x9, 0) != 27L || XWINT (x10, 0) != 29L || ! #line 2400 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1582; /* msa_pckod_b */ default: return -1; } default: return -1; } } static int recog_51 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; x6 = XEXP (x2, 1); switch (XVECLEN (x6, 0)) { case 2: x7 = XVECEXP (x6, 0, 0); if (GET_CODE (x7) != CONST_INT) return -1; operands[3] = x7; if (const_0_or_1_operand (operands[3], SImode) && pattern211 (x2, V2SFmode, V4SFmode) == 0) { x8 = XVECEXP (x6, 0, 1); operands[4] = x8; if (const_2_or_3_operand (operands[4], SImode) && #line 100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return 795; /* vec_perm_const_ps */ } x8 = XVECEXP (x6, 0, 1); if (GET_CODE (x8) != CONST_INT) return -1; switch (XWINT (x7, 0)) { case 1L: if (XWINT (x8, 0) != 3L) return -1; switch (GET_MODE (operands[0])) { case V2SImode: if (pattern211 (x2, V2SImode, V4SImode) != 0 || ! #line 679 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1140; /* loongson_punpckhwd */ case V2DImode: if (pattern211 (x2, V2DImode, V4DImode) != 0 || ! #line 2005 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1518; /* msa_ilvl_d */ case V2DFmode: if (pattern211 (x2, V2DFmode, V4DFmode) != 0 || ! #line 2017 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1519; /* msa_ilvl_d_f */ default: return -1; } case 0L: if (XWINT (x8, 0) != 2L) return -1; switch (GET_MODE (operands[0])) { case V2SImode: if (pattern211 (x2, V2SImode, V4SImode) != 0 || ! #line 757 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1146; /* loongson_punpcklwd */ case V2DImode: if (pattern211 (x2, V2DImode, V4DImode) != 0 || ! #line 2149 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1528; /* msa_ilvr_d */ case V2DFmode: if (pattern211 (x2, V2DFmode, V4DFmode) != 0 || ! #line 2161 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1529; /* msa_ilvr_d_f */ default: return -1; } default: return -1; } case 4: x7 = XVECEXP (x6, 0, 0); if (GET_CODE (x7) != CONST_INT) return -1; x8 = XVECEXP (x6, 0, 1); if (GET_CODE (x8) != CONST_INT) return -1; x9 = XVECEXP (x6, 0, 2); if (GET_CODE (x9) != CONST_INT) return -1; x10 = XVECEXP (x6, 0, 3); if (GET_CODE (x10) != CONST_INT) return -1; switch (XWINT (x7, 0)) { case 4L: if (XWINT (x8, 0) != 1L || XWINT (x9, 0) != 2L || XWINT (x10, 0) != 3L || pattern211 (x2, V4HImode, V8HImode) != 0 || ! #line 325 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1103; /* loongson_pinsrh_0 */ case 0L: switch (XWINT (x8, 0)) { case 4L: switch (XWINT (x9, 0)) { case 2L: switch (XWINT (x10, 0)) { case 3L: if (pattern211 (x2, V4HImode, V8HImode) != 0 || ! #line 337 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1104; /* loongson_pinsrh_1 */ case 6L: switch (GET_MODE (operands[0])) { case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 1920 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1512; /* msa_ilvev_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 1933 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1513; /* msa_ilvev_w_f */ default: return -1; } default: return -1; } case 1L: if (XWINT (x10, 0) != 5L) return -1; switch (GET_MODE (operands[0])) { case V4HImode: if (pattern211 (x2, V4HImode, V8HImode) != 0 || ! #line 732 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1144; /* loongson_punpcklhw */ case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 2124 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1526; /* msa_ilvr_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 2137 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1527; /* msa_ilvr_w_f */ default: return -1; } default: return -1; } case 1L: if (pattern211 (x2, V4HImode, V8HImode) != 0) return -1; switch (XWINT (x9, 0)) { case 4L: switch (XWINT (x10, 0)) { case 3L: if (! #line 349 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1105; /* loongson_pinsrh_2 */ case 5L: if (! #line 783 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1148; /* *loongson_punpcklwd_hi */ default: return -1; } case 2L: if (XWINT (x10, 0) != 4L || ! #line 361 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1106; /* loongson_pinsrh_3 */ default: return -1; } case 2L: if (XWINT (x9, 0) != 4L || XWINT (x10, 0) != 6L) return -1; switch (GET_MODE (operands[0])) { case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 2368 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1580; /* msa_pckev_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 2381 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1581; /* msa_pckev_w_f */ default: return -1; } default: return -1; } case 2L: if (XWINT (x10, 0) != 7L) return -1; switch (XWINT (x8, 0)) { case 6L: if (XWINT (x9, 0) != 3L) return -1; switch (GET_MODE (operands[0])) { case V4HImode: if (pattern211 (x2, V4HImode, V8HImode) != 0 || ! #line 654 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1138; /* loongson_punpckhhw */ case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 1980 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1516; /* msa_ilvl_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 1993 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1517; /* msa_ilvl_w_f */ default: return -1; } case 3L: if (XWINT (x9, 0) != 6L || pattern211 (x2, V4HImode, V8HImode) != 0 || ! #line 705 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1142; /* loongson_punpckhwd_hi */ default: return -1; } case 1L: if (XWINT (x10, 0) != 7L) return -1; switch (XWINT (x8, 0)) { case 5L: if (XWINT (x9, 0) != 3L) return -1; switch (GET_MODE (operands[0])) { case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 2064 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1522; /* msa_ilvod_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 2077 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1523; /* msa_ilvod_w_f */ default: return -1; } case 3L: if (XWINT (x9, 0) != 5L) return -1; switch (GET_MODE (operands[0])) { case V4SImode: if (pattern211 (x2, V4SImode, V8SImode) != 0 || ! #line 2428 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1584; /* msa_pckod_w */ case V4SFmode: if (pattern211 (x2, V4SFmode, V8SFmode) != 0 || ! #line 2441 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1585; /* msa_pckod_w_f */ default: return -1; } default: return -1; } default: return -1; } case 8: if (pattern160 (x6) != 0) return -1; x7 = XVECEXP (x6, 0, 0); switch (XWINT (x7, 0)) { case 4L: x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 15L) return -1; x8 = XVECEXP (x6, 0, 1); switch (XWINT (x8, 0)) { case 12L: x9 = XVECEXP (x6, 0, 2); if (XWINT (x9, 0) != 5L) return -1; x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 13L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 6L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 14L) return -1; x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 7L) return -1; switch (GET_MODE (operands[0])) { case V8QImode: if (pattern211 (x2, V8QImode, V16QImode) != 0 || ! #line 642 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1137; /* loongson_punpckhbh */ case V8HImode: if (pattern211 (x2, V8HImode, V16HImode) != 0 || ! #line 1967 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1515; /* msa_ilvl_h */ default: return -1; } case 5L: x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 14L || pattern211 (x2, V8QImode, V16QImode) != 0) return -1; x9 = XVECEXP (x6, 0, 2); switch (XWINT (x9, 0)) { case 12L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 13L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 6L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 7L || ! #line 668 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1139; /* loongson_punpckhhw_qi */ case 6L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 7L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 12L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 13L || ! #line 693 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1141; /* loongson_punpckhwd_qi */ default: return -1; } default: return -1; } case 0L: x8 = XVECEXP (x6, 0, 1); switch (XWINT (x8, 0)) { case 8L: x9 = XVECEXP (x6, 0, 2); switch (XWINT (x9, 0)) { case 1L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 9L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 2L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 10L) return -1; x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 3L) return -1; x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 11L) return -1; switch (GET_MODE (operands[0])) { case V8QImode: if (pattern211 (x2, V8QImode, V16QImode) != 0 || ! #line 720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1143; /* loongson_punpcklbh */ case V8HImode: if (pattern211 (x2, V8HImode, V16HImode) != 0 || ! #line 2111 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1525; /* msa_ilvr_h */ default: return -1; } case 2L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 10L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 4L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 12L) return -1; x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 6L) return -1; x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 14L || pattern211 (x2, V8HImode, V16HImode) != 0 || ! #line 1907 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1511; /* msa_ilvev_h */ default: return -1; } case 1L: x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 10L) return -1; x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 11L || pattern211 (x2, V8QImode, V16QImode) != 0) return -1; x9 = XVECEXP (x6, 0, 2); switch (XWINT (x9, 0)) { case 8L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 9L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 2L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 3L || ! #line 746 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1145; /* *loongson_punpcklhw_qi */ case 2L: x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 3L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 8L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 9L || ! #line 771 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1147; /* *loongson_punpcklwd_qi */ default: return -1; } case 2L: x9 = XVECEXP (x6, 0, 2); if (XWINT (x9, 0) != 4L) return -1; x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 6L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 8L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 10L) return -1; x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 12L) return -1; x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 14L || pattern211 (x2, V8HImode, V16HImode) != 0 || ! #line 2355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1579; /* msa_pckev_h */ default: return -1; } case 1L: x11 = XVECEXP (x6, 0, 7); if (XWINT (x11, 0) != 15L || pattern211 (x2, V8HImode, V16HImode) != 0) return -1; x8 = XVECEXP (x6, 0, 1); switch (XWINT (x8, 0)) { case 9L: x9 = XVECEXP (x6, 0, 2); if (XWINT (x9, 0) != 3L) return -1; x10 = XVECEXP (x6, 0, 3); if (XWINT (x10, 0) != 11L) return -1; x12 = XVECEXP (x6, 0, 4); if (XWINT (x12, 0) != 5L) return -1; x13 = XVECEXP (x6, 0, 5); if (XWINT (x13, 0) != 13L) return -1; x14 = XVECEXP (x6, 0, 6); if (XWINT (x14, 0) != 7L || ! #line 2051 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1521; /* msa_ilvod_h */ case 3L: if (pattern258 (x6) != 0 || ! #line 2415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1583; /* msa_pckod_h */ default: return -1; } default: return -1; } case 16: return recog_50 (x1, insn, pnum_clobbers); default: return -1; } } static int recog_52 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (XVECLEN (x2, 0)) { case 1: return recog_38 (x1, insn, pnum_clobbers); case 2: return recog_37 (x1, insn, pnum_clobbers); case 3: switch (XINT (x2, 1)) { case 1: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!memory_operand (operands[1], BLKmode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!memory_operand (operands[2], QImode)) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x2) != SImode || !register_operand (operands[3], SImode) || ! #line 4353 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (SImode, operands[1]))) return -1; return 280; /* mov_lwr */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x2) != DImode || !register_operand (operands[3], DImode) || !( #line 4353 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (DImode, operands[1])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 281; /* mov_ldr */ default: return -1; } case 3: if (GET_MODE (x2) != BLKmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!memory_operand (operands[0], BLKmode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!memory_operand (operands[2], QImode)) return -1; x6 = XVECEXP (x2, 0, 2); if (!rtx_equal_p (x6, operands[0])) return -1; if (reg_or_0_operand (operands[1], SImode) && #line 4374 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (SImode, operands[0]))) return 284; /* mov_swr */ if (!reg_or_0_operand (operands[1], DImode) || !( #line 4374 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && mips_mem_fits_mode_p (DImode, operands[0])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 285; /* mov_sdr */ case 27: x6 = XVECEXP (x2, 0, 2); if (GET_CODE (x6) != REG || REGNO (x6) != 79 || GET_MODE (x6) != SImode) return -1; switch (pattern49 (x1)) { case 0: if (!( #line 6797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_USE_GOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 645; /* load_callsi */ case 1: if (!( #line 6797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_USE_GOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 646; /* load_calldi */ default: return -1; } case 70: if (pattern65 (x1, CCV2mode) != 0 || ! #line 65 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 794; /* mips_cond_move_tf_ps */ case 72: if (pattern65 (x1, SImode) != 0 || ! #line 358 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 798; /* mips_alnv_ps */ case 73: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!const_int_operand (operands[3], VOIDmode)) return -1; switch (GET_MODE (operands[0])) { case CCmode: if (!register_operand (operands[0], CCmode) || GET_MODE (x2) != CCmode) return -1; switch (GET_MODE (operands[1])) { case SFmode: if (!register_operand (operands[1], SFmode) || !register_operand (operands[2], SFmode) || !( #line 452 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 804; /* mips_cabs_cond_s */ case DFmode: if (!register_operand (operands[1], DFmode) || !register_operand (operands[2], DFmode) || !( #line 452 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 805; /* mips_cabs_cond_d */ default: return -1; } case CCV2mode: if (pattern62 (x2, V2SFmode, CCV2mode) != 0 || ! #line 542 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 809; /* mips_cabs_cond_ps */ default: return -1; } case 71: if (pattern54 (x1, V2SFmode, CCV2mode) != 0) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!const_int_operand (operands[3], VOIDmode) || ! #line 531 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 808; /* mips_c_cond_ps */ case 118: if (pattern66 (x1) != 0 || ! #line 553 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 885; /* mips_dpau_h_qbl */ case 119: if (pattern66 (x1) != 0 || ! #line 565 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 886; /* mips_dpau_h_qbr */ case 120: if (pattern66 (x1) != 0 || ! #line 578 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 887; /* mips_dpsu_h_qbl */ case 121: if (pattern66 (x1) != 0 || ! #line 590 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 888; /* mips_dpsu_h_qbr */ case 135: switch (pattern67 (x1)) { case 0: if (! #line 799 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 902; /* mips_cmp_eq_ph */ case 1: if (! #line 799 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 903; /* mips_cmpu_eq_qb */ default: return -1; } case 136: switch (pattern67 (x1)) { case 0: if (! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 904; /* mips_cmp_lt_ph */ case 1: if (! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 905; /* mips_cmpu_lt_qb */ default: return -1; } case 137: switch (pattern67 (x1)) { case 0: if (! #line 821 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 906; /* mips_cmp_le_ph */ case 1: if (! #line 821 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 907; /* mips_cmpu_le_qb */ default: return -1; } case 141: x6 = XVECEXP (x2, 0, 2); if (GET_CODE (x6) != REG || REGNO (x6) != 186 || GET_MODE (x6) != CCDSPmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2HImode: if (pattern51 (x2, V2HImode) != 0 || ! #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 911; /* mips_pick_ph */ case V4QImode: if (pattern51 (x2, V4QImode) != 0 || ! #line 863 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 912; /* mips_pick_qb */ default: return -1; } case 158: if (pattern68 (x1, SImode) != 0 || ! #line 133 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 954; /* mips_append */ case 159: if (pattern68 (x1, SImode) != 0 || ! #line 148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 955; /* mips_balign */ case 163: if (pattern69 (x1) != 0 || ! #line 205 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 959; /* mips_dpa_w_ph */ case 164: if (pattern69 (x1) != 0 || ! #line 217 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 960; /* mips_dps_w_ph */ case 174: if (pattern69 (x1) != 0 || ! #line 293 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 966; /* mips_mulsa_w_ph */ case 178: if (pattern68 (x1, V2HImode) != 0 || ! #line 315 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 968; /* mips_precr_sra_ph_w */ case 179: if (pattern68 (x1, V2HImode) != 0 || ! #line 330 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 969; /* mips_precr_sra_r_ph_w */ case 180: if (pattern68 (x1, SImode) != 0 || ! #line 345 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 970; /* mips_prepend */ case 196: if (pattern69 (x1) != 0 || ! #line 539 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 986; /* mips_dpax_w_ph */ case 197: if (pattern69 (x1) != 0 || ! #line 551 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 987; /* mips_dpsx_w_ph */ case 206: if (pattern53 (x1, V4HImode) != 0) return -1; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!const_0_to_3_operand (operands[3], SImode) || ! #line 371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1107; /* *vec_setv4hi */ case 291: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern172 (x2, V2DImode, V2DFmode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1190; /* vec_permv2df */ case V4SFmode: if (pattern172 (x2, V4SImode, V4SFmode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1191; /* vec_permv4sf */ case V2DImode: if (pattern70 (x2, V2DImode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1192; /* vec_permv2di */ case V4SImode: if (pattern70 (x2, V4SImode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1193; /* vec_permv4si */ case V8HImode: if (pattern70 (x2, V8HImode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1194; /* vec_permv8hi */ case V16QImode: if (pattern70 (x2, V16QImode) != 0 || ! #line 615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1195; /* vec_permv16qi */ default: return -1; } case 231: switch (pattern71 (x1)) { case 0: if (! #line 1078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1328; /* msa_binsl_d */ case 1: if (! #line 1078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1329; /* msa_binsl_w */ case 2: if (! #line 1078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1330; /* msa_binsl_h */ case 3: if (! #line 1078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1331; /* msa_binsl_b */ default: return -1; } case 232: switch (pattern74 (x1)) { case 0: if (! #line 1089 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1332; /* msa_binsli_d */ case 1: if (! #line 1089 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1333; /* msa_binsli_w */ case 2: if (! #line 1089 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1334; /* msa_binsli_h */ case 3: if (! #line 1089 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1335; /* msa_binsli_b */ default: return -1; } case 233: switch (pattern71 (x1)) { case 0: if (! #line 1100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1336; /* msa_binsr_d */ case 1: if (! #line 1100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1337; /* msa_binsr_w */ case 2: if (! #line 1100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1338; /* msa_binsr_h */ case 3: if (! #line 1100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1339; /* msa_binsr_b */ default: return -1; } case 234: switch (pattern74 (x1)) { case 0: if (! #line 1111 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1340; /* msa_binsri_d */ case 1: if (! #line 1111 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1341; /* msa_binsri_w */ case 2: if (! #line 1111 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1342; /* msa_binsri_h */ case 3: if (! #line 1111 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1343; /* msa_binsri_b */ default: return -1; } case 270: switch (pattern75 (x1)) { case 0: if (! #line 2172 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1530; /* msa_madd_q_w */ case 1: if (! #line 2172 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1531; /* msa_madd_q_h */ default: return -1; } case 271: switch (pattern75 (x1)) { case 0: if (! #line 2183 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1532; /* msa_maddr_q_w */ case 1: if (! #line 2183 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1533; /* msa_maddr_q_h */ default: return -1; } case 272: switch (pattern75 (x1)) { case 0: if (! #line 2262 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1558; /* msa_msub_q_w */ case 1: if (! #line 2262 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1559; /* msa_msub_q_h */ default: return -1; } case 273: switch (pattern75 (x1)) { case 0: if (! #line 2273 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1560; /* msa_msubr_q_w */ case 1: if (! #line 2273 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1561; /* msa_msubr_q_h */ default: return -1; } case 279: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; if (!reg_or_0_operand (operands[3], SImode)) return -1; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern51 (x2, V2DFmode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1634; /* msa_sld_d_f */ case V4SFmode: if (pattern51 (x2, V4SFmode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1635; /* msa_sld_w_f */ case V2DImode: if (pattern51 (x2, V2DImode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1636; /* msa_sld_d */ case V4SImode: if (pattern51 (x2, V4SImode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1637; /* msa_sld_w */ case V8HImode: if (pattern51 (x2, V8HImode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1638; /* msa_sld_h */ case V16QImode: if (pattern51 (x2, V16QImode) != 0 || ! #line 2580 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1639; /* msa_sld_b */ default: return -1; } case 280: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; x6 = XVECEXP (x2, 0, 2); operands[3] = x6; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern173 (x2, V2DFmode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1640; /* msa_sldi_d_f */ case V4SFmode: if (pattern174 (x2, V4SFmode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1641; /* msa_sldi_w_f */ case V2DImode: if (pattern173 (x2, V2DImode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1642; /* msa_sldi_d */ case V4SImode: if (pattern174 (x2, V4SImode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1643; /* msa_sldi_w */ case V8HImode: if (pattern73 (x2, V8HImode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1644; /* msa_sldi_h */ case V16QImode: if (pattern72 (x2, V16QImode) != 0 || ! #line 2591 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1645; /* msa_sldi_b */ default: return -1; } default: return -1; } case 5: x3 = XEXP (x1, 0); operands[0] = x3; switch (pattern76 (x2)) { case 0: if (! #line 470 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 806; /* mips_c_cond_4s */ case 1: if (! #line 499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 807; /* mips_cabs_cond_4s */ default: return -1; } case 4: if (XINT (x2, 1) != 132 || GET_MODE (x2) != SImode || pattern104 (x2, 182) != 0) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode)) return -1; x5 = XVECEXP (x2, 0, 1); operands[2] = x5; if (!register_operand (operands[2], SImode) || ! #line 757 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 899; /* mips_insv */ case 7: if (XINT (x2, 1) != 152 || GET_MODE (x2) != SImode) return -1; x5 = XVECEXP (x2, 0, 1); if (GET_CODE (x5) != REG || REGNO (x5) != 182 || GET_MODE (x5) != CCDSPmode || pattern104 (x2, 184) != 0) return -1; x7 = XVECEXP (x2, 0, 4); if (GET_CODE (x7) != REG || REGNO (x7) != 185 || GET_MODE (x7) != CCDSPmode) return -1; x8 = XVECEXP (x2, 0, 5); if (GET_CODE (x8) != REG || REGNO (x8) != 186 || GET_MODE (x8) != CCDSPmode) return -1; x9 = XVECEXP (x2, 0, 6); if (GET_CODE (x9) != REG || REGNO (x9) != 187 || GET_MODE (x9) != CCDSPmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x2, 0, 0); operands[1] = x4; if (!const_uimm6_operand (operands[1], SImode) || ! #line 1074 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 923; /* mips_rddsp */ default: return -1; } } static int recog_53 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SFmode: if (pattern0 (x3, SFmode) != 0 || ! #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) return -1; return 10; /* addsf3 */ case DFmode: if (pattern0 (x3, DFmode) != 0 || ! #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 11; /* adddf3 */ case V2SFmode: if (pattern0 (x3, V2SFmode) != 0 || ! #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 12; /* addv2sf3 */ case SImode: if (pattern4 (x3, SImode) != 0) return -1; if ( #line 1255 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 13; /* *addsi3 */ if (! #line 1271 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 15; /* *addsi3_mips16 */ case DImode: if (pattern4 (x3, DImode) != 0) return -1; if (( #line 1255 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 14; /* *adddi3 */ if (!( #line 1271 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 16; /* *adddi3_mips16 */ case QQmode: if (pattern0 (x3, QQmode) != 0) return -1; return 992; /* addqq3 */ case HQmode: if (pattern0 (x3, HQmode) != 0) return -1; return 993; /* addhq3 */ case SQmode: if (pattern0 (x3, SQmode) != 0) return -1; return 994; /* addsq3 */ case DQmode: if (pattern0 (x3, DQmode) != 0 || ! #line 22 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 995; /* adddq3 */ case UQQmode: if (pattern0 (x3, UQQmode) != 0) return -1; return 996; /* adduqq3 */ case UHQmode: if (pattern0 (x3, UHQmode) != 0) return -1; return 997; /* adduhq3 */ case USQmode: if (pattern0 (x3, USQmode) != 0) return -1; return 998; /* addusq3 */ case UDQmode: if (pattern0 (x3, UDQmode) != 0 || ! #line 23 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 999; /* addudq3 */ case HAmode: if (pattern0 (x3, HAmode) != 0) return -1; return 1000; /* addha3 */ case SAmode: if (pattern0 (x3, SAmode) != 0) return -1; return 1001; /* addsa3 */ case DAmode: if (pattern0 (x3, DAmode) != 0 || ! #line 24 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1002; /* addda3 */ case UHAmode: if (pattern0 (x3, UHAmode) != 0) return -1; return 1003; /* adduha3 */ case USAmode: if (pattern0 (x3, USAmode) != 0) return -1; return 1004; /* addusa3 */ case UDAmode: if (pattern0 (x3, UDAmode) != 0 || ! #line 25 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1005; /* adduda3 */ case V2SImode: if (pattern0 (x3, V2SImode) != 0 || ! #line 184 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1067; /* addv2si3 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 184 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1068; /* addv4hi3 */ case V8QImode: if (pattern0 (x3, V8QImode) != 0 || ! #line 184 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1069; /* addv8qi3 */ case V2DImode: if (pattern134 (x3, V2DImode) != 0 || ! #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1202; /* addv2di3 */ case V4SImode: if (pattern134 (x3, V4SImode) != 0 || ! #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1203; /* addv4si3 */ case V8HImode: if (pattern134 (x3, V8HImode) != 0 || ! #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1204; /* addv8hi3 */ case V16QImode: if (pattern134 (x3, V16QImode) != 0 || ! #line 691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1205; /* addv16qi3 */ case V2DFmode: if (pattern0 (x3, V2DFmode) != 0 || ! #line 894 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1266; /* addv2df3 */ case V4SFmode: if (pattern0 (x3, V4SFmode) != 0 || ! #line 894 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1267; /* addv4sf3 */ default: return -1; } case MULT: x6 = XEXP (x4, 0); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[1] = x6; x7 = XEXP (x4, 1); operands[2] = x7; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || GET_MODE (x4) != SImode || !register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; if (pnum_clobbers != NULL) { x5 = XEXP (x3, 1); operands[3] = x5; if (register_operand (operands[3], SImode)) { if ( #line 1745 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MADD_MSUB && !TARGET_MIPS16)) { *pnum_clobbers = 2; return 42; /* *mul_acc_si */ } if ( #line 1774 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS3900 && !TARGET_MIPS16)) { *pnum_clobbers = 2; return 43; /* *mul_acc_si_r3900 */ } if ( #line 1817 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC)) { *pnum_clobbers = 1; return 44; /* *macc */ } } } x5 = XEXP (x3, 1); if (!rtx_equal_p (x5, operands[0]) || ! #line 2507 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MAD)) return -1; return 81; /* madsi */ case SFmode: if (pattern142 (x3, SFmode) != 0 || !( #line 2693 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 111; /* *madd4sf */ case DFmode: if (pattern142 (x3, DFmode) != 0 || !( #line 2693 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 112; /* *madd4df */ case V2SFmode: if (pattern142 (x3, V2SFmode) != 0 || !( #line 2693 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 113; /* *madd4v2sf */ case V2DImode: if (pattern142 (x3, V2DImode) != 0 || ! #line 741 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1214; /* msa_maddv_d */ case V4SImode: if (pattern142 (x3, V4SImode) != 0 || ! #line 741 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1215; /* msa_maddv_w */ case V8HImode: if (pattern142 (x3, V8HImode) != 0 || ! #line 741 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1216; /* msa_maddv_h */ case V16QImode: if (pattern142 (x3, V16QImode) != 0 || ! #line 741 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1217; /* msa_maddv_b */ default: return -1; } case SIGN_EXTEND: switch (pattern97 (x3, SIGN_EXTEND)) { case 0: if (! #line 2521 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ((TARGET_MAD || ISA_HAS_MACC || GENERATE_MADD_MSUB || ISA_HAS_DSP) && !TARGET_64BIT)) return -1; return 82; /* maddsidi4 */ case 1: if (! #line 1251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1392; /* msa_dotp_s_d */ case 2: if (! #line 1279 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1394; /* msa_dotp_s_w */ case 3: if (! #line 1315 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1396; /* msa_dotp_s_h */ default: return -1; } case ZERO_EXTEND: switch (pattern97 (x3, ZERO_EXTEND)) { case 0: if (! #line 2521 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ((TARGET_MAD || ISA_HAS_MACC || GENERATE_MADD_MSUB || ISA_HAS_DSP) && !TARGET_64BIT)) return -1; return 83; /* umaddsidi4 */ case 1: if (! #line 1251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1393; /* msa_dotp_u_d */ case 2: if (! #line 1279 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1395; /* msa_dotp_u_w */ case 3: if (! #line 1315 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1397; /* msa_dotp_u_h */ default: return -1; } default: return -1; } case ASHIFT: x6 = XEXP (x4, 0); operands[1] = x6; x7 = XEXP (x4, 1); operands[2] = x7; if (!const_immlsa_operand (operands[2], VOIDmode)) return -1; x5 = XEXP (x3, 1); operands[3] = x5; switch (GET_MODE (operands[0])) { case SImode: if (pattern165 (x3, SImode) != 0 || ! #line 5675 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_LSA)) return -1; return 450; /* lsa */ case DImode: if (pattern165 (x3, DImode) != 0 || !( #line 5675 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DLSA) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 451; /* dlsa */ default: return -1; } case ABS: switch (pattern30 (x3)) { case 0: if (! #line 959 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1280; /* msa_add_a_d */ case 1: if (! #line 959 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1281; /* msa_add_a_w */ case 2: if (! #line 959 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1282; /* msa_add_a_h */ case 3: if (! #line 959 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1283; /* msa_add_a_b */ default: return -1; } case PLUS: x6 = XEXP (x4, 0); if (GET_CODE (x6) != MULT) return -1; x7 = XEXP (x4, 1); if (GET_CODE (x7) != MULT) return -1; x5 = XEXP (x3, 1); operands[1] = x5; x8 = XEXP (x6, 0); switch (GET_CODE (x8)) { case SIGN_EXTEND: switch (pattern144 (x3, SIGN_EXTEND)) { case 0: if (! #line 1341 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1398; /* msa_dpadd_s_d */ case 1: if (! #line 1371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1400; /* msa_dpadd_s_w */ case 2: if (! #line 1409 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1402; /* msa_dpadd_s_h */ default: return -1; } case ZERO_EXTEND: switch (pattern144 (x3, ZERO_EXTEND)) { case 0: if (! #line 1341 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1399; /* msa_dpadd_u_d */ case 1: if (! #line 1371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1401; /* msa_dpadd_u_w */ case 2: if (! #line 1409 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1403; /* msa_dpadd_u_h */ default: return -1; } default: return -1; } case SIGN_EXTEND: switch (pattern32 (x3, SIGN_EXTEND)) { case 0: if (! #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1498; /* msa_hadd_s_h */ case 1: if (! #line 1857 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1502; /* msa_hadd_s_w */ case 2: if (! #line 1873 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1506; /* msa_hadd_s_d */ default: return -1; } case ZERO_EXTEND: switch (pattern32 (x3, ZERO_EXTEND)) { case 0: if (! #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1499; /* msa_hadd_u_h */ case 1: if (! #line 1857 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1503; /* msa_hadd_u_w */ case 2: if (! #line 1873 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1507; /* msa_hadd_u_d */ default: return -1; } default: return -1; } } static int recog_54 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (GET_CODE (x2)) { case HIGH: res = recog_39 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case CONST: case LABEL_REF: case SYMBOL_REF: res = recog_40 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: case MEM: res = recog_44 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; default: break; } operands[1] = x2; x3 = XEXP (x1, 0); operands[0] = x3; switch (GET_MODE (operands[0])) { case DImode: if (nonimmediate_operand (operands[0], DImode) && move_operand (operands[1], DImode)) { if ( #line 4652 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && !TARGET_MIPS16 && (register_operand (operands[0], DImode) || reg_or_0_operand (operands[1], DImode)))) return 306; /* *movdi_32bit */ if ( #line 4665 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_MIPS16 && (register_operand (operands[0], DImode) || register_operand (operands[1], DImode)))) return 307; /* *movdi_32bit_mips16 */ if ( #line 4675 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && (register_operand (operands[0], DImode) || reg_or_0_operand (operands[1], DImode)))) return 308; /* *movdi_64bit */ if ( #line 4685 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16 && (register_operand (operands[0], DImode) || register_operand (operands[1], DImode)))) return 309; /* *movdi_64bit_mips16 */ } break; case SImode: if (nonimmediate_operand (operands[0], SImode) && move_operand (operands[1], SImode)) { if ( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], SImode) || reg_or_0_operand (operands[1], SImode)))) return 310; /* *movsi_internal */ if ( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], SImode) || register_operand (operands[1], SImode)))) return 319; /* *movsi_mips16 */ } break; case V2HImode: if (nonimmediate_operand (operands[0], V2HImode) && move_operand (operands[1], V2HImode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V2HImode) || reg_or_0_operand (operands[1], V2HImode))) && #line 824 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 311; /* *movv2hi_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V2HImode) || register_operand (operands[1], V2HImode))) && #line 824 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 320; /* *movv2hi_mips16 */ } break; case V4QImode: if (nonimmediate_operand (operands[0], V4QImode) && move_operand (operands[1], V4QImode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V4QImode) || reg_or_0_operand (operands[1], V4QImode))) && #line 825 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 312; /* *movv4qi_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V4QImode) || register_operand (operands[1], V4QImode))) && #line 825 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 321; /* *movv4qi_mips16 */ } break; case V2HQmode: if (nonimmediate_operand (operands[0], V2HQmode) && move_operand (operands[1], V2HQmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V2HQmode) || reg_or_0_operand (operands[1], V2HQmode))) && #line 826 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 313; /* *movv2hq_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V2HQmode) || register_operand (operands[1], V2HQmode))) && #line 826 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 322; /* *movv2hq_mips16 */ } break; case V2UHQmode: if (nonimmediate_operand (operands[0], V2UHQmode) && move_operand (operands[1], V2UHQmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V2UHQmode) || reg_or_0_operand (operands[1], V2UHQmode))) && #line 827 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 314; /* *movv2uhq_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V2UHQmode) || register_operand (operands[1], V2UHQmode))) && #line 827 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 323; /* *movv2uhq_mips16 */ } break; case V2HAmode: if (nonimmediate_operand (operands[0], V2HAmode) && move_operand (operands[1], V2HAmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V2HAmode) || reg_or_0_operand (operands[1], V2HAmode))) && #line 828 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 315; /* *movv2ha_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V2HAmode) || register_operand (operands[1], V2HAmode))) && #line 828 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 324; /* *movv2ha_mips16 */ } break; case V2UHAmode: if (nonimmediate_operand (operands[0], V2UHAmode) && move_operand (operands[1], V2UHAmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V2UHAmode) || reg_or_0_operand (operands[1], V2UHAmode))) && #line 829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 316; /* *movv2uha_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V2UHAmode) || register_operand (operands[1], V2UHAmode))) && #line 829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 325; /* *movv2uha_mips16 */ } break; case V4QQmode: if (nonimmediate_operand (operands[0], V4QQmode) && move_operand (operands[1], V4QQmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V4QQmode) || reg_or_0_operand (operands[1], V4QQmode))) && #line 830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 317; /* *movv4qq_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V4QQmode) || register_operand (operands[1], V4QQmode))) && #line 830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 326; /* *movv4qq_mips16 */ } break; case V4UQQmode: if (nonimmediate_operand (operands[0], V4UQQmode) && move_operand (operands[1], V4UQQmode)) { if (( #line 4753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], V4UQQmode) || reg_or_0_operand (operands[1], V4UQQmode))) && #line 831 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 318; /* *movv4uqq_internal */ if (( #line 4764 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], V4UQQmode) || register_operand (operands[1], V4UQQmode))) && #line 831 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_DSP))) return 327; /* *movv4uqq_mips16 */ } break; case HImode: if (nonimmediate_operand (operands[0], HImode) && move_operand (operands[1], HImode)) { if ( #line 4894 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], HImode) || reg_or_0_operand (operands[1], HImode)))) return 358; /* *movhi_internal */ if ( #line 4905 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], HImode) || register_operand (operands[1], HImode)))) return 359; /* *movhi_mips16 */ } break; case QImode: if (nonimmediate_operand (operands[0], QImode) && move_operand (operands[1], QImode)) { if ( #line 4970 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && (register_operand (operands[0], QImode) || reg_or_0_operand (operands[1], QImode)))) return 360; /* *movqi_internal */ if ( #line 4981 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], QImode) || register_operand (operands[1], QImode)))) return 361; /* *movqi_mips16 */ } break; case SFmode: if (nonimmediate_operand (operands[0], SFmode) && move_operand (operands[1], SFmode)) { if ( #line 5036 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && (register_operand (operands[0], SFmode) || reg_or_0_operand (operands[1], SFmode)))) return 363; /* *movsf_hardfloat */ if ( #line 5046 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SOFT_FLOAT && !TARGET_MIPS16 && (register_operand (operands[0], SFmode) || reg_or_0_operand (operands[1], SFmode)))) return 364; /* *movsf_softfloat */ if ( #line 5056 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], SFmode) || register_operand (operands[1], SFmode)))) return 365; /* *movsf_mips16 */ } break; case DFmode: if (nonimmediate_operand (operands[0], DFmode) && move_operand (operands[1], DFmode)) { if ( #line 5077 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && (register_operand (operands[0], DFmode) || reg_or_0_operand (operands[1], DFmode)))) return 366; /* *movdf_hardfloat */ if ( #line 5087 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ((TARGET_SOFT_FLOAT || TARGET_SINGLE_FLOAT) && !TARGET_MIPS16 && (register_operand (operands[0], DFmode) || reg_or_0_operand (operands[1], DFmode)))) return 367; /* *movdf_softfloat */ if ( #line 5097 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && (register_operand (operands[0], DFmode) || register_operand (operands[1], DFmode)))) return 368; /* *movdf_mips16 */ } break; case TImode: if (nonimmediate_operand (operands[0], TImode) && move_operand (operands[1], TImode)) { if ( #line 5118 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && (register_operand (operands[0], TImode) || reg_or_0_operand (operands[1], TImode)))) return 369; /* *movti */ if ( #line 5132 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16 && (register_operand (operands[0], TImode) || register_operand (operands[1], TImode)))) return 370; /* *movti_mips16 */ } break; case TFmode: if (nonimmediate_operand (operands[0], TFmode) && move_operand (operands[1], TFmode)) { if ( #line 5155 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && (register_operand (operands[0], TFmode) || reg_or_0_operand (operands[1], TFmode)))) return 371; /* *movtf */ if ( #line 5166 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16 && (register_operand (operands[0], TFmode) || register_operand (operands[1], TFmode)))) return 372; /* *movtf_mips16 */ } break; case V2SFmode: if (nonimmediate_operand (operands[0], V2SFmode) && move_operand (operands[1], V2SFmode) && #line 5223 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT && (register_operand (operands[0], V2SFmode) || reg_or_0_operand (operands[1], V2SFmode)))) return 373; /* *movv2sf */ break; case V2SImode: if (nonimmediate_operand (operands[0], V2SImode) && move_operand (operands[1], V2SImode) && #line 115 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1058; /* movv2si_internal */ break; case V4HImode: if (nonimmediate_operand (operands[0], V4HImode) && move_operand (operands[1], V4HImode) && #line 115 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1059; /* movv4hi_internal */ break; case V8QImode: if (nonimmediate_operand (operands[0], V8QImode) && move_operand (operands[1], V8QImode) && #line 115 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1060; /* movv8qi_internal */ break; case V2DFmode: if (nonimmediate_operand (operands[0], V2DFmode) && move_operand (operands[1], V2DFmode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1196; /* movv2df_msa */ break; case V4SFmode: if (nonimmediate_operand (operands[0], V4SFmode) && move_operand (operands[1], V4SFmode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1197; /* movv4sf_msa */ break; case V2DImode: if (nonimmediate_operand (operands[0], V2DImode) && move_operand (operands[1], V2DImode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1198; /* movv2di_msa */ break; case V4SImode: if (nonimmediate_operand (operands[0], V4SImode) && move_operand (operands[1], V4SImode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1199; /* movv4si_msa */ break; case V8HImode: if (nonimmediate_operand (operands[0], V8HImode) && move_operand (operands[1], V8HImode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1200; /* movv8hi_msa */ break; case V16QImode: if (nonimmediate_operand (operands[0], V16QImode) && move_operand (operands[1], V16QImode) && #line 643 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1201; /* movv16qi_msa */ break; default: break; } operands[0] = x2; if (pattern23 (x3, DImode) == 0 && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return 429; /* use_cprestore_di */ if (GET_CODE (x2) != MEM) return -1; x4 = XEXP (x2, 0); if (GET_CODE (x4) == PLUS) { res = recog_45 (x1, insn, pnum_clobbers); if (res >= 0) return res; } operands[0] = x2; if (pattern23 (x3, SImode) == 0 && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return 428; /* use_cprestore_si */ if (GET_MODE (x2) != SImode || GET_CODE (x4) != PLUS) return -1; operands[0] = x3; if (!register_operand (operands[0], SImode)) return -1; x5 = XEXP (x4, 0); operands[1] = x5; x6 = XEXP (x4, 1); operands[2] = x6; switch (pattern155 (x4)) { case 0: if (!( #line 1131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 940; /* mips_lwx_si */ case 1: if (!( #line 1131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 942; /* mips_lwx_di */ default: return -1; } } static int recog_55 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); switch (GET_CODE (x3)) { case NE: case EQ: x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: res = recog_47 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case UNSPEC: res = recog_48 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; default: break; } switch (GET_CODE (x3)) { case EQ: switch (pattern78 (x1)) { case 0: if (! #line 6005 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode))) return -1; return 480; /* *branch_bit0si */ case 1: if (!( #line 6005 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 482; /* *branch_bit0di */ case 2: if (! #line 6025 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode))) return -1; return 484; /* *branch_bit0si_inverted */ case 3: if (!( #line 6025 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 486; /* *branch_bit0di_inverted */ case 4: x5 = XEXP (x3, 1); if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x6 = XEXP (x1, 0); operands[0] = x6; x7 = XEXP (x2, 1); operands[2] = x7; x8 = XEXP (x2, 2); operands[3] = x8; switch (GET_MODE (operands[0])) { case SImode: switch (pattern210 (x2, SImode)) { case 0: if (! #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], SImode) != register_operand (operands[3], SImode)))) return -1; return 684; /* *seleqsi_using_si */ case 1: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], SImode) != register_operand (operands[3], SImode))) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 688; /* *seleqsi_using_di */ default: return -1; } case DImode: switch (pattern210 (x2, DImode)) { case 0: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], DImode) != register_operand (operands[3], DImode))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 686; /* *seleqdi_using_si */ case 1: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], DImode) != register_operand (operands[3], DImode))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 690; /* *seleqdi_using_di */ default: return -1; } default: return -1; } case 5: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1668; /* msa_bz_d_f */ case 6: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1670; /* msa_bz_w_f */ case 7: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1672; /* msa_bz_d */ case 8: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1674; /* msa_bz_w */ case 9: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1676; /* msa_bz_h */ case 10: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1678; /* msa_bz_b */ case 11: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1680; /* msa_bz_v_d_f */ case 12: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1682; /* msa_bz_v_w_f */ case 13: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1684; /* msa_bz_v_d */ case 14: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1686; /* msa_bz_v_w */ case 15: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1688; /* msa_bz_v_h */ case 16: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1690; /* msa_bz_v_b */ default: return -1; } case NE: switch (pattern78 (x1)) { case 0: if (! #line 6005 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode))) return -1; return 481; /* *branch_bit1si */ case 1: if (!( #line 6005 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 483; /* *branch_bit1di */ case 2: if (! #line 6025 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode))) return -1; return 485; /* *branch_bit1si_inverted */ case 3: if (!( #line 6025 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BBIT && UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 487; /* *branch_bit1di_inverted */ case 4: x5 = XEXP (x3, 1); if (GET_CODE (x5) != CONST_INT) return -1; switch (XWINT (x5, 0)) { case 0L: x7 = XEXP (x2, 1); switch (GET_CODE (x7)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[2] = x7; x6 = XEXP (x1, 0); operands[0] = x6; x8 = XEXP (x2, 2); operands[3] = x8; switch (GET_MODE (operands[0])) { case SImode: switch (pattern210 (x2, SImode)) { case 0: if (! #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], SImode) != register_operand (operands[3], SImode)))) return -1; return 685; /* *selnesi_using_si */ case 1: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], SImode) != register_operand (operands[3], SImode))) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 689; /* *selnesi_using_di */ default: return -1; } case DImode: switch (pattern210 (x2, DImode)) { case 0: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], DImode) != register_operand (operands[3], DImode))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 687; /* *selnedi_using_si */ case 1: if (!( #line 7248 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && (register_operand (operands[2], DImode) != register_operand (operands[3], DImode))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 691; /* *selnedi_using_di */ default: return -1; } case SFmode: if (pattern229 (x2, SFmode) != 0 || !( #line 7268 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 692; /* *selsf */ case DFmode: if (pattern229 (x2, DFmode) != 0 || !( #line 7268 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEL && ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 693; /* *seldf */ default: return -1; } case LABEL_REF: switch (pattern182 (x1)) { case 0: if (! #line 585 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 824; /* bc1any4t */ case 1: if (! #line 607 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 826; /* bc1any2t */ default: return -1; } default: return -1; } case -1L: x7 = XEXP (x2, 1); if (GET_CODE (x7) != LABEL_REF) return -1; switch (pattern182 (x1)) { case 0: if (! #line 596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 825; /* bc1any4f */ case 1: if (! #line 618 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D)) return -1; return 827; /* bc1any2f */ default: return -1; } default: return -1; } case 5: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1669; /* msa_bnz_d_f */ case 6: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1671; /* msa_bnz_w_f */ case 7: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1673; /* msa_bnz_d */ case 8: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1675; /* msa_bnz_w */ case 9: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1677; /* msa_bnz_h */ case 10: if (! #line 2720 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1679; /* msa_bnz_b */ case 11: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1681; /* msa_bnz_v_d_f */ case 12: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1683; /* msa_bnz_v_w_f */ case 13: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1685; /* msa_bnz_v_d */ case 14: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1687; /* msa_bnz_v_w */ case 15: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1689; /* msa_bnz_v_h */ case 16: if (! #line 2740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1691; /* msa_bnz_v_b */ default: return -1; } default: return -1; } case GE: case GT: case LE: case LT: case GEU: case GTU: case LEU: case LTU: operands[1] = x3; if (order_operator (operands[1], VOIDmode)) { res = recog_49 (x1, insn, pnum_clobbers); if (res >= 0) return res; } switch (GET_CODE (x3)) { case LTU: if (pnum_clobbers == NULL) return -1; x7 = XEXP (x2, 1); if (GET_CODE (x7) != UNSPEC || XVECLEN (x7, 0) != 2 || XINT (x7, 1) != 51) return -1; x9 = XVECEXP (x7, 0, 1); if (GET_CODE (x9) != LABEL_REF) return -1; x8 = XEXP (x2, 2); if (GET_CODE (x8) != LABEL_REF) return -1; x6 = XEXP (x1, 0); if (GET_CODE (x6) != PC) return -1; x4 = XEXP (x3, 0); operands[0] = x4; if (!register_operand (operands[0], SImode)) return -1; x5 = XEXP (x3, 1); operands[1] = x5; if (!arith_operand (operands[1], SImode)) return -1; x10 = XEXP (x9, 0); operands[2] = x10; x11 = XEXP (x8, 0); operands[3] = x11; x12 = XVECEXP (x7, 0, 0); if (!rtx_equal_p (x12, operands[0])) return -1; switch (GET_MODE (x7)) { case SImode: if (!( #line 6414 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16_SHORT_JUMP_TABLES) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; *pnum_clobbers = 3; return 623; /* casesi_internal_mips16_si */ case DImode: if (!( #line 6414 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16_SHORT_JUMP_TABLES) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 3; return 624; /* casesi_internal_mips16_di */ default: return -1; } case GE: x4 = XEXP (x3, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 182 || GET_MODE (x4) != CCDSPmode) return -1; x7 = XEXP (x2, 1); if (GET_CODE (x7) != LABEL_REF) return -1; x8 = XEXP (x2, 2); if (GET_CODE (x8) != PC) return -1; x6 = XEXP (x1, 0); if (GET_CODE (x6) != PC) return -1; x5 = XEXP (x3, 1); operands[1] = x5; if (!immediate_operand (operands[1], SImode)) return -1; x13 = XEXP (x7, 0); operands[0] = x13; if (! #line 1154 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 948; /* mips_bposge */ case GT: switch (pattern80 (x1)) { case 0: if (! #line 1709 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1476; /* msa_fmax_a_d */ case 1: if (! #line 1709 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1477; /* msa_fmax_a_w */ case 2: if (! #line 2195 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1534; /* msa_max_a_d */ case 3: if (! #line 2195 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1535; /* msa_max_a_w */ case 4: if (! #line 2195 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1536; /* msa_max_a_h */ case 5: if (! #line 2195 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1537; /* msa_max_a_b */ default: return -1; } case LT: switch (pattern80 (x1)) { case 0: if (! #line 1730 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1480; /* msa_fmin_a_d */ case 1: if (! #line 1730 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1481; /* msa_fmin_a_w */ case 2: if (! #line 2229 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1546; /* msa_min_a_d */ case 3: if (! #line 2229 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1547; /* msa_min_a_w */ case 4: if (! #line 2229 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1548; /* msa_min_a_h */ case 5: if (! #line 2229 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1549; /* msa_min_a_b */ default: return -1; } default: return -1; } case REG: case SUBREG: operands[1] = x3; x6 = XEXP (x1, 0); operands[0] = x6; x7 = XEXP (x2, 1); operands[2] = x7; x8 = XEXP (x2, 2); operands[3] = x8; switch (GET_MODE (operands[0])) { case SImode: switch (pattern159 (x2, SImode)) { case 0: if (! #line 7219 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE)) return -1; return 674; /* *movsi_on_si_ne */ case 1: if (!( #line 7219 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 676; /* *movsi_on_di_ne */ default: return -1; } case DImode: switch (pattern159 (x2, DImode)) { case 0: if (!( #line 7219 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 675; /* *movdi_on_si_ne */ case 1: if (!( #line 7219 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CONDMOVE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 677; /* *movdi_on_di_ne */ default: return -1; } default: return -1; } default: return -1; } } static int recog_56 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case CONST_VECTOR: case REG: case SUBREG: operands[2] = x5; operands[1] = x4; switch (GET_MODE (operands[0])) { case SFmode: if (pattern0 (x3, SFmode) != 0 || ! #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) return -1; return 23; /* subsf3 */ case DFmode: if (pattern0 (x3, DFmode) != 0 || ! #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 24; /* subdf3 */ case V2SFmode: if (pattern0 (x3, V2SFmode) != 0 || ! #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 25; /* subv2sf3 */ case SImode: if (pattern0 (x3, SImode) != 0) return -1; return 26; /* subsi3 */ case DImode: if (pattern0 (x3, DImode) != 0 || ! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 27; /* subdi3 */ case QQmode: if (pattern0 (x3, QQmode) != 0) return -1; return 1018; /* subqq3 */ case HQmode: if (pattern0 (x3, HQmode) != 0) return -1; return 1019; /* subhq3 */ case SQmode: if (pattern0 (x3, SQmode) != 0) return -1; return 1020; /* subsq3 */ case DQmode: if (pattern0 (x3, DQmode) != 0 || ! #line 22 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1021; /* subdq3 */ case UQQmode: if (pattern0 (x3, UQQmode) != 0) return -1; return 1022; /* subuqq3 */ case UHQmode: if (pattern0 (x3, UHQmode) != 0) return -1; return 1023; /* subuhq3 */ case USQmode: if (pattern0 (x3, USQmode) != 0) return -1; return 1024; /* subusq3 */ case UDQmode: if (pattern0 (x3, UDQmode) != 0 || ! #line 23 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1025; /* subudq3 */ case HAmode: if (pattern0 (x3, HAmode) != 0) return -1; return 1026; /* subha3 */ case SAmode: if (pattern0 (x3, SAmode) != 0) return -1; return 1027; /* subsa3 */ case DAmode: if (pattern0 (x3, DAmode) != 0 || ! #line 24 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1028; /* subda3 */ case UHAmode: if (pattern0 (x3, UHAmode) != 0) return -1; return 1029; /* subuha3 */ case USAmode: if (pattern0 (x3, USAmode) != 0) return -1; return 1030; /* subusa3 */ case UDAmode: if (pattern0 (x3, UDAmode) != 0 || ! #line 25 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (TARGET_64BIT)) return -1; return 1031; /* subuda3 */ case V2SImode: if (pattern0 (x3, V2SImode) != 0 || ! #line 596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1129; /* subv2si3 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1130; /* subv4hi3 */ case V8QImode: if (pattern0 (x3, V8QImode) != 0 || ! #line 596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1131; /* subv8qi3 */ case V2DImode: if (pattern17 (x3, V2DImode) != 0 || ! #line 719 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1206; /* subv2di3 */ case V4SImode: if (pattern17 (x3, V4SImode) != 0 || ! #line 719 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1207; /* subv4si3 */ case V8HImode: if (pattern17 (x3, V8HImode) != 0 || ! #line 719 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1208; /* subv8hi3 */ case V16QImode: if (pattern17 (x3, V16QImode) != 0 || ! #line 719 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1209; /* subv16qi3 */ case V2DFmode: if (pattern0 (x3, V2DFmode) != 0 || ! #line 903 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1268; /* subv2df3 */ case V4SFmode: if (pattern0 (x3, V4SFmode) != 0 || ! #line 903 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1269; /* subv4sf3 */ default: return -1; } case MULT: x6 = XEXP (x5, 0); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[2] = x6; operands[1] = x4; x7 = XEXP (x5, 1); operands[3] = x7; switch (GET_MODE (operands[0])) { case SImode: if (pnum_clobbers == NULL || pattern200 (x3, SImode) != 0) return -1; if ( #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MSAC)) { *pnum_clobbers = 1; return 45; /* *msac */ } if ( #line 1860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC && !ISA_HAS_MSAC)) { *pnum_clobbers = 2; return 46; /* *msac_using_macc */ } if (! #line 2003 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MADD_MSUB)) return -1; *pnum_clobbers = 2; return 49; /* *mul_sub_si */ case SFmode: if (pattern200 (x3, SFmode) != 0 || !( #line 2770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 126; /* *nmsub4sf_fastmath */ case DFmode: if (pattern200 (x3, DFmode) != 0 || !( #line 2770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 127; /* *nmsub4df_fastmath */ case V2SFmode: if (pattern200 (x3, V2SFmode) != 0 || !( #line 2770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 128; /* *nmsub4v2sf_fastmath */ case V2DImode: if (pattern200 (x3, V2DImode) != 0 || ! #line 751 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1218; /* msa_msubv_d */ case V4SImode: if (pattern200 (x3, V4SImode) != 0 || ! #line 751 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1219; /* msa_msubv_w */ case V8HImode: if (pattern200 (x3, V8HImode) != 0 || ! #line 751 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1220; /* msa_msubv_h */ case V16QImode: if (pattern200 (x3, V16QImode) != 0 || ! #line 751 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1221; /* msa_msubv_b */ default: return -1; } case SIGN_EXTEND: if (pattern108 (x3, SIGN_EXTEND) != 0 || ! #line 2247 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && (ISA_HAS_MSAC || GENERATE_MADD_MSUB || ISA_HAS_DSP))) return -1; return 63; /* msubsidi4 */ case ZERO_EXTEND: if (pattern108 (x3, ZERO_EXTEND) != 0 || ! #line 2247 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && (ISA_HAS_MSAC || GENERATE_MADD_MSUB || ISA_HAS_DSP))) return -1; return 64; /* umsubsidi4 */ default: return -1; } case PLUS: x6 = XEXP (x5, 0); if (GET_CODE (x6) != MULT) return -1; x7 = XEXP (x5, 1); if (GET_CODE (x7) != MULT) return -1; operands[1] = x4; x8 = XEXP (x6, 0); switch (GET_CODE (x8)) { case SIGN_EXTEND: switch (pattern168 (x3, SIGN_EXTEND)) { case 0: if (! #line 1435 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1404; /* msa_dpsub_s_d */ case 1: if (! #line 1465 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1406; /* msa_dpsub_s_w */ case 2: if (! #line 1503 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1408; /* msa_dpsub_s_h */ default: return -1; } case ZERO_EXTEND: switch (pattern168 (x3, ZERO_EXTEND)) { case 0: if (! #line 1435 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1405; /* msa_dpsub_u_d */ case 1: if (! #line 1465 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1407; /* msa_dpsub_u_w */ case 2: if (! #line 1503 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1409; /* msa_dpsub_u_h */ default: return -1; } default: return -1; } default: return -1; } case MULT: x9 = XEXP (x4, 1); operands[2] = x9; x5 = XEXP (x3, 1); operands[3] = x5; x10 = XEXP (x4, 0); switch (GET_CODE (x10)) { case REG: case SUBREG: operands[1] = x10; switch (GET_MODE (operands[0])) { case SFmode: if (pattern169 (x3, SFmode) != 0 || !( #line 2703 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 114; /* *msub4sf */ case DFmode: if (pattern169 (x3, DFmode) != 0 || !( #line 2703 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 115; /* *msub4df */ case V2SFmode: if (pattern169 (x3, V2SFmode) != 0 || !( #line 2703 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 116; /* *msub4v2sf */ default: return -1; } case NEG: x11 = XEXP (x10, 0); operands[1] = x11; switch (GET_MODE (operands[0])) { case SFmode: if (pattern170 (x3, SFmode) != 0 || !( #line 2754 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 123; /* *nmadd4sf_fastmath */ case DFmode: if (pattern170 (x3, DFmode) != 0 || !( #line 2754 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 124; /* *nmadd4df_fastmath */ case V2SFmode: if (pattern170 (x3, V2SFmode) != 0 || !( #line 2754 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 125; /* *nmadd4v2sf_fastmath */ default: return -1; } default: return -1; } case SIGN_EXTEND: switch (pattern32 (x3, SIGN_EXTEND)) { case 0: if (! #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1500; /* msa_hsub_s_h */ case 1: if (! #line 1857 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1504; /* msa_hsub_s_w */ case 2: if (! #line 1873 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1508; /* msa_hsub_s_d */ default: return -1; } case ZERO_EXTEND: switch (pattern32 (x3, ZERO_EXTEND)) { case 0: if (! #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1501; /* msa_hsub_u_h */ case 1: if (! #line 1857 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1505; /* msa_hsub_u_w */ case 2: if (! #line 1873 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1509; /* msa_hsub_u_d */ default: return -1; } default: return -1; } } static int recog_57 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (XVECLEN (x2, 0)) { case 1: switch (XINT (x2, 1)) { case 39: x3 = XVECEXP (x2, 0, 0); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x4 = XEXP (x1, 0); operands[0] = x4; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || !( #line 5531 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 432; /* rdhwr_synci_step_si */ case DImode: if (!register_operand (operands[0], DImode) || !( #line 5531 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 433; /* rdhwr_synci_step_di */ default: return -1; } case 48: switch (pattern43 (x1)) { case 0: if (! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 636; /* mips_rdpgpr_si */ case 1: if (! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 637; /* mips_rdpgpr_di */ default: return -1; } case 49: if (GET_MODE (x2) != SImode) return -1; x4 = XEXP (x1, 0); operands[0] = x4; if (!register_operand (operands[0], SImode)) return -1; x3 = XVECEXP (x2, 0, 0); operands[1] = x3; if (!register_operand (operands[1], SImode)) return -1; return 638; /* cop0_move */ case 22: if (pnum_clobbers == NULL) return -1; x3 = XVECEXP (x2, 0, 0); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x4 = XEXP (x1, 0); if (GET_CODE (x4) != REG) return -1; switch (pattern135 (x1, 28)) { case 0: if (!( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; *pnum_clobbers = 1; return 641; /* restore_gp_si */ case 1: if (!( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 1; return 642; /* restore_gp_di */ default: return -1; } case 25: if (GET_MODE (x2) != SImode) return -1; x3 = XVECEXP (x2, 0, 0); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x4 = XEXP (x1, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 79 || GET_MODE (x4) != SImode || ! #line 6805 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_USE_GOT)) return -1; return 647; /* set_got_version */ case 12: x3 = XVECEXP (x2, 0, 0); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x4 = XEXP (x1, 0); operands[0] = x4; if (!register_operand (operands[0], SImode) || ! #line 7525 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) return -1; return 709; /* *mips_get_fcsr */ case 60: x4 = XEXP (x1, 0); operands[0] = x4; x3 = XVECEXP (x2, 0, 0); switch (GET_CODE (x3)) { case PLUS: x5 = XEXP (x3, 1); operands[1] = x5; x6 = XEXP (x3, 0); if (!rtx_equal_p (x6, operands[0])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern180 (x2, SImode) != 0 || ! #line 114 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 725; /* sync_addsi */ case DImode: if (pattern180 (x2, DImode) != 0 || !( #line 114 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 726; /* sync_adddi */ default: return -1; } case MINUS: x5 = XEXP (x3, 1); operands[1] = x5; x6 = XEXP (x3, 0); if (!rtx_equal_p (x6, operands[0])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern181 (x2, SImode) != 0 || ! #line 368 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 745; /* sync_subsi */ case DImode: if (pattern181 (x2, DImode) != 0 || !( #line 368 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 746; /* sync_subdi */ default: return -1; } case IOR: switch (pattern115 (x2)) { case 0: if (! #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 755; /* sync_iorsi */ case 1: if (!( #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 758; /* sync_iordi */ default: return -1; } case XOR: switch (pattern115 (x2)) { case 0: if (! #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 756; /* sync_xorsi */ case 1: if (!( #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 759; /* sync_xordi */ default: return -1; } case AND: switch (pattern115 (x2)) { case 0: if (! #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 757; /* sync_andsi */ case 1: if (!( #line 443 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 760; /* sync_anddi */ default: return -1; } case CONST_INT: case REG: case SUBREG: operands[1] = x3; switch (GET_MODE (operands[0])) { case SImode: if (!memory_operand (operands[0], SImode) || GET_MODE (x2) != SImode || !uns_arith_operand (operands[1], SImode) || ! #line 484 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 773; /* sync_nandsi */ case DImode: if (!memory_operand (operands[0], DImode) || GET_MODE (x2) != DImode || !uns_arith_operand (operands[1], DImode) || !( #line 484 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 774; /* sync_nanddi */ default: return -1; } default: return -1; } case 241: if (GET_MODE (x2) != SImode) return -1; x4 = XEXP (x1, 0); operands[0] = x4; if (!register_operand (operands[0], SImode)) return -1; x3 = XVECEXP (x2, 0, 0); operands[1] = x3; if (!const_uimm5_operand (operands[1], VOIDmode) || ! #line 2630 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1660; /* msa_cfcmsa */ default: return -1; } case 2: if (XINT (x2, 1) != 52) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x3 = XVECEXP (x2, 0, 0); operands[1] = x3; x7 = XVECEXP (x2, 0, 1); operands[2] = x7; switch (GET_MODE (operands[0])) { case SImode: if (pattern51 (x2, SImode) != 0 || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 626; /* probe_stack_range_si */ case DImode: if (pattern51 (x2, DImode) != 0 || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 627; /* probe_stack_range_di */ default: return -1; } case 3: if (pattern24 (x1, pnum_clobbers) != 0) return -1; x8 = XVECEXP (x2, 0, 2); if (GET_MODE (x8) != SImode) return -1; switch (GET_CODE (x8)) { case PLUS: x9 = XEXP (x8, 1); operands[3] = x9; if (!reg_or_0_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 727; /* sync_add_12 */ case MINUS: x9 = XEXP (x8, 1); operands[3] = x9; if (!reg_or_0_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 728; /* sync_sub_12 */ case IOR: x9 = XEXP (x8, 1); operands[3] = x9; if (!reg_or_0_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 729; /* sync_ior_12 */ case XOR: x9 = XEXP (x8, 1); operands[3] = x9; if (!reg_or_0_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 730; /* sync_xor_12 */ case AND: x9 = XEXP (x8, 1); operands[3] = x9; if (!reg_or_0_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 731; /* sync_and_12 */ default: return -1; } case 4: if (pattern24 (x1, pnum_clobbers) != 0) return -1; x11 = XVECEXP (x2, 0, 3); operands[3] = x11; if (!reg_or_0_operand (operands[3], SImode)) return -1; x8 = XVECEXP (x2, 0, 2); if (!rtx_equal_p (x8, operands[0]) || ! #line 268 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 742; /* sync_nand_12 */ default: return -1; } } static int recog_58 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !register_operand (operands[1], SImode)) return -1; if (uns_arith_operand (operands[2], SImode) && #line 3342 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 185; /* *iorsi3 */ if (!register_operand (operands[2], SImode) || ! #line 3355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 187; /* *iorsi3_mips16 */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], DImode)) return -1; if (uns_arith_operand (operands[2], DImode) && ( #line 3342 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 186; /* *iordi3 */ if (!register_operand (operands[2], DImode) || !( #line 3355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 188; /* *iordi3_mips16 */ case V2SImode: if (pattern0 (x3, V2SImode) != 0 || ! #line 245 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1082; /* iorv2si3 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 245 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1083; /* iorv4hi3 */ case V8QImode: if (pattern0 (x3, V8QImode) != 0 || ! #line 245 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1084; /* iorv8qi3 */ case V2DImode: if (pattern113 (x3, V2DImode) != 0 || ! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1242; /* iorv2di3 */ case V4SImode: if (pattern113 (x3, V4SImode) != 0 || ! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1243; /* iorv4si3 */ case V8HImode: if (pattern113 (x3, V8HImode) != 0 || ! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1244; /* iorv8hi3 */ case V16QImode: if (pattern113 (x3, V16QImode) != 0 || ! #line 810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1245; /* iorv16qi3 */ default: return -1; } case AND: x5 = XEXP (x3, 1); if (GET_CODE (x5) != AND) return -1; x6 = XEXP (x4, 0); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[2] = x6; x7 = XEXP (x5, 0); if (GET_CODE (x7) != NOT) return -1; x8 = XEXP (x4, 1); operands[3] = x8; x9 = XEXP (x5, 1); operands[1] = x9; x10 = XEXP (x7, 0); if (!rtx_equal_p (x10, operands[3])) return -1; switch (GET_MODE (operands[0])) { case V2DImode: if (pattern221 (x3, V2DImode) != 0 || ! #line 1122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1344; /* msa_bmnz_d */ case V4SImode: if (pattern221 (x3, V4SImode) != 0 || ! #line 1122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1345; /* msa_bmnz_w */ case V8HImode: if (pattern221 (x3, V8HImode) != 0 || ! #line 1122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1346; /* msa_bmnz_h */ case V16QImode: if (pattern221 (x3, V16QImode) != 0 || ! #line 1122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1347; /* msa_bmnz_b */ default: return -1; } case NOT: x8 = XEXP (x4, 1); operands[2] = x8; switch (GET_MODE (operands[0])) { case V2DImode: if (pattern154 (x3, V2DImode) != 0) return -1; x11 = XEXP (x6, 0); operands[3] = x11; if (reg_or_vector_same_val_operand (operands[3], V2DImode)) { x7 = XEXP (x5, 0); operands[1] = x7; if (register_operand (operands[1], V2DImode)) { x9 = XEXP (x5, 1); if (rtx_equal_p (x9, operands[3]) && #line 1136 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1348; /* msa_bmz_d */ } } operands[1] = x11; if (!register_operand (operands[1], V2DImode)) return -1; x9 = XEXP (x5, 1); operands[3] = x9; if (!reg_or_vector_same_val_operand (operands[3], V2DImode)) return -1; x7 = XEXP (x5, 0); if (!rtx_equal_p (x7, operands[1]) || ! #line 1170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1360; /* msa_bsel_d */ case V4SImode: if (pattern154 (x3, V4SImode) != 0) return -1; x11 = XEXP (x6, 0); operands[3] = x11; if (reg_or_vector_same_val_operand (operands[3], V4SImode)) { x7 = XEXP (x5, 0); operands[1] = x7; if (register_operand (operands[1], V4SImode)) { x9 = XEXP (x5, 1); if (rtx_equal_p (x9, operands[3]) && #line 1136 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1349; /* msa_bmz_w */ } } operands[1] = x11; if (!register_operand (operands[1], V4SImode)) return -1; x9 = XEXP (x5, 1); operands[3] = x9; if (!reg_or_vector_same_val_operand (operands[3], V4SImode)) return -1; x7 = XEXP (x5, 0); if (!rtx_equal_p (x7, operands[1]) || ! #line 1170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1361; /* msa_bsel_w */ case V8HImode: if (pattern154 (x3, V8HImode) != 0) return -1; x11 = XEXP (x6, 0); operands[3] = x11; if (reg_or_vector_same_val_operand (operands[3], V8HImode)) { x7 = XEXP (x5, 0); operands[1] = x7; if (register_operand (operands[1], V8HImode)) { x9 = XEXP (x5, 1); if (rtx_equal_p (x9, operands[3]) && #line 1136 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1350; /* msa_bmz_h */ } } operands[1] = x11; if (!register_operand (operands[1], V8HImode)) return -1; x9 = XEXP (x5, 1); operands[3] = x9; if (!reg_or_vector_same_val_operand (operands[3], V8HImode)) return -1; x7 = XEXP (x5, 0); if (!rtx_equal_p (x7, operands[1]) || ! #line 1170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1362; /* msa_bsel_h */ case V16QImode: if (pattern154 (x3, V16QImode) != 0) return -1; x11 = XEXP (x6, 0); operands[3] = x11; if (reg_or_vector_same_val_operand (operands[3], V16QImode)) { x7 = XEXP (x5, 0); operands[1] = x7; if (register_operand (operands[1], V16QImode)) { x9 = XEXP (x5, 1); if (rtx_equal_p (x9, operands[3]) && #line 1136 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1351; /* msa_bmz_b */ } } operands[1] = x11; if (!register_operand (operands[1], V16QImode)) return -1; x9 = XEXP (x5, 1); operands[3] = x9; if (!reg_or_vector_same_val_operand (operands[3], V16QImode)) return -1; x7 = XEXP (x5, 0); if (!rtx_equal_p (x7, operands[1]) || ! #line 1170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1363; /* msa_bsel_b */ default: return -1; } default: return -1; } default: return -1; } } static int recog_59 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case LSHIFTRT: x5 = XEXP (x4, 1); if (GET_CODE (x5) != CONST_INT) return -1; x6 = XEXP (x4, 0); switch (GET_CODE (x6)) { case MULT: x7 = XEXP (x6, 0); switch (GET_CODE (x7)) { case SIGN_EXTEND: switch (pattern137 (x3, SIGN_EXTEND)) { case 0: if ( #line 2294 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_R6MUL)) return 65; /* smulsi3_highpart_r6 */ if (pnum_clobbers == NULL) return -1; if ( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16)) { *pnum_clobbers = 1; return 67; /* smulsi3_highpart_internal */ } if (! #line 2355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; *pnum_clobbers = 1; return 69; /* smulsi3_highpart_mulhi_internal */ case 1: if ( #line 2408 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_R6DMUL)) return 73; /* smuldi3_highpart_r6 */ if (pnum_clobbers == NULL || ! #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; *pnum_clobbers = 1; return 75; /* smuldi3_highpart_internal */ default: return -1; } case ZERO_EXTEND: switch (pattern137 (x3, ZERO_EXTEND)) { case 0: if ( #line 2294 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_R6MUL)) return 66; /* umulsi3_highpart_r6 */ if (pnum_clobbers == NULL) return -1; if ( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16)) { *pnum_clobbers = 1; return 68; /* umulsi3_highpart_internal */ } if (! #line 2355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; *pnum_clobbers = 1; return 70; /* umulsi3_highpart_mulhi_internal */ case 1: if ( #line 2408 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_R6DMUL)) return 74; /* umuldi3_highpart_r6 */ if (pnum_clobbers == NULL || ! #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; *pnum_clobbers = 1; return 76; /* umuldi3_highpart_internal */ default: return -1; } default: return -1; } case NEG: if (pnum_clobbers == NULL || GET_MODE (x6) != DImode) return -1; x7 = XEXP (x6, 0); if (GET_CODE (x7) != MULT || GET_MODE (x7) != DImode || XWINT (x5, 0) != 32L || !register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || GET_MODE (x4) != DImode) return -1; x8 = XEXP (x7, 0); if (GET_MODE (x8) != DImode) return -1; x9 = XEXP (x7, 1); if (GET_MODE (x9) != DImode) return -1; switch (GET_CODE (x8)) { case SIGN_EXTEND: if (GET_CODE (x9) != SIGN_EXTEND) return -1; x10 = XEXP (x8, 0); operands[1] = x10; if (!register_operand (operands[1], SImode)) return -1; x11 = XEXP (x9, 0); operands[2] = x11; if (!register_operand (operands[2], SImode) || ! #line 2370 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; *pnum_clobbers = 1; return 71; /* *smulsi3_highpart_neg_mulhi_internal */ case ZERO_EXTEND: if (GET_CODE (x9) != ZERO_EXTEND) return -1; x10 = XEXP (x8, 0); operands[1] = x10; if (!register_operand (operands[1], SImode)) return -1; x11 = XEXP (x9, 0); operands[2] = x11; if (!register_operand (operands[2], SImode) || ! #line 2370 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; *pnum_clobbers = 1; return 72; /* *umulsi3_highpart_neg_mulhi_internal */ default: return -1; } case REG: case SUBREG: operands[1] = x6; if (!register_operand (operands[1], DImode) || GET_MODE (x4) != DImode) return -1; if (XWINT (x5, 0) == 32L) { switch (pattern175 (x3)) { case 0: if ( #line 3461 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return 202; /* *lshr32_truncqi */ break; case 1: if ( #line 3461 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return 203; /* *lshr32_trunchi */ break; case 2: if ( #line 3461 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return 204; /* *lshr32_truncsi */ break; default: break; } } operands[2] = x5; if (!const_arith_operand (operands[2], DImode)) return -1; switch (pattern175 (x3)) { case 0: if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 206; /* *lshr_truncqi_exts */ case 1: if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 208; /* *lshr_trunchi_exts */ case 2: if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 210; /* *lshr_truncsi_exts */ default: return -1; } default: return -1; } case REG: case SUBREG: operands[1] = x4; if (!register_operand (operands[1], DImode)) return -1; switch (GET_MODE (operands[0])) { case QImode: if (!nonimmediate_operand (operands[0], QImode) || GET_MODE (x3) != QImode || ! #line 3437 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 196; /* truncdiqi2 */ case HImode: if (!nonimmediate_operand (operands[0], HImode) || GET_MODE (x3) != HImode || ! #line 3437 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 197; /* truncdihi2 */ case SImode: if (!nonimmediate_operand (operands[0], SImode) || GET_MODE (x3) != SImode || ! #line 3437 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 198; /* truncdisi2 */ default: return -1; } case ASHIFTRT: if (GET_MODE (x4) != DImode) return -1; x6 = XEXP (x4, 0); operands[1] = x6; if (!register_operand (operands[1], DImode)) return -1; x5 = XEXP (x4, 1); operands[2] = x5; if (!const_arith_operand (operands[2], DImode)) return -1; switch (pattern175 (x3)) { case 0: if ( #line 3451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && IN_RANGE (INTVAL (operands[2]), 32, 63))) return 199; /* *ashr_truncqi */ if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 205; /* *ashr_truncqi_exts */ case 1: if ( #line 3451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && IN_RANGE (INTVAL (operands[2]), 32, 63))) return 200; /* *ashr_trunchi */ if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 207; /* *ashr_trunchi_exts */ case 2: if ( #line 3451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && IN_RANGE (INTVAL (operands[2]), 32, 63))) return 201; /* *ashr_truncsi */ if (! #line 3474 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && UINTVAL (operands[2]) < 32)) return -1; return 209; /* *ashr_truncsi_exts */ default: return -1; } case ZERO_EXTRACT: if (GET_MODE (x4) != DImode || !register_operand (operands[0], SImode) || GET_MODE (x3) != SImode) return -1; x6 = XEXP (x4, 0); operands[1] = x6; if (!register_operand (operands[1], DImode)) return -1; x5 = XEXP (x4, 1); operands[2] = x5; if (!const_int_operand (operands[2], VOIDmode)) return -1; x12 = XEXP (x4, 2); operands[3] = x12; if (!const_int_operand (operands[3], VOIDmode) || ! #line 4259 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && TARGET_64BIT && IN_RANGE (INTVAL (operands[2]), 32, 63))) return -1; return 273; /* *extzv_truncsi_exts */ default: return -1; } } static int recog_60 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SFmode: if (pattern0 (x3, SFmode) != 0) return -1; if (( #line 1514 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_4300_MUL_FIX) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 29; /* *mulsf3 */ if (!( #line 1527 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_4300_MUL_FIX) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 31; /* *mulsf3_r4300 */ case DFmode: if (pattern0 (x3, DFmode) != 0) return -1; if (( #line 1514 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_4300_MUL_FIX) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 30; /* *muldf3 */ if (!( #line 1527 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_4300_MUL_FIX) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 32; /* *muldf3_r4300 */ case V2SFmode: if (pattern0 (x3, V2SFmode) != 0 || ! #line 1537 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 33; /* mulv2sf3 */ case SImode: if (GET_MODE (x3) != SImode || !register_operand (operands[1], SImode) || !register_operand (operands[2], SImode)) return -1; if (register_operand (operands[0], SImode)) { if ( #line 1619 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6MUL)) return 34; /* mulsi3_mul3_nohilo */ if (pnum_clobbers != NULL && #line 1636 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MUL3)) { *pnum_clobbers = 1; return 36; /* mulsi3_mul3 */ } } if (muldiv_target_operand (operands[0], SImode) && #line 1674 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !TARGET_FIX_R4000)) return 38; /* mulsi3_internal */ if (pnum_clobbers == NULL || !register_operand (operands[0], SImode) || ! #line 1684 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && TARGET_FIX_R4000)) return -1; *pnum_clobbers = 1; return 40; /* mulsi3_r4000 */ case DImode: if (GET_MODE (x3) != DImode || !register_operand (operands[1], DImode) || !register_operand (operands[2], DImode)) return -1; if (register_operand (operands[0], DImode)) { if (( #line 1619 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DMUL) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 35; /* muldi3_mul3_nohilo */ if (pnum_clobbers != NULL && ( #line 1636 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMUL3) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) { *pnum_clobbers = 1; return 37; /* muldi3_mul3 */ } } if (muldiv_target_operand (operands[0], DImode) && ( #line 1674 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_FIX_R4000) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 39; /* muldi3_internal */ if (pnum_clobbers == NULL || !register_operand (operands[0], DImode) || !( #line 1684 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; *pnum_clobbers = 1; return 41; /* muldi3_r4000 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 503 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1116; /* mulv4hi3 */ case V2DImode: if (pattern0 (x3, V2DImode) != 0 || ! #line 731 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1210; /* mulv2di3 */ case V4SImode: if (pattern0 (x3, V4SImode) != 0 || ! #line 731 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1211; /* mulv4si3 */ case V8HImode: if (pattern0 (x3, V8HImode) != 0 || ! #line 731 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1212; /* mulv8hi3 */ case V16QImode: if (pattern0 (x3, V16QImode) != 0 || ! #line 731 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1213; /* mulv16qi3 */ case V2DFmode: if (pattern0 (x3, V2DFmode) != 0 || ! #line 912 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1270; /* mulv2df3 */ case V4SFmode: if (pattern0 (x3, V4SFmode) != 0 || ! #line 912 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1271; /* mulv4sf3 */ default: return -1; } case SIGN_EXTEND: switch (pattern37 (x3, SIGN_EXTEND)) { case 0: if (muldiv_target_operand (operands[0], DImode) && #line 2101 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && (!TARGET_FIX_R4000 || ISA_HAS_DSP) && ISA_HAS_MULT)) return 51; /* mulsidi3_32bit */ if (!register_operand (operands[0], DImode)) return -1; if (pnum_clobbers != NULL) { if ( #line 2116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_FIX_R4000 && !ISA_HAS_DSP && ISA_HAS_MULT)) { *pnum_clobbers = 1; return 53; /* mulsidi3_32bit_r4000 */ } if ( #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT)) { *pnum_clobbers = 2; return 55; /* mulsidi3_64bit */ } if ( #line 2207 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMUL3)) { *pnum_clobbers = 1; return 59; /* mulsidi3_64bit_dmul */ } } if (! #line 2216 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_R6DMUL)) return -1; return 60; /* mulsidi3_64bit_r6dmul */ case 1: if (muldiv_target_operand (operands[0], TImode) && #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_FIX_R4000 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return 77; /* mulditi3_internal */ if (pnum_clobbers == NULL || !register_operand (operands[0], TImode) || ! #line 2491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; *pnum_clobbers = 1; return 79; /* mulditi3_r4000 */ default: return -1; } case ZERO_EXTEND: switch (pattern37 (x3, ZERO_EXTEND)) { case 0: if (muldiv_target_operand (operands[0], DImode) && #line 2101 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && (!TARGET_FIX_R4000 || ISA_HAS_DSP) && ISA_HAS_MULT)) return 52; /* umulsidi3_32bit */ if (pnum_clobbers == NULL || !register_operand (operands[0], DImode)) return -1; if ( #line 2116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_FIX_R4000 && !ISA_HAS_DSP && ISA_HAS_MULT)) { *pnum_clobbers = 1; return 54; /* umulsidi3_32bit_r4000 */ } if (! #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT)) return -1; *pnum_clobbers = 2; return 56; /* umulsidi3_64bit */ case 1: if (muldiv_target_operand (operands[0], TImode) && #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_FIX_R4000 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return 78; /* umulditi3_internal */ if (pnum_clobbers == NULL || !register_operand (operands[0], TImode) || ! #line 2491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; *pnum_clobbers = 1; return 80; /* umulditi3_r4000 */ default: return -1; } default: return -1; } } static int recog_61 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case PLUS: if (pattern33 (x3) != 0) return -1; if ( #line 1403 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return 17; /* *addsi3_extended */ if (! #line 1417 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16)) return -1; return 18; /* *addsi3_extended_mips16 */ case MINUS: if (pattern34 (x3, SImode, DImode) != 0) return -1; x5 = XEXP (x4, 1); operands[2] = x5; if (!register_operand (operands[2], SImode) || ! #line 1490 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 28; /* *subsi3_extended */ case REG: case SUBREG: case MEM: operands[1] = x4; switch (pattern98 (x3)) { case 0: if ( #line 3658 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return 232; /* extendsidi2 */ break; case 1: if (( #line 3680 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 234; /* *extendqidi2_mips16e */ if (( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 238; /* *extendqidi2 */ if (( #line 3710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEB_SEH) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 242; /* *extendqidi2_seb */ break; case 2: if (( #line 3680 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 236; /* *extendhidi2_mips16e */ if (( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 240; /* *extendhidi2 */ if (( #line 3710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEB_SEH) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 244; /* *extendhidi2_seh */ break; case 3: if ( #line 3680 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E)) return 233; /* *extendqisi2_mips16e */ if ( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E)) return 237; /* *extendqisi2 */ if ( #line 3710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEB_SEH)) return 241; /* *extendqisi2_seb */ break; case 4: if ( #line 3680 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E)) return 235; /* *extendhisi2_mips16e */ if ( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E)) return 239; /* *extendhisi2 */ if ( #line 3710 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEB_SEH)) return 243; /* *extendhisi2_seh */ break; case 5: if ( #line 3725 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MIPS16E)) return 245; /* *extendqihi2_mips16e */ if ( #line 3736 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E)) return 246; /* *extendqihi2 */ if ( #line 3756 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEB_SEH)) return 247; /* *extendqihi2_seb */ break; default: break; } if (GET_CODE (x4) != MEM) return -1; switch (pattern100 (x3)) { case 0: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 924; /* mips_lbx_extsi_si */ case 1: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 932; /* mips_lbx_extsi_di */ case 2: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 928; /* mips_lhx_extsi_si */ case 3: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 936; /* mips_lhx_extsi_di */ case 4: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 926; /* mips_lbx_extdi_si */ case 5: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 934; /* mips_lbx_extdi_di */ case 6: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 930; /* mips_lhx_extdi_si */ case 7: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 938; /* mips_lhx_extdi_di */ case 8: if (!( #line 1141 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWX && TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 944; /* *mips_lwx_si_ext */ case 9: if (!( #line 1141 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWX && TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 946; /* *mips_lwx_di_ext */ default: return -1; } case TRUNCATE: switch (pattern35 (x3)) { case 0: if ( #line 3770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS)) return 248; /* *extenddi_truncateqi */ if (!( #line 3829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && ISA_HAS_EXTS) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 254; /* *extenddi_truncateqi_exts */ case 1: if ( #line 3770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS)) return 249; /* *extenddi_truncatehi */ if (!( #line 3829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && ISA_HAS_EXTS) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 256; /* *extenddi_truncatehi_exts */ case 2: if ( #line 3790 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS)) return 250; /* *extendsi_truncateqi */ if (! #line 3829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && ISA_HAS_EXTS)) return -1; return 253; /* *extendsi_truncateqi_exts */ case 3: if ( #line 3790 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS)) return 251; /* *extendsi_truncatehi */ if (! #line 3829 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && ISA_HAS_EXTS)) return -1; return 255; /* *extendsi_truncatehi_exts */ case 4: if ( #line 3810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS)) return 252; /* *extendhi_truncateqi */ if (! #line 3841 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && ISA_HAS_EXTS)) return -1; return 257; /* *extendhi_truncateqi_exts */ default: return -1; } case ASHIFT: if (pattern33 (x3) != 0 || ! #line 5644 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 444; /* *ashlsi3_extend */ case ASHIFTRT: if (pattern33 (x3) != 0 || ! #line 5644 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 445; /* *ashrsi3_extend */ case LSHIFTRT: if (pattern33 (x3) != 0 || ! #line 5644 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 446; /* *lshrsi3_extend */ case VEC_SELECT: x5 = XEXP (x4, 1); if (GET_CODE (x5) != PARALLEL || XVECLEN (x5, 0) != 1) return -1; x6 = XEXP (x4, 0); operands[1] = x6; x7 = XVECEXP (x5, 0, 0); operands[2] = x7; switch (GET_MODE (operands[0])) { case SImode: switch (pattern166 (x3)) { case 0: if (! #line 502 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1179; /* msa_copy_s_h */ case 1: if (! #line 502 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1181; /* msa_copy_s_b */ default: return -1; } case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !const_0_to_3_operand (operands[2], VOIDmode)) return -1; switch (GET_MODE (x4)) { case SImode: if (!register_operand (operands[1], V4SImode) || ! #line 524 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA && TARGET_64BIT)) return -1; return 1184; /* msa_copy_s_w_64bit */ case SFmode: if (!register_operand (operands[1], V4SFmode) || ! #line 524 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA && TARGET_64BIT)) return -1; return 1185; /* msa_copy_s_w_f_64bit */ default: return -1; } default: return -1; } default: return -1; } } static int recog_62 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); if (GET_CODE (x3) != VEC_DUPLICATE) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x5 = XEXP (x2, 1); operands[2] = x5; x6 = XEXP (x2, 2); operands[3] = x6; x7 = XEXP (x3, 0); switch (GET_CODE (x7)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[1] = x7; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x2) != V2DFmode || GET_MODE (x3) != V2DFmode || !register_operand (operands[2], V2DFmode) || !const_exp_2_operand (operands[3], VOIDmode)) return -1; if (reg_or_0_operand (operands[1], DFmode) && #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1165; /* msa_insert_d_f */ if (!register_operand (operands[1], DFmode) || ! #line 491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1177; /* msa_insve_d_f_scalar */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x2) != V4SFmode || GET_MODE (x3) != V4SFmode || !register_operand (operands[2], V4SFmode) || !const_exp_4_operand (operands[3], VOIDmode)) return -1; if (reg_or_0_operand (operands[1], SFmode) && #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1166; /* msa_insert_w_f */ if (!register_operand (operands[1], SFmode) || ! #line 491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1178; /* msa_insve_w_f_scalar */ case V2DImode: if (pattern183 (x2, DImode, V2DImode) != 0 || !register_operand (operands[2], V2DImode) || !const_exp_2_operand (operands[3], VOIDmode) || ! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1167; /* msa_insert_d */ case V4SImode: if (pattern183 (x2, SImode, V4SImode) != 0 || !register_operand (operands[2], V4SImode) || !const_exp_4_operand (operands[3], VOIDmode) || ! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1168; /* msa_insert_w */ case V8HImode: if (pattern183 (x2, HImode, V8HImode) != 0 || !register_operand (operands[2], V8HImode) || !const_exp_8_operand (operands[3], VOIDmode) || ! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1169; /* msa_insert_h */ case V16QImode: if (pattern183 (x2, QImode, V16QImode) != 0 || !register_operand (operands[2], V16QImode) || !const_exp_16_operand (operands[3], VOIDmode) || ! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1170; /* msa_insert_b */ default: return -1; } case VEC_SELECT: x8 = XEXP (x7, 1); if (GET_CODE (x8) != PARALLEL || XVECLEN (x8, 0) != 1) return -1; x9 = XVECEXP (x8, 0, 0); if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x10 = XEXP (x7, 0); operands[1] = x10; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern225 (x2, V2DFmode, DFmode) != 0 || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1171; /* msa_insve_d_f */ case V4SFmode: if (pattern226 (x2, V4SFmode, SFmode) != 0 || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1172; /* msa_insve_w_f */ case V2DImode: if (pattern225 (x2, V2DImode, DImode) != 0 || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1173; /* msa_insve_d */ case V4SImode: if (pattern226 (x2, V4SImode, SImode) != 0 || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1174; /* msa_insve_w */ case V8HImode: if (pattern227 (x2, V8HImode, HImode) != 0 || !register_operand (operands[2], V8HImode) || !const_exp_8_operand (operands[3], VOIDmode) || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1175; /* msa_insve_h */ case V16QImode: if (pattern227 (x2, V16QImode, QImode) != 0 || !register_operand (operands[2], V16QImode) || !const_exp_16_operand (operands[3], VOIDmode) || ! #line 478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1176; /* msa_insve_b */ default: return -1; } default: return -1; } } static int recog_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 1); if (GET_CODE (x3) != PARALLEL) return -1; x4 = XEXP (x1, 0); operands[0] = x4; x5 = XEXP (x2, 0); switch (GET_CODE (x5)) { case VEC_CONCAT: return recog_51 (x1, insn, pnum_clobbers); case REG: case SUBREG: operands[1] = x5; if (XVECLEN (x3, 0) == 1) { x6 = XVECEXP (x3, 0, 0); if (GET_CODE (x6) == CONST_INT) { operands[2] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern203 (x2, V2SFmode, SFmode) == 0 && #line 290 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return 797; /* vec_extractv2sf */ break; case SImode: if (pattern204 (x2, V4SImode, SImode) == 0 && #line 534 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1186; /* msa_copy_s_w */ break; case DImode: if (pattern203 (x2, V2DImode, DImode) == 0 && #line 544 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1188; /* msa_copy_s_d */ break; default: break; } if (XWINT (x6, 0) == 0L) { switch (GET_MODE (operands[0])) { case SImode: if (register_operand (operands[0], SImode) && GET_MODE (x2) == SImode && register_operand (operands[1], V2SImode) && #line 860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1157; /* vec_loongson_extract_lo_v2si */ break; case HImode: if (register_operand (operands[0], HImode) && GET_MODE (x2) == HImode && register_operand (operands[1], V4HImode) && #line 860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1158; /* vec_loongson_extract_lo_v4hi */ break; case QImode: if (register_operand (operands[0], QImode) && GET_MODE (x2) == QImode && register_operand (operands[1], V8QImode) && #line 860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return 1159; /* vec_loongson_extract_lo_v8qi */ break; case DFmode: if (register_operand (operands[0], DFmode) && GET_MODE (x2) == DFmode && register_operand (operands[1], V2DFmode) && #line 365 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1163; /* msa_vec_extract_d_f */ break; case SFmode: if (register_operand (operands[0], SFmode) && GET_MODE (x2) == SFmode && register_operand (operands[1], V4SFmode) && #line 365 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1164; /* msa_vec_extract_w_f */ break; default: break; } } operands[2] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern204 (x2, V4SFmode, SFmode) == 0 && #line 534 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1187; /* msa_copy_s_w_f */ break; case DFmode: if (pattern203 (x2, V2DFmode, DFmode) == 0 && #line 544 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1189; /* msa_copy_s_d_f */ break; default: break; } } } operands[2] = x3; if (!par_const_vector_shf_set_operand (operands[2], VOIDmode)) return -1; switch (GET_MODE (operands[0])) { case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x2) != V4SImode || !register_operand (operands[1], V4SImode) || ! #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1598; /* msa_shf_w */ case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x2) != V8HImode || !register_operand (operands[1], V8HImode) || ! #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1599; /* msa_shf_h */ case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x2) != V16QImode || !register_operand (operands[1], V16QImode) || ! #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1600; /* msa_shf_b */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x2) != V4SFmode || !register_operand (operands[1], V4SFmode) || ! #line 2479 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1601; /* msa_shf_w_f */ default: return -1; } default: return -1; } } static int recog_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: case MEM: operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (pattern139 (x3, SImode) != 0) return -1; if ( #line 3265 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && and_operands_ok (SImode, operands[1], operands[2]))) return 181; /* *andsi3 */ if (! #line 3304 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && and_operands_ok (SImode, operands[1], operands[2]))) return -1; return 183; /* *andsi3_mips16 */ case DImode: if (pattern139 (x3, DImode) != 0) return -1; if (( #line 3265 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && and_operands_ok (DImode, operands[1], operands[2])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 182; /* *anddi3 */ if (!( #line 3304 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && and_operands_ok (DImode, operands[1], operands[2])) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 184; /* *anddi3_mips16 */ case V2SImode: if (pattern0 (x3, V2SImode) != 0 || ! #line 236 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1079; /* andv2si3 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 236 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1080; /* andv4hi3 */ case V8QImode: if (pattern0 (x3, V8QImode) != 0 || ! #line 236 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1081; /* andv8qi3 */ case V2DImode: if (pattern113 (x3, V2DImode) != 0 || ! #line 823 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1246; /* andv2di3 */ case V4SImode: if (pattern113 (x3, V4SImode) != 0 || ! #line 823 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1247; /* andv4si3 */ case V8HImode: if (pattern113 (x3, V8HImode) != 0 || ! #line 823 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1248; /* andv8hi3 */ case V16QImode: if (pattern113 (x3, V16QImode) != 0 || ! #line 823 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1249; /* andv16qi3 */ default: return -1; } case NOT: x6 = XEXP (x4, 0); operands[1] = x6; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case NOT: x7 = XEXP (x5, 0); operands[2] = x7; switch (GET_MODE (operands[0])) { case SImode: if (pattern29 (x3, SImode) != 0 || ! #line 3398 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return -1; return 193; /* *norsi3 */ case DImode: if (pattern29 (x3, DImode) != 0 || !( #line 3398 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 194; /* *nordi3 */ case V2SImode: if (pattern29 (x3, V2SImode) != 0 || ! #line 264 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1088; /* *loongson_nor */ case V4HImode: if (pattern29 (x3, V4HImode) != 0 || ! #line 264 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1089; /* *loongson_nor */ case V8QImode: if (pattern29 (x3, V8QImode) != 0 || ! #line 264 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1090; /* *loongson_nor */ case V2DImode: if (pattern151 (x3, V2DImode) != 0 || ! #line 2319 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1574; /* msa_nor_d */ case V4SImode: if (pattern151 (x3, V4SImode) != 0 || ! #line 2319 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1575; /* msa_nor_w */ case V8HImode: if (pattern151 (x3, V8HImode) != 0 || ! #line 2319 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1576; /* msa_nor_h */ case V16QImode: if (pattern151 (x3, V16QImode) != 0 || ! #line 2319 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1577; /* msa_nor_b */ default: return -1; } case REG: case SUBREG: operands[2] = x5; switch (GET_MODE (operands[0])) { case V2SImode: if (pattern152 (x3, V2SImode) != 0 || ! #line 227 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1075; /* loongson_pandn_w */ case V4HImode: if (pattern152 (x3, V4HImode) != 0 || ! #line 227 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1076; /* loongson_pandn_h */ case V8QImode: if (pattern152 (x3, V8QImode) != 0 || ! #line 227 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1077; /* loongson_pandn_b */ case DImode: if (pattern152 (x3, DImode) != 0 || ! #line 227 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1078; /* loongson_pandn_d */ default: return -1; } default: return -1; } case ASHIFT: x6 = XEXP (x4, 0); operands[1] = x6; x8 = XEXP (x4, 1); operands[2] = x8; x5 = XEXP (x3, 1); operands[3] = x5; switch (GET_MODE (operands[0])) { case SImode: if (pattern153 (x3, SImode) != 0 || ! #line 4315 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CINS && mask_low_and_shift_p (SImode, operands[3], operands[2], 32))) return -1; return 276; /* *cinssi */ case DImode: if (pattern153 (x3, DImode) != 0 || !( #line 4315 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CINS && mask_low_and_shift_p (DImode, operands[3], operands[2], 32)) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 277; /* *cinsdi */ default: return -1; } default: return -1; } } static int recog_65 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 1); operands[2] = x4; x5 = XEXP (x3, 0); switch (GET_CODE (x5)) { case REG: case SUBREG: operands[1] = x5; x6 = XEXP (x3, 2); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[3] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern176 (x3, SFmode) != 0) return -1; if (( #line 2552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 84; /* *fmasf4_madd3 */ if (( #line 2562 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 87; /* *fmasf4_madd4 */ if (!( #line 2572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADDF) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 90; /* *fmasf4_maddf */ case DFmode: if (pattern176 (x3, DFmode) != 0) return -1; if (( #line 2552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 85; /* *fmadf4_madd3 */ if (( #line 2562 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 88; /* *fmadf4_madd4 */ if (!( #line 2572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADDF) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 91; /* *fmadf4_maddf */ case V2SFmode: if (pattern176 (x3, V2SFmode) != 0) return -1; if (( #line 2552 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return 86; /* *fmav2sf4_madd3 */ if (( #line 2562 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return 89; /* *fmav2sf4_madd4 */ if (!( #line 2572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADDF) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 92; /* *fmav2sf4_maddf */ case V2DFmode: if (pattern176 (x3, V2DFmode) != 0 || ! #line 931 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1274; /* fmav2df4 */ case V4SFmode: if (pattern176 (x3, V4SFmode) != 0 || ! #line 931 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1275; /* fmav4sf4 */ default: return -1; } case NEG: x7 = XEXP (x6, 0); operands[3] = x7; switch (GET_MODE (operands[0])) { case SFmode: if (pattern177 (x3, SFmode) != 0) return -1; if (( #line 2596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 93; /* *fmssf4_msub3 */ if (!( #line 2606 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 96; /* *fmssf4_msub4 */ case DFmode: if (pattern177 (x3, DFmode) != 0) return -1; if (( #line 2596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 94; /* *fmsdf4_msub3 */ if (!( #line 2606 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 97; /* *fmsdf4_msub4 */ case V2SFmode: if (pattern177 (x3, V2SFmode) != 0) return -1; if (( #line 2596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return 95; /* *fmsv2sf4_msub3 */ if (!( #line 2606 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 98; /* *fmsv2sf4_msub4 */ default: return -1; } default: return -1; } case NEG: x8 = XEXP (x5, 0); operands[1] = x8; x6 = XEXP (x3, 2); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[3] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern178 (x3, SFmode) != 0) return -1; if (( #line 2630 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 99; /* *fnmasf4_nmsub3 */ if (!( #line 2640 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 102; /* *fnmasf4_nmsub4 */ case DFmode: if (pattern178 (x3, DFmode) != 0) return -1; if (( #line 2630 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 100; /* *fnmadf4_nmsub3 */ if (!( #line 2640 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 103; /* *fnmadf4_nmsub4 */ case V2SFmode: if (pattern178 (x3, V2SFmode) != 0) return -1; if (( #line 2630 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return 101; /* *fnmav2sf4_nmsub3 */ if (!( #line 2640 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 104; /* *fnmav2sf4_nmsub4 */ case V2DFmode: if (pattern178 (x3, V2DFmode) != 0 || ! #line 941 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1276; /* fnmav2df4 */ case V4SFmode: if (pattern178 (x3, V4SFmode) != 0 || ! #line 941 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1277; /* fnmav4sf4 */ default: return -1; } case NEG: x7 = XEXP (x6, 0); operands[3] = x7; switch (GET_MODE (operands[0])) { case SFmode: if (pattern179 (x3, SFmode) != 0) return -1; if (( #line 2666 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 105; /* *fnmssf4_nmadd3 */ if (!( #line 2677 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 108; /* *fnmssf4_nmadd4 */ case DFmode: if (pattern179 (x3, DFmode) != 0) return -1; if (( #line 2666 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 106; /* *fnmsdf4_nmadd3 */ if (!( #line 2677 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 109; /* *fnmsdf4_nmadd4 */ case V2SFmode: if (pattern179 (x3, V2SFmode) != 0) return -1; if (( #line 2666 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD3 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return 107; /* *fnmsv2sf4_nmadd3 */ if (!( #line 2677 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FUSED_MADD4 && !HONOR_SIGNED_ZEROS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 110; /* *fnmsv2sf4_nmadd4 */ default: return -1; } default: return -1; } default: return -1; } } static int recog_66 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: case MEM: if (GET_CODE (x4) == SUBREG) { res = recog_1 (x1, insn, pnum_clobbers); if (res >= 0) return res; } operands[1] = x4; res = recog_2 (x1, insn, pnum_clobbers); if (res >= 0) return res; if (GET_CODE (x4) != MEM) return -1; switch (pattern100 (x3)) { case 0: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBUX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 925; /* mips_lbux_extsi_si */ case 1: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBUX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 933; /* mips_lbux_extsi_di */ case 2: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHUX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 929; /* mips_lhux_extsi_si */ case 3: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHUX) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 937; /* mips_lhux_extsi_di */ case 4: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBUX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 927; /* mips_lbux_extdi_si */ case 5: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LBUX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 935; /* mips_lbux_extdi_di */ case 6: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHUX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)))) return -1; return 931; /* mips_lhux_extdi_si */ case 7: if (!( #line 1098 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LHUX) && ((( #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)))) return -1; return 939; /* mips_lhux_extdi_di */ case 8: if (!( #line 1141 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWUX && TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 945; /* *mips_lwux_si_ext */ case 9: if (!( #line 1141 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_LWUX && TARGET_64BIT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 947; /* *mips_lwux_di_ext */ default: return -1; } case TRUNCATE: x5 = XEXP (x4, 0); switch (GET_CODE (x5)) { case PLUS: if (GET_MODE (x5) != DImode || GET_MODE (x4) != QImode) return -1; x6 = XEXP (x5, 0); operands[1] = x6; if (!register_operand (operands[1], DImode)) return -1; x7 = XEXP (x5, 1); operands[2] = x7; if (!register_operand (operands[2], DImode)) return -1; switch (pattern40 (x3)) { case 0: if (! #line 1454 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BADDU && TARGET_64BIT)) return -1; return 21; /* *baddu_disi */ case 1: if (!( #line 1454 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_BADDU && TARGET_64BIT) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 22; /* *baddu_didi */ default: return -1; } case REG: case SUBREG: operands[1] = x5; if (!register_operand (operands[1], DImode)) return -1; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode) return -1; switch (GET_MODE (x4)) { case QImode: if (! #line 3615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 227; /* *zero_extendsi_truncqi */ case HImode: if (! #line 3615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 229; /* *zero_extendsi_trunchi */ default: return -1; } case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode) return -1; switch (GET_MODE (x4)) { case QImode: if (!( #line 3615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 228; /* *zero_extenddi_truncqi */ case HImode: if (!( #line 3615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 230; /* *zero_extenddi_trunchi */ default: return -1; } case HImode: if (!register_operand (operands[0], HImode) || GET_MODE (x3) != HImode || GET_MODE (x4) != QImode || ! #line 3627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 231; /* *zero_extendhi_truncqi */ default: return -1; } default: return -1; } case VEC_SELECT: x8 = XEXP (x4, 1); if (GET_CODE (x8) != PARALLEL || XVECLEN (x8, 0) != 1) return -1; x5 = XEXP (x4, 0); operands[1] = x5; x9 = XVECEXP (x8, 0, 0); operands[2] = x9; switch (GET_MODE (operands[0])) { case SImode: switch (pattern166 (x3)) { case 0: if (! #line 502 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1180; /* msa_copy_u_h */ case 1: if (! #line 502 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1182; /* msa_copy_u_b */ default: return -1; } case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || GET_MODE (x4) != SImode || !register_operand (operands[1], V4SImode) || !const_0_to_3_operand (operands[2], VOIDmode) || ! #line 513 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA && TARGET_64BIT)) return -1; return 1183; /* msa_copy_u_w */ default: return -1; } default: return -1; } } static int recog_67 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !reg_or_0_operand (operands[1], DFmode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1466; /* msa_fill_d_f */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !reg_or_0_operand (operands[1], SFmode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1467; /* msa_fill_w_f */ case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !reg_or_0_operand (operands[1], DImode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1468; /* msa_fill_d */ case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !reg_or_0_operand (operands[1], SImode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1469; /* msa_fill_w */ case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x3) != V8HImode || !reg_or_0_operand (operands[1], HImode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1470; /* msa_fill_h */ case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x3) != V16QImode || !reg_or_0_operand (operands[1], QImode) || ! #line 1660 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1471; /* msa_fill_b */ default: return -1; } case VEC_SELECT: x5 = XEXP (x4, 1); if (GET_CODE (x5) != PARALLEL || XVECLEN (x5, 0) != 1) return -1; x6 = XEXP (x4, 0); operands[1] = x6; x7 = XVECEXP (x5, 0, 0); operands[2] = x7; switch (GET_MODE (operands[0])) { case V2DFmode: if (pattern184 (x3, V2DFmode, DFmode) != 0 || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1652; /* msa_splati_d_f */ case V4SFmode: if (pattern185 (x3, V4SFmode, SFmode) != 0 || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1653; /* msa_splati_w_f */ case V2DImode: if (pattern184 (x3, V2DImode, DImode) != 0 || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1654; /* msa_splati_d */ case V4SImode: if (pattern185 (x3, V4SImode, SImode) != 0 || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1655; /* msa_splati_w */ case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x3) != V8HImode || GET_MODE (x4) != HImode || !register_operand (operands[1], V8HImode) || !const_uimm3_operand (operands[2], VOIDmode) || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1656; /* msa_splati_h */ case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x3) != V16QImode || GET_MODE (x4) != QImode || !register_operand (operands[1], V16QImode) || !const_uimm4_operand (operands[2], VOIDmode) || ! #line 2612 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1657; /* msa_splati_b */ default: return -1; } default: return -1; } } static int recog_68 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case MULT: x5 = XEXP (x4, 0); switch (GET_CODE (x5)) { case REG: case SUBREG: if (pnum_clobbers == NULL) return -1; operands[1] = x5; if (!register_operand (operands[1], SImode) || !register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || GET_MODE (x4) != SImode) return -1; x6 = XEXP (x4, 1); operands[2] = x6; if (!register_operand (operands[2], SImode) || ! #line 2044 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULS)) return -1; *pnum_clobbers = 1; return 50; /* *muls */ case SIGN_EXTEND: if (pattern101 (x3, SIGN_EXTEND) != 0 || ! #line 2228 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && ISA_HAS_MULS)) return -1; return 61; /* *muls_di */ case ZERO_EXTEND: if (pattern101 (x3, ZERO_EXTEND) != 0 || ! #line 2228 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && ISA_HAS_MULS)) return -1; return 62; /* *mulsu_di */ default: return -1; } case PLUS: switch (pattern39 (x3)) { case 0: if (!( #line 2722 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 117; /* *nmadd4sf */ case 1: if (!( #line 2722 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 118; /* *nmadd4df */ case 2: if (!( #line 2722 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 119; /* *nmadd4v2sf */ default: return -1; } case MINUS: switch (pattern39 (x3)) { case 0: if (!( #line 2733 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 120; /* *nmsub4sf */ case 1: if (!( #line 2733 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 121; /* *nmsub4df */ case 2: if (!( #line 2733 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_UNFUSED_MADD4) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 122; /* *nmsub4v2sf */ default: return -1; } case REG: case SUBREG: operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !register_operand (operands[1], SImode)) return -1; return 174; /* negsi2 */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], DImode) || ! #line 3192 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16)) return -1; return 175; /* negdi2 */ case SFmode: if (!register_operand (operands[0], SFmode) || GET_MODE (x3) != SFmode || !register_operand (operands[1], SFmode) || !( #line 3205 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 176; /* negsf2 */ case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || !register_operand (operands[1], DFmode) || !( #line 3205 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 177; /* negdf2 */ case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x3) != V2SFmode || !register_operand (operands[1], V2SFmode) || !( #line 3205 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 178; /* negv2sf2 */ default: return -1; } default: return -1; } } static int recog_69 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_CODE (operands[1])) { case REG: case SUBREG: x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SFmode: if (pattern0 (x3, SFmode) != 0 || !( #line 2812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_FIX_SB1 || flag_unsafe_math_optimizations) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 129; /* *divsf3 */ case DFmode: if (pattern0 (x3, DFmode) != 0 || ! #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 130; /* *divdf3 */ case V2SFmode: if (pattern0 (x3, V2SFmode) != 0 || !( #line 2812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SB1 && (!TARGET_FIX_SB1 || flag_unsafe_math_optimizations)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 131; /* *divv2sf3 */ case SImode: if (pattern0 (x3, SImode) != 0 || ! #line 3013 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DIV)) return -1; return 149; /* divsi3 */ case DImode: if (pattern0 (x3, DImode) != 0 || !( #line 3013 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DDIV) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 151; /* divdi3 */ case V2DImode: if (pattern0 (x3, V2DImode) != 0 || ! #line 760 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1222; /* divv2di3 */ case V4SImode: if (pattern0 (x3, V4SImode) != 0 || ! #line 760 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1223; /* divv4si3 */ case V8HImode: if (pattern0 (x3, V8HImode) != 0 || ! #line 760 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1224; /* divv8hi3 */ case V16QImode: if (pattern0 (x3, V16QImode) != 0 || ! #line 760 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1225; /* divv16qi3 */ case V2DFmode: if (pattern0 (x3, V2DFmode) != 0 || ! #line 921 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1272; /* divv2df3 */ case V4SFmode: if (pattern0 (x3, V4SFmode) != 0 || ! #line 921 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1273; /* divv4sf3 */ default: return -1; } case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case REG: case SUBREG: operands[2] = x5; switch (GET_MODE (operands[0])) { case SFmode: if (pattern149 (x3, SFmode) != 0 || !( #line 2830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (SFmode) && flag_unsafe_math_optimizations) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 132; /* *recipsf3 */ case DFmode: if (pattern149 (x3, DFmode) != 0 || !( #line 2830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (DFmode) && flag_unsafe_math_optimizations) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 133; /* *recipdf3 */ case V2SFmode: if (pattern149 (x3, V2SFmode) != 0 || !( #line 2830 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (V2SFmode) && flag_unsafe_math_optimizations) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 134; /* *recipv2sf3 */ default: return -1; } case SQRT: x6 = XEXP (x5, 0); operands[2] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern150 (x3, SFmode) != 0 || !( #line 3072 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (SFmode) && flag_unsafe_math_optimizations) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 160; /* *rsqrtsfa */ case DFmode: if (pattern150 (x3, DFmode) != 0 || !( #line 3072 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (DFmode) && flag_unsafe_math_optimizations) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 161; /* *rsqrtdfa */ case V2SFmode: if (pattern150 (x3, V2SFmode) != 0 || !( #line 3072 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (V2SFmode) && flag_unsafe_math_optimizations) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 162; /* *rsqrtv2sfa */ default: return -1; } default: return -1; } default: return -1; } } static int recog_70 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case CONST_INT: if (XWINT (x5, 0) == 0L) { switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x3, SImode)) { case 0: if ( #line 6059 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE)) return 488; /* *seq_zero_sisi */ if ( #line 6068 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && !ISA_HAS_SEQ_SNE)) return 492; /* *seq_zero_sisi_mips16 */ break; case 1: if (( #line 6059 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 489; /* *seq_zero_disi */ if (( #line 6068 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 493; /* *seq_zero_disi_mips16 */ break; default: break; } break; case DImode: switch (pattern106 (x3, DImode)) { case 0: if (( #line 6059 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 490; /* *seq_zero_sidi */ if (( #line 6068 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 494; /* *seq_zero_sidi_mips16 */ break; case 1: if (( #line 6059 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 491; /* *seq_zero_didi */ if (( #line 6068 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 495; /* *seq_zero_didi_mips16 */ break; default: break; } break; default: break; } } break; case CONST_VECTOR: case REG: case SUBREG: operands[2] = x5; switch (GET_MODE (operands[0])) { case CCmode: switch (pattern10 (x3, CCmode)) { case 0: if ((( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 568; /* seq_sf_using_cc */ break; case 1: if ((( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 575; /* seq_df_using_cc */ break; default: break; } break; case CCFmode: switch (pattern10 (x3, CCFmode)) { case 0: if ((( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 582; /* seq_sf_using_ccf */ break; case 1: if ((( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 592; /* seq_df_using_ccf */ break; default: break; } break; case V2DImode: switch (pattern118 (x3)) { case 0: if ( #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1372; /* msa_ceq_d */ break; case 1: if ( #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1418; /* msa_fceq_d */ break; default: break; } break; case V4SImode: switch (pattern119 (x3)) { case 0: if ( #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1377; /* msa_ceq_w */ break; case 1: if ( #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1427; /* msa_fceq_w */ break; default: break; } break; case V8HImode: if (pattern15 (x3, V8HImode) == 0 && #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1382; /* msa_ceq_h */ break; case V16QImode: if (pattern15 (x3, V16QImode) == 0 && #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1387; /* msa_ceq_b */ break; default: break; } break; default: break; } operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern116 (x3, SImode)) { case 0: if (! #line 6078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE)) return -1; return 496; /* *seq_sisi_seq */ case 1: if (!( #line 6078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 497; /* *seq_disi_seq */ default: return -1; } case DImode: switch (pattern116 (x3, DImode)) { case 0: if (!( #line 6078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 498; /* *seq_sidi_seq */ case 1: if (!( #line 6078 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 499; /* *seq_didi_seq */ default: return -1; } default: return -1; } } static int recog_71 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !register_operand (operands[1], SImode)) return -1; return 179; /* one_cmplsi2 */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], DImode) || ! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 180; /* one_cmpldi2 */ case V2SImode: if (!register_operand (operands[0], V2SImode) || GET_MODE (x3) != V2SImode || !register_operand (operands[1], V2SImode) || ! #line 272 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1091; /* one_cmplv2si2 */ case V4HImode: if (!register_operand (operands[0], V4HImode) || GET_MODE (x3) != V4HImode || !register_operand (operands[1], V4HImode) || ! #line 272 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1092; /* one_cmplv4hi2 */ case V8QImode: if (!register_operand (operands[0], V8QImode) || GET_MODE (x3) != V8QImode || !register_operand (operands[1], V8QImode) || ! #line 272 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1093; /* one_cmplv8qi2 */ case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DImode) || ! #line 848 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1250; /* one_cmplv2di2 */ case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SImode) || ! #line 848 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1251; /* one_cmplv4si2 */ case V8HImode: if (!register_operand (operands[0], V8HImode) || GET_MODE (x3) != V8HImode || !register_operand (operands[1], V8HImode) || ! #line 848 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1252; /* one_cmplv8hi2 */ case V16QImode: if (!register_operand (operands[0], V16QImode) || GET_MODE (x3) != V16QImode || !register_operand (operands[1], V16QImode) || ! #line 848 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1253; /* one_cmplv16qi2 */ default: return -1; } } static int recog_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_CODE (operands[2])) { case CONST_INT: switch (GET_MODE (operands[0])) { case SImode: switch (pattern140 (x3, SImode)) { case 0: if ( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 548; /* *sle_sisi */ if (! #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 556; /* *sle_sisi_mips16 */ case 1: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 550; /* *sle_disi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 558; /* *sle_disi_mips16 */ default: return -1; } case DImode: switch (pattern140 (x3, DImode)) { case 0: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 552; /* *sle_sidi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 560; /* *sle_sidi_mips16 */ case 1: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 554; /* *sle_didi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 562; /* *sle_didi_mips16 */ default: return -1; } default: return -1; } case CONST_VECTOR: case REG: case SUBREG: switch (GET_MODE (operands[0])) { case CCmode: switch (pattern10 (x3, CCmode)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 570; /* sle_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 577; /* sle_df_using_cc */ default: return -1; } case CCFmode: switch (pattern10 (x3, CCFmode)) { case 0: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 584; /* sle_sf_using_ccf */ case 1: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 594; /* sle_df_using_ccf */ default: return -1; } case V2DImode: switch (pattern118 (x3)) { case 0: if (! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1373; /* msa_cle_s_d */ case 1: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1420; /* msa_fcle_d */ default: return -1; } case V4SImode: switch (pattern119 (x3)) { case 0: if (! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1378; /* msa_cle_s_w */ case 1: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1429; /* msa_fcle_w */ default: return -1; } case V8HImode: if (pattern15 (x3, V8HImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1383; /* msa_cle_s_h */ case V16QImode: if (pattern15 (x3, V16QImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1388; /* msa_cle_s_b */ default: return -1; } default: return -1; } } static int recog_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; switch (GET_MODE (operands[0])) { case SFmode: if (!register_operand (operands[0], SFmode) || GET_MODE (x3) != SFmode || !register_operand (operands[1], SFmode) || !( #line 3054 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_MIPS1) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 157; /* sqrtsf2 */ case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || !register_operand (operands[1], DFmode) || !( #line 3054 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_MIPS1) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 158; /* sqrtdf2 */ case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x3) != V2SFmode || !register_operand (operands[1], V2SFmode) || !( #line 3054 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SB1) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 159; /* sqrtv2sf2 */ case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !register_operand (operands[1], V2DFmode) || ! #line 949 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1278; /* sqrtv2df2 */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !register_operand (operands[1], V4SFmode) || ! #line 949 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1279; /* sqrtv4sf2 */ default: return -1; } case DIV: x5 = XEXP (x4, 0); operands[1] = x5; x6 = XEXP (x4, 1); operands[2] = x6; switch (GET_MODE (operands[0])) { case SFmode: if (pattern138 (x3, SFmode) != 0 || !( #line 3090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (SFmode) && flag_unsafe_math_optimizations) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 163; /* *rsqrtsfb */ case DFmode: if (pattern138 (x3, DFmode) != 0 || !( #line 3090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (DFmode) && flag_unsafe_math_optimizations) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 164; /* *rsqrtdfb */ case V2SFmode: if (pattern138 (x3, V2SFmode) != 0 || !( #line 3090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_FP_RECIP_RSQRT (V2SFmode) && flag_unsafe_math_optimizations) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 165; /* *rsqrtv2sfb */ default: return -1; } default: return -1; } } static int recog_74 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern117 (x3, SImode)) { case 0: if ( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 532; /* *slt_sisi */ if (! #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 540; /* *slt_sisi_mips16 */ case 1: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 534; /* *slt_disi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 542; /* *slt_disi_mips16 */ default: return -1; } case DImode: switch (pattern117 (x3, DImode)) { case 0: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 536; /* *slt_sidi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 544; /* *slt_sidi_mips16 */ case 1: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 538; /* *slt_didi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 546; /* *slt_didi_mips16 */ default: return -1; } case CCmode: switch (pattern10 (x3, CCmode)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 569; /* slt_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 576; /* slt_df_using_cc */ default: return -1; } case CCFmode: switch (pattern10 (x3, CCFmode)) { case 0: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 583; /* slt_sf_using_ccf */ case 1: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 593; /* slt_df_using_ccf */ default: return -1; } case V2DImode: switch (pattern118 (x3)) { case 0: if (! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1375; /* msa_clt_s_d */ case 1: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1421; /* msa_fclt_d */ default: return -1; } case V4SImode: switch (pattern119 (x3)) { case 0: if (! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1380; /* msa_clt_s_w */ case 1: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1430; /* msa_fclt_w */ default: return -1; } case V8HImode: if (pattern15 (x3, V8HImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1385; /* msa_clt_s_h */ case V16QImode: if (pattern15 (x3, V16QImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1390; /* msa_clt_s_b */ default: return -1; } } static int recog_75 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x3, SImode)) { case 0: if (reg_or_0_operand (operands[2], SImode) && #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 508; /* *sgt_sisi */ if (!register_operand (operands[2], SImode) || ! #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 516; /* *sgt_sisi_mips16 */ case 1: if (reg_or_0_operand (operands[2], DImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 510; /* *sgt_disi */ if (!register_operand (operands[2], DImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 518; /* *sgt_disi_mips16 */ default: return -1; } case DImode: switch (pattern106 (x3, DImode)) { case 0: if (reg_or_0_operand (operands[2], SImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 512; /* *sgt_sidi */ if (!register_operand (operands[2], SImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 520; /* *sgt_sidi_mips16 */ case 1: if (reg_or_0_operand (operands[2], DImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 514; /* *sgt_didi */ if (!register_operand (operands[2], DImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 522; /* *sgt_didi_mips16 */ default: return -1; } case CCmode: switch (pattern10 (x3, CCmode)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 599; /* sgt_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 603; /* sgt_df_using_cc */ default: return -1; } case CCFmode: switch (pattern10 (x3, CCFmode)) { case 0: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 607; /* sgt_sf_using_ccf */ case 1: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 611; /* sgt_df_using_ccf */ default: return -1; } default: return -1; } } static int recog_76 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode) return -1; if (register_operand (operands[1], SImode) && arith_operand (operands[2], SImode)) { if ( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 440; /* *lshrsi3 */ if ( #line 5658 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return 449; /* *lshrsi3_mips16 */ } if (!memory_operand (operands[1], SImode) || !immediate_operand (operands[2], SImode) || ! #line 5753 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 455; /* *mips.md:5749 */ case DImode: if (pattern5 (x3) != 0) return -1; if (( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 443; /* *lshrdi3 */ if (! #line 5717 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16)) return -1; return 454; /* *lshrdi3_mips16 */ case V2SImode: if (pattern6 (x3, V2SImode) != 0 || ! #line 587 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1127; /* lshrv2si3 */ case V4HImode: if (pattern6 (x3, V4HImode) != 0 || ! #line 587 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1128; /* lshrv4hi3 */ case V2DImode: if (pattern7 (x3, V2DImode) != 0 || ! #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1254; /* vlshrv2di3 */ case V4SImode: if (pattern7 (x3, V4SImode) != 0 || ! #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1255; /* vlshrv4si3 */ case V8HImode: if (pattern7 (x3, V8HImode) != 0 || ! #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1256; /* vlshrv8hi3 */ case V16QImode: if (pattern7 (x3, V16QImode) != 0 || ! #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1257; /* vlshrv16qi3 */ default: return -1; } } static int recog_77 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case V2SFmode: if (pattern11 (x3, SFmode, V2SFmode) != 0 || ! #line 271 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT)) return -1; return 796; /* vec_concatv2sf */ case V2SImode: if (pattern11 (x3, SImode, V2SImode) != 0 || ! #line 149 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1063; /* *vec_concatv2si */ default: return -1; } case SS_TRUNCATE: x5 = XEXP (x3, 1); if (GET_CODE (x5) != SS_TRUNCATE) return -1; x6 = XEXP (x4, 0); operands[1] = x6; x7 = XEXP (x5, 0); operands[2] = x7; switch (GET_MODE (operands[0])) { case V4HImode: if (pattern161 (x3, V2SImode, V2HImode, V4HImode) != 0 || ! #line 163 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1064; /* vec_pack_ssat_v2si */ case V8QImode: if (pattern161 (x3, V4HImode, V4QImode, V8QImode) != 0 || ! #line 163 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1065; /* vec_pack_ssat_v4hi */ default: return -1; } case US_TRUNCATE: if (pattern82 (x3, V4HImode, V8QImode, V4QImode, US_TRUNCATE) != 0 || ! #line 175 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1066; /* vec_pack_usat_v4hi */ case TRUNCATE: x5 = XEXP (x3, 1); if (GET_CODE (x5) != TRUNCATE) return -1; x6 = XEXP (x4, 0); operands[1] = x6; x7 = XEXP (x5, 0); operands[2] = x7; switch (GET_MODE (operands[0])) { case V4SImode: if (pattern161 (x3, V2DImode, V2SImode, V4SImode) != 0 || ! #line 251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1160; /* vec_pack_trunc_v2di */ case V8HImode: if (pattern161 (x3, V4SImode, V4HImode, V8HImode) != 0 || ! #line 251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1161; /* vec_pack_trunc_v4si */ case V16QImode: if (pattern161 (x3, V8HImode, V8QImode, V16QImode) != 0 || ! #line 251 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1162; /* vec_pack_trunc_v8hi */ default: return -1; } case FLOAT_TRUNCATE: if (pattern82 (x3, V2DFmode, V4SFmode, V2SFmode, FLOAT_TRUNCATE) != 0 || ! #line 2659 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1663; /* vec_pack_trunc_v2df */ default: return -1; } } static int recog_78 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_CODE (operands[2])) { case CONST_INT: switch (GET_MODE (operands[0])) { case SImode: switch (pattern140 (x3, SImode)) { case 0: if ( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 549; /* *sleu_sisi */ if (! #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 557; /* *sleu_sisi_mips16 */ case 1: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 551; /* *sleu_disi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 559; /* *sleu_disi_mips16 */ default: return -1; } case DImode: switch (pattern140 (x3, DImode)) { case 0: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 553; /* *sleu_sidi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 561; /* *sleu_sidi_mips16 */ case 1: if (( #line 6158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 555; /* *sleu_didi */ if (!( #line 6170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 563; /* *sleu_didi_mips16 */ default: return -1; } default: return -1; } case CONST_VECTOR: case REG: case SUBREG: switch (GET_MODE (operands[0])) { case V2DImode: if (pattern17 (x3, V2DImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1374; /* msa_cle_u_d */ case V4SImode: if (pattern17 (x3, V4SImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1379; /* msa_cle_u_w */ case V8HImode: if (pattern17 (x3, V8HImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1384; /* msa_cle_u_h */ case V16QImode: if (pattern17 (x3, V16QImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1389; /* msa_cle_u_b */ default: return -1; } default: return -1; } } static int recog_79 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case CONST_INT: if (XWINT (x5, 0) == 0L) { switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x3, SImode)) { case 0: if ( #line 6090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE)) return 500; /* *sne_zero_sisi */ break; case 1: if (( #line 6090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 501; /* *sne_zero_disi */ break; default: break; } break; case DImode: switch (pattern106 (x3, DImode)) { case 0: if (( #line 6090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 502; /* *sne_zero_sidi */ break; case 1: if (( #line 6090 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && !ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 503; /* *sne_zero_didi */ break; default: break; } break; default: break; } } break; case REG: case SUBREG: switch (pattern81 (x3)) { case 0: if ((( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 587; /* sne_sf_using_ccf */ break; case 1: if ((( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return 597; /* sne_df_using_ccf */ break; case 2: if ( #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1419; /* msa_fcne_d */ break; case 3: if ( #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return 1428; /* msa_fcne_w */ break; default: break; } break; default: break; } operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern116 (x3, SImode)) { case 0: if (! #line 6100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE)) return -1; return 504; /* *sne_sisi_sne */ case 1: if (!( #line 6100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 505; /* *sne_disi_sne */ default: return -1; } case DImode: switch (pattern116 (x3, DImode)) { case 0: if (!( #line 6100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 506; /* *sne_sidi_sne */ case 1: if (!( #line 6100 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SEQ_SNE) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 507; /* *sne_didi_sne */ default: return -1; } default: return -1; } } static int recog_80 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (pattern112 (x3, SImode) != 0) return -1; if ( #line 3371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 189; /* *xorsi3 */ if (! #line 3384 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 191; /* *xorsi3_mips16 */ case DImode: if (pattern112 (x3, DImode) != 0) return -1; if (( #line 3371 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 190; /* *xordi3 */ if (!( #line 3384 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 192; /* *xordi3_mips16 */ case V2SImode: if (pattern0 (x3, V2SImode) != 0 || ! #line 254 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1085; /* xorv2si3 */ case V4HImode: if (pattern0 (x3, V4HImode) != 0 || ! #line 254 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1086; /* xorv4hi3 */ case V8QImode: if (pattern0 (x3, V8QImode) != 0 || ! #line 254 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1087; /* xorv8qi3 */ case V2DImode: if (pattern113 (x3, V2DImode) != 0 || ! #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1238; /* xorv2di3 */ case V4SImode: if (pattern113 (x3, V4SImode) != 0 || ! #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1239; /* xorv4si3 */ case V8HImode: if (pattern113 (x3, V8HImode) != 0 || ! #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1240; /* xorv8hi3 */ case V16QImode: if (pattern113 (x3, V16QImode) != 0 || ! #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1241; /* xorv16qi3 */ default: return -1; } } static int recog_81 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern117 (x3, SImode)) { case 0: if ( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 533; /* *sltu_sisi */ if (! #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 541; /* *sltu_sisi_mips16 */ case 1: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 535; /* *sltu_disi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 543; /* *sltu_disi_mips16 */ default: return -1; } case DImode: switch (pattern117 (x3, DImode)) { case 0: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 537; /* *sltu_sidi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 545; /* *sltu_sidi_mips16 */ case 1: if (( #line 6139 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 539; /* *sltu_didi */ if (!( #line 6148 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 547; /* *sltu_didi_mips16 */ default: return -1; } case V2DImode: if (pattern17 (x3, V2DImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1376; /* msa_clt_u_d */ case V4SImode: if (pattern17 (x3, V4SImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1381; /* msa_clt_u_w */ case V8HImode: if (pattern17 (x3, V8HImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1386; /* msa_clt_u_h */ case V16QImode: if (pattern17 (x3, V16QImode) != 0 || ! #line 1225 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1391; /* msa_clt_u_b */ default: return -1; } } static int recog_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x3, SImode)) { case 0: if (reg_or_0_operand (operands[2], SImode) && #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 509; /* *sgtu_sisi */ if (!register_operand (operands[2], SImode) || ! #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 517; /* *sgtu_sisi_mips16 */ case 1: if (reg_or_0_operand (operands[2], DImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 511; /* *sgtu_disi */ if (!register_operand (operands[2], DImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 519; /* *sgtu_disi_mips16 */ default: return -1; } case DImode: switch (pattern106 (x3, DImode)) { case 0: if (reg_or_0_operand (operands[2], SImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 513; /* *sgtu_sidi */ if (!register_operand (operands[2], SImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 521; /* *sgtu_sidi_mips16 */ case 1: if (reg_or_0_operand (operands[2], DImode) && ( #line 6112 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 515; /* *sgtu_didi */ if (!register_operand (operands[2], DImode) || !( #line 6121 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 523; /* *sgtu_didi_mips16 */ default: return -1; } default: return -1; } } static int recog_83 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: switch (pattern105 (x3, SImode)) { case 0: if ( #line 3877 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && ISA_HAS_TRUNC_W)) return 259; /* fix_truncdfsi2_insn */ if (pnum_clobbers == NULL || ! #line 3887 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !ISA_HAS_TRUNC_W)) return -1; *pnum_clobbers = 1; return 260; /* fix_truncdfsi2_macro */ case 1: if ( #line 3914 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && ISA_HAS_TRUNC_W)) return 261; /* fix_truncsfsi2_insn */ if (pnum_clobbers == NULL || ! #line 3924 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !ISA_HAS_TRUNC_W)) return -1; *pnum_clobbers = 1; return 262; /* fix_truncsfsi2_macro */ default: return -1; } case DImode: switch (pattern105 (x3, DImode)) { case 0: if (! #line 3940 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT)) return -1; return 263; /* fix_truncdfdi2 */ case 1: if (! #line 3950 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT)) return -1; return 264; /* fix_truncsfdi2 */ default: return -1; } case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x3) != V2DImode || !register_operand (operands[1], V2DFmode) || ! #line 1785 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1492; /* fix_truncv2dfv2di2 */ case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x3) != V4SImode || !register_operand (operands[1], V4SFmode) || ! #line 1785 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1493; /* fix_truncv4sfv4si2 */ default: return -1; } } static int recog_84 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: operands[1] = x4; if (!register_operand (operands[1], SFmode) || !register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || ! #line 3849 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 258; /* extendsfdf2 */ case VEC_SELECT: if (GET_MODE (x4) != V2SFmode) return -1; x5 = XEXP (x4, 1); if (GET_CODE (x5) != PARALLEL || XVECLEN (x5, 0) != 2) return -1; x6 = XVECEXP (x5, 0, 0); if (GET_CODE (x6) != CONST_INT) return -1; x7 = XVECEXP (x5, 0, 1); if (GET_CODE (x7) != CONST_INT || !register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode) return -1; x8 = XEXP (x4, 0); operands[1] = x8; if (!register_operand (operands[1], V4SFmode)) return -1; switch (XWINT (x6, 0)) { case 2L: if (XWINT (x7, 0) != 3L || ! #line 2679 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1665; /* msa_fexupl_d */ case 0L: if (XWINT (x7, 0) != 1L || ! #line 2699 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1667; /* msa_fexupr_d */ default: return -1; } default: return -1; } } static int recog_85 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case DFmode: switch (pattern106 (x3, DFmode)) { case 0: if (! #line 3960 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 265; /* floatsidf2 */ case 1: if (! #line 3970 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT)) return -1; return 266; /* floatdidf2 */ default: return -1; } case SFmode: switch (pattern106 (x3, SFmode)) { case 0: if (! #line 3980 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) return -1; return 267; /* floatsisf2 */ case 1: if (! #line 3990 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT)) return -1; return 268; /* floatdisf2 */ default: return -1; } case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x3) != V2DFmode || !register_operand (operands[1], V2DImode) || ! #line 1616 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1458; /* floatv2div2df2 */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x3) != V4SFmode || !register_operand (operands[1], V4SImode) || ! #line 1616 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1459; /* floatv4siv4sf2 */ default: return -1; } } static int recog_86 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case CONST_INT: if (XWINT (x5, 0) != 1L) return -1; switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x3, SImode)) { case 0: if (! #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return -1; return 524; /* *sge_sisi */ case 1: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 526; /* *sge_disi */ default: return -1; } case DImode: switch (pattern106 (x3, DImode)) { case 0: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 528; /* *sge_sidi */ case 1: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 530; /* *sge_didi */ default: return -1; } default: return -1; } case REG: case SUBREG: switch (pattern13 (x3)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 598; /* sge_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 602; /* sge_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 606; /* sge_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 610; /* sge_df_using_ccf */ default: return -1; } default: return -1; } } static int recog_87 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: switch (pattern25 (x3)) { case 0: if (! #line 208 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1071; /* ssaddv4hi3 */ case 1: if (! #line 208 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1072; /* ssaddv8qi3 */ case 2: if (! #line 978 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1288; /* ssaddv2di3 */ case 3: if (! #line 978 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1289; /* ssaddv4si3 */ case 4: if (! #line 978 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1290; /* ssaddv8hi3 */ case 5: if (! #line 978 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1291; /* ssaddv16qi3 */ default: return -1; } case ABS: switch (pattern30 (x3)) { case 0: if (! #line 969 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1284; /* msa_adds_a_d */ case 1: if (! #line 969 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1285; /* msa_adds_a_w */ case 2: if (! #line 969 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1286; /* msa_adds_a_h */ case 3: if (! #line 969 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1287; /* msa_adds_a_b */ default: return -1; } default: return -1; } } static int recog_88 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case HImode: if (!register_operand (operands[0], HImode) || GET_MODE (x3) != HImode || !register_operand (operands[1], HImode) || ! #line 5782 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_WSBH)) return -1; return 458; /* bswaphi2 */ case SImode: if (!register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !register_operand (operands[1], SImode) || ! #line 5789 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_WSBH && ISA_HAS_ROR)) return -1; return 459; /* bswapsi2 */ case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x3) != DImode || !register_operand (operands[1], DImode) || ! #line 5800 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && ISA_HAS_WSBH)) return -1; return 460; /* bswapdi2 */ default: return -1; } } static int recog_89 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); x4 = XEXP (x3, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SFmode: if (!register_operand (operands[0], SFmode) || GET_MODE (x3) != SFmode || !register_operand (operands[1], SFmode) || !( #line 3122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (SFmode)) && #line 853 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 166; /* abssf2 */ case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x3) != DFmode || !register_operand (operands[1], DFmode) || !( #line 3122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (DFmode)) && #line 854 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 167; /* absdf2 */ case V2SFmode: if (!register_operand (operands[0], V2SFmode) || GET_MODE (x3) != V2SFmode || !register_operand (operands[1], V2SFmode) || !( #line 3122 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (V2SFmode)) && #line 855 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return -1; return 168; /* absv2sf2 */ default: return -1; } } static int recog_90 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; int res ATTRIBUTE_UNUSED; switch (pattern8 (x1)) { case 0: if ( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 439; /* *ashrsi3 */ if (! #line 5658 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 448; /* *ashrsi3_mips16 */ case 1: if (( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 442; /* *ashrdi3 */ if (! #line 5702 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16)) return -1; return 453; /* *ashrdi3_mips16 */ case 2: if (! #line 578 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1125; /* ashrv2si3 */ case 3: if (! #line 578 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1126; /* ashrv4hi3 */ case 4: if (! #line 870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1258; /* vashrv2di3 */ case 5: if (! #line 870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1259; /* vashrv4si3 */ case 6: if (! #line 870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1260; /* vashrv8hi3 */ case 7: if (! #line 870 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1261; /* vashrv16qi3 */ default: return -1; } } static int recog_91 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[0] = x3; x4 = XEXP (x2, 1); switch (XVECLEN (x4, 0)) { case 2: x5 = XVECEXP (x4, 0, 0); operands[1] = x5; x6 = XVECEXP (x4, 0, 1); operands[2] = x6; switch (XINT (x4, 1)) { case 20: x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != CLOBBER) return -1; switch (pattern206 (x1)) { case 0: if (!( #line 5455 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_CPRESTORE_DIRECTIVE || operands[2] == pic_offset_table_rtx) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 424; /* potential_cprestore_si */ case 1: if (!( #line 5455 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_CPRESTORE_DIRECTIVE || operands[2] == pic_offset_table_rtx) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 425; /* potential_cprestore_di */ default: return -1; } case 86: switch (pattern187 (x1, 86)) { case 0: if (! #line 146 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 844; /* mips_addq_s_w */ case 1: if (! #line 146 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 845; /* mips_addq_s_ph */ case 2: if (! #line 146 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 846; /* mips_addu_s_qb */ default: return -1; } case 88: switch (pattern187 (x1, 88)) { case 0: if (! #line 170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 849; /* mips_subq_s_w */ case 1: if (! #line 170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 850; /* mips_subq_s_ph */ case 2: if (! #line 170 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 851; /* mips_subu_s_qb */ default: return -1; } case 89: if (pattern141 (x1, SImode, 184, 89, 2) != 0) return -1; x7 = XVECEXP (x1, 0, 1); x8 = XEXP (x7, 1); if (pattern188 (x8, SImode) != 0 || ! #line 183 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 852; /* mips_addsc */ case 96: if (pattern189 (x1, 96, V2HImode, SImode) != 0 || ! #line 264 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 860; /* mips_precrq_rs_ph_w */ case 97: if (pattern189 (x1, 97, V4QImode, V2HImode) != 0 || ! #line 278 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 861; /* mips_precrqu_s_qb_ph */ case 108: x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x8 = XEXP (x7, 1); if (GET_CODE (x8) != UNSPEC || pattern127 (x7, 185, 108, 2) != 0 || !arith_operand (operands[2], SImode)) return -1; x9 = XVECEXP (x8, 0, 0); if (!rtx_equal_p (x9, operands[1])) return -1; x10 = XVECEXP (x8, 0, 1); if (!rtx_equal_p (x10, operands[2])) return -1; switch (GET_MODE (operands[0])) { case V2HImode: if (!register_operand (operands[0], V2HImode) || GET_MODE (x4) != V2HImode || !register_operand (operands[1], V2HImode) || ! #line 385 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 872; /* mips_shll_ph */ case V4QImode: if (!register_operand (operands[0], V4QImode) || GET_MODE (x4) != V4QImode || !register_operand (operands[1], V4QImode) || ! #line 385 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 873; /* mips_shll_qb */ default: return -1; } case 109: x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x8 = XEXP (x7, 1); if (GET_CODE (x8) != UNSPEC || pattern127 (x7, 185, 109, 2) != 0 || !arith_operand (operands[2], SImode)) return -1; x9 = XVECEXP (x8, 0, 0); if (!rtx_equal_p (x9, operands[1])) return -1; x10 = XVECEXP (x8, 0, 1); if (!rtx_equal_p (x10, operands[2])) return -1; switch (pattern248 (x4)) { case 0: if (! #line 406 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 874; /* mips_shll_s_w */ case 1: if (! #line 406 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 875; /* mips_shll_s_ph */ default: return -1; } case 113: if (pattern191 (x1, pnum_clobbers, 113) != 0 || ! #line 487 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 880; /* mips_muleu_s_ph_qbl */ case 114: if (pattern191 (x1, pnum_clobbers, 114) != 0 || ! #line 500 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 881; /* mips_muleu_s_ph_qbr */ case 115: if (pnum_clobbers == NULL || pattern189 (x1, 115, V2HImode, V2HImode) != 0 || ! #line 514 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 882; /* mips_mulq_rs_ph */ case 116: if (pnum_clobbers == NULL || pattern189 (x1, 116, SImode, V2HImode) != 0 || ! #line 528 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 883; /* mips_muleq_s_w_phl */ case 117: if (pnum_clobbers == NULL || pattern189 (x1, 117, SImode, V2HImode) != 0 || ! #line 541 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 884; /* mips_muleq_s_w_phr */ case 143: if (pattern193 (x1, 143) != 0 || ! #line 888 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 914; /* mips_extr_w */ case 144: if (pattern193 (x1, 144) != 0 || ! #line 908 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 915; /* mips_extr_r_w */ case 145: if (pattern193 (x1, 145) != 0 || ! #line 928 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 916; /* mips_extr_rs_w */ case 146: if (pattern193 (x1, 146) != 0 || ! #line 949 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 917; /* mips_extr_s_h */ case 155: if (pattern195 (x1, 155) != 0 || ! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 951; /* mips_addu_s_ph */ case 160: if (pattern197 (x1, 160) != 0 || ! #line 166 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 956; /* mips_cmpgdu_eq_qb */ case 161: if (pattern197 (x1, 161) != 0 || ! #line 180 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 957; /* mips_cmpgdu_lt_qb */ case 162: if (pattern197 (x1, 162) != 0 || ! #line 194 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 958; /* mips_cmpgdu_le_qb */ case 170: if (pnum_clobbers == NULL || pattern195 (x1, 170) != 0 || ! #line 243 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 962; /* mips_mul_s_ph */ case 171: if (pattern198 (x1, pnum_clobbers, 171) != 0 || ! #line 256 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 963; /* mips_mulq_rs_w */ case 172: if (pnum_clobbers == NULL || pattern195 (x1, 172) != 0 || ! #line 269 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 964; /* mips_mulq_s_ph */ case 173: if (pattern198 (x1, pnum_clobbers, 173) != 0 || ! #line 282 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 965; /* mips_mulq_s_w */ case 184: if (pattern195 (x1, 184) != 0 || ! #line 416 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 974; /* mips_subu_ph */ case 185: if (pattern195 (x1, 185) != 0 || ! #line 428 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 975; /* mips_subu_s_ph */ default: return -1; } case 1: switch (XINT (x4, 1)) { case 30: if (pattern132 (x1) != 0) return -1; switch (pattern215 (x1)) { case 0: if (!( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 701; /* tls_get_tp_si */ case 1: if (!( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 702; /* tls_get_tp_di */ default: return -1; } case 93: x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x8 = XEXP (x7, 1); if (GET_CODE (x8) != UNSPEC || pattern127 (x7, 185, 93, 1) != 0) return -1; x5 = XVECEXP (x4, 0, 0); operands[1] = x5; x9 = XVECEXP (x8, 0, 0); if (!rtx_equal_p (x9, operands[1])) return -1; switch (pattern248 (x4)) { case 0: if (! #line 230 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 856; /* mips_absq_s_w */ case 1: if (! #line 230 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 857; /* mips_absq_s_ph */ default: return -1; } case 153: if (pattern141 (x1, V4QImode, 185, 153, 1) != 0) return -1; x5 = XVECEXP (x4, 0, 0); operands[1] = x5; if (!reg_or_0_operand (operands[1], V4QImode)) return -1; x7 = XVECEXP (x1, 0, 1); x8 = XEXP (x7, 1); x9 = XVECEXP (x8, 0, 0); if (!rtx_equal_p (x9, operands[1]) || ! #line 79 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 949; /* mips_absq_s_qb */ default: return -1; } case 3: x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x8 = XEXP (x7, 1); if (GET_CODE (x8) != UNSPEC || GET_MODE (x8) != CCDSPmode) return -1; x11 = XEXP (x7, 0); if (GET_CODE (x11) != REG || GET_MODE (x11) != CCDSPmode) return -1; x5 = XVECEXP (x4, 0, 0); operands[1] = x5; x6 = XVECEXP (x4, 0, 1); operands[2] = x6; switch (XINT (x4, 1)) { case 90: if (pattern235 (x1, 90, 2, 184, SImode) != 0 || pattern252 (x7, SImode, 185) != 0 || ! #line 197 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 853; /* mips_addwc */ case 122: if (pattern237 (x1, 122, V2HImode) != 0 || ! #line 606 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 889; /* mips_dpaq_s_w_ph */ case 123: if (pattern237 (x1, 123, V2HImode) != 0 || ! #line 622 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 890; /* mips_dpsq_s_w_ph */ case 124: if (pattern237 (x1, 124, V2HImode) != 0 || ! #line 638 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 891; /* mips_mulsaq_s_w_ph */ case 125: if (pattern237 (x1, 125, SImode) != 0 || ! #line 654 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 892; /* mips_dpaq_sa_l_w */ case 126: if (pattern237 (x1, 126, SImode) != 0 || ! #line 670 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 893; /* mips_dpsq_sa_l_w */ case 127: if (pattern237 (x1, 127, V2HImode) != 0 || ! #line 686 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 894; /* mips_maq_s_w_phl */ case 128: if (pattern237 (x1, 128, V2HImode) != 0 || ! #line 701 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 895; /* mips_maq_s_w_phr */ case 129: if (pattern237 (x1, 129, V2HImode) != 0 || ! #line 717 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 896; /* mips_maq_sa_w_phl */ case 130: if (pattern237 (x1, 130, V2HImode) != 0 || ! #line 732 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 897; /* mips_maq_sa_w_phr */ case 147: if (pattern124 (x4) != 0 || XVECLEN (x8, 0) != 2 || XINT (x8, 1) != 147 || REGNO (x11) != 187 || pattern192 (x8) != 0 || ! #line 971 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 918; /* mips_extp */ case 150: if (pattern235 (x1, 150, 3, 182, DImode) != 0) return -1; x12 = XVECEXP (x8, 0, 2); if (GET_CODE (x12) != REG || REGNO (x12) != 182 || GET_MODE (x12) != CCDSPmode || pattern252 (x7, DImode, 182) != 0 || ! #line 1037 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 921; /* mips_mthlip */ case 198: if (pattern238 (x1, 198) != 0 || ! #line 566 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 988; /* mips_dpaqx_s_w_ph */ case 199: if (pattern238 (x1, 199) != 0 || ! #line 581 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 989; /* mips_dpaqx_sa_w_ph */ case 200: if (pattern238 (x1, 200) != 0 || ! #line 596 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 990; /* mips_dpsqx_s_w_ph */ case 201: if (pattern238 (x1, 201) != 0 || ! #line 611 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2 && !TARGET_64BIT)) return -1; return 991; /* mips_dpsqx_sa_w_ph */ default: return -1; } default: return -1; } } static int recog_92 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); switch (GET_CODE (x3)) { case PC: x4 = XVECEXP (x1, 0, 1); switch (GET_CODE (x4)) { case SET: x5 = XEXP (x2, 1); operands[1] = x5; x6 = XEXP (x4, 0); operands[0] = x6; x7 = XEXP (x4, 1); operands[2] = x7; switch (GET_MODE (operands[1])) { case SImode: if (!register_operand (operands[1], SImode) || !register_operand (operands[0], SImode) || !register_operand (operands[2], SImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 619; /* indirect_jump_and_restore_si */ case DImode: if (!register_operand (operands[1], DImode) || !register_operand (operands[0], DImode) || !register_operand (operands[2], DImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 620; /* indirect_jump_and_restore_di */ default: return -1; } case USE: x6 = XEXP (x4, 0); if (GET_CODE (x6) != LABEL_REF) return -1; x5 = XEXP (x2, 1); operands[0] = x5; x8 = XEXP (x6, 0); operands[1] = x8; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) return -1; return 621; /* tablejump_si */ case DImode: if (!register_operand (operands[0], DImode) || ! #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) return -1; return 622; /* tablejump_di */ default: return -1; } default: return -1; } case REG: case SUBREG: case MEM: operands[0] = x3; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != SET) return -1; x5 = XEXP (x2, 1); operands[1] = x5; x7 = XEXP (x4, 1); switch (GET_CODE (x7)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: case MEM: operands[3] = x7; x6 = XEXP (x4, 0); operands[2] = x6; switch (GET_MODE (operands[0])) { case HImode: if (pattern228 (HImode) != 0 || ! #line 7576 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed)) return -1; return 715; /* *join2_load_storehi */ case SImode: if (pattern228 (SImode) != 0 || ! #line 7576 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed)) return -1; return 716; /* *join2_load_storesi */ case SFmode: if (nonimmediate_operand (operands[0], SFmode) && nonimmediate_operand (operands[1], SFmode) && nonimmediate_operand (operands[2], SFmode) && nonimmediate_operand (operands[3], SFmode) && ( #line 7576 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed) && #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return 717; /* *join2_load_storesf */ if (!register_operand (operands[0], SFmode) || !movep_src_operand (operands[1], SFmode)) return -1; switch (pattern219 ()) { case 0: if (! #line 127 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return -1; return 1056; /* *movepsfsi */ case 1: if (! #line 127 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return -1; return 1057; /* *movepsfsf */ default: return -1; } case DFmode: if (pattern228 (DFmode) != 0 || !( #line 7576 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed) && #line 798 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 718; /* *join2_load_storedf */ default: return -1; } case UNSPEC_VOLATILE: x6 = XEXP (x4, 0); if (!rtx_equal_p (x6, operands[1])) return -1; switch (XVECLEN (x7, 0)) { case 2: if (XINT (x7, 1) != 58) return -1; x9 = XVECEXP (x7, 0, 0); operands[2] = x9; x10 = XVECEXP (x7, 0, 1); operands[3] = x10; switch (GET_MODE (operands[0])) { case SImode: if (pattern240 (x7, SImode) != 0 || ! #line 67 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 722; /* sync_compare_and_swapsi */ case DImode: if (pattern240 (x7, DImode) != 0 || !( #line 67 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 723; /* sync_compare_and_swapdi */ default: return -1; } case 4: if (XINT (x7, 1) != 59 || GET_MODE (x7) != SImode || !register_operand (operands[0], SImode) || !memory_operand (operands[1], SImode)) return -1; x9 = XVECEXP (x7, 0, 0); operands[2] = x9; if (!register_operand (operands[2], SImode)) return -1; x10 = XVECEXP (x7, 0, 1); operands[3] = x10; if (!register_operand (operands[3], SImode)) return -1; x11 = XVECEXP (x7, 0, 2); operands[4] = x11; if (!reg_or_0_operand (operands[4], SImode)) return -1; x12 = XVECEXP (x7, 0, 3); operands[5] = x12; if (!reg_or_0_operand (operands[5], SImode) || ! #line 99 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 724; /* compare_and_swap_12 */ case 3: if (!register_operand (operands[0], SImode) || !memory_operand (operands[1], SImode) || GET_MODE (x7) != SImode) return -1; x9 = XVECEXP (x7, 0, 0); operands[2] = x9; if (!register_operand (operands[2], SImode)) return -1; x10 = XVECEXP (x7, 0, 1); operands[3] = x10; if (!register_operand (operands[3], SImode)) return -1; switch (XINT (x7, 1)) { case 63: if (pnum_clobbers == NULL) return -1; x11 = XVECEXP (x7, 0, 2); switch (pattern253 (x11)) { case 0: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 732; /* sync_old_add_12 */ case 1: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 733; /* sync_old_sub_12 */ case 2: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 734; /* sync_old_ior_12 */ case 3: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 735; /* sync_old_xor_12 */ case 4: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 736; /* sync_old_and_12 */ case 5: if (! #line 307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; *pnum_clobbers = 1; return 743; /* sync_old_nand_12 */ default: return -1; } case 65: x11 = XVECEXP (x7, 0, 2); operands[4] = x11; if (!reg_or_0_operand (operands[4], SImode) || ! #line 555 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 781; /* test_and_set_12 */ default: return -1; } case 1: switch (XINT (x7, 1)) { case 60: x9 = XVECEXP (x7, 0, 0); switch (GET_CODE (x9)) { case PLUS: x13 = XEXP (x9, 1); operands[2] = x13; x14 = XEXP (x9, 0); if (!rtx_equal_p (x14, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern242 (x7, SImode) != 0 || ! #line 383 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 747; /* sync_old_addsi */ case DImode: if (pattern242 (x7, DImode) != 0 || !( #line 383 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 748; /* sync_old_adddi */ default: return -1; } case MINUS: x13 = XEXP (x9, 1); operands[2] = x13; x14 = XEXP (x9, 0); if (!rtx_equal_p (x14, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern243 (x7, SImode) != 0 || ! #line 398 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 749; /* sync_old_subsi */ case DImode: if (pattern243 (x7, DImode) != 0 || !( #line 398 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 750; /* sync_old_subdi */ default: return -1; } case IOR: switch (pattern231 (x7)) { case 0: if (! #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 761; /* sync_old_iorsi */ case 1: if (!( #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 764; /* sync_old_iordi */ default: return -1; } case XOR: switch (pattern231 (x7)) { case 0: if (! #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 762; /* sync_old_xorsi */ case 1: if (!( #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 765; /* sync_old_xordi */ default: return -1; } case AND: switch (pattern231 (x7)) { case 0: if (! #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 763; /* sync_old_andsi */ case 1: if (!( #line 457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 766; /* sync_old_anddi */ default: return -1; } case CONST_INT: case REG: case SUBREG: switch (pattern233 (x7)) { case 0: if (! #line 497 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 775; /* sync_old_nandsi */ case 1: if (!( #line 497 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 776; /* sync_old_nanddi */ default: return -1; } default: return -1; } case 61: x9 = XVECEXP (x7, 0, 0); switch (GET_CODE (x9)) { case IOR: switch (pattern231 (x7)) { case 0: if (! #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 767; /* sync_new_iorsi */ case 1: if (!( #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 770; /* sync_new_iordi */ default: return -1; } case XOR: switch (pattern231 (x7)) { case 0: if (! #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 768; /* sync_new_xorsi */ case 1: if (!( #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 771; /* sync_new_xordi */ default: return -1; } case AND: switch (pattern231 (x7)) { case 0: if (! #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 769; /* sync_new_andsi */ case 1: if (!( #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 772; /* sync_new_anddi */ default: return -1; } case CONST_INT: case REG: case SUBREG: switch (pattern233 (x7)) { case 0: if (! #line 511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 777; /* sync_new_nandsi */ case 1: if (!( #line 511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 778; /* sync_new_nanddi */ default: return -1; } default: return -1; } case 64: x9 = XVECEXP (x7, 0, 0); operands[2] = x9; switch (GET_MODE (operands[0])) { case SImode: if (pattern239 (x7, SImode) != 0 || ! #line 526 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 779; /* sync_lock_test_and_setsi */ case DImode: if (pattern239 (x7, DImode) != 0 || !( #line 526 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 780; /* sync_lock_test_and_setdi */ default: return -1; } default: return -1; } default: return -1; } default: return -1; } default: return -1; } } static int recog_93 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); switch (XVECLEN (x3, 0)) { case 1: switch (XINT (x3, 1)) { case 22: x4 = XVECEXP (x3, 0, 0); if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x5 = XEXP (x2, 0); if (GET_CODE (x5) != REG || REGNO (x5) != 28) return -1; x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != CLOBBER) return -1; switch (pattern207 (x1)) { case 0: if (!( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 641; /* restore_gp_si */ case 1: if (!( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 642; /* restore_gp_di */ default: return -1; } case 68: x6 = XVECEXP (x1, 0, 1); if (pattern122 (x6, 68) != 0) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x7 = XEXP (x6, 1); x8 = XVECEXP (x7, 0, 0); operands[2] = x8; x9 = XEXP (x6, 0); if (!rtx_equal_p (x9, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern241 (x1, SImode) != 0 || ! #line 655 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (ISA_HAS_SWAP)) return -1; return 786; /* atomic_exchangesi_swap */ case DImode: if (pattern241 (x1, DImode) != 0 || !( #line 655 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (ISA_HAS_SWAP) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 787; /* atomic_exchangedi_swap */ default: return -1; } case 69: x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != SET) return -1; x7 = XEXP (x6, 1); if (GET_CODE (x7) != UNSPEC_VOLATILE || XVECLEN (x7, 0) != 1 || XINT (x7, 1) != 69) return -1; x8 = XVECEXP (x7, 0, 0); if (GET_CODE (x8) != PLUS) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x10 = XEXP (x8, 1); operands[2] = x10; x11 = XEXP (x8, 0); if (!rtx_equal_p (x11, operands[1])) return -1; x9 = XEXP (x6, 0); if (!rtx_equal_p (x9, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern249 (x1, SImode) != 0 || ! #line 714 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (ISA_HAS_LDADD)) return -1; return 790; /* atomic_fetch_addsi_ldadd */ case DImode: if (pattern249 (x1, DImode) != 0 || !( #line 714 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (ISA_HAS_LDADD) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 791; /* atomic_fetch_adddi_ldadd */ default: return -1; } default: return -1; } case 3: if (XINT (x3, 1) != 63 || GET_MODE (x3) != SImode) return -1; x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!memory_operand (operands[0], SImode)) return -1; x4 = XVECEXP (x3, 0, 0); operands[1] = x4; if (!register_operand (operands[1], SImode)) return -1; x12 = XVECEXP (x3, 0, 1); operands[2] = x12; if (!register_operand (operands[2], SImode)) return -1; x13 = XVECEXP (x3, 0, 2); if (GET_MODE (x13) != SImode) return -1; x9 = XEXP (x6, 0); operands[4] = x9; if (!scratch_operand (operands[4], SImode)) return -1; switch (GET_CODE (x13)) { case PLUS: x14 = XEXP (x13, 1); operands[3] = x14; if (!reg_or_0_operand (operands[3], SImode)) return -1; x15 = XEXP (x13, 0); if (!rtx_equal_p (x15, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 727; /* sync_add_12 */ case MINUS: x14 = XEXP (x13, 1); operands[3] = x14; if (!reg_or_0_operand (operands[3], SImode)) return -1; x15 = XEXP (x13, 0); if (!rtx_equal_p (x15, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 728; /* sync_sub_12 */ case IOR: x14 = XEXP (x13, 1); operands[3] = x14; if (!reg_or_0_operand (operands[3], SImode)) return -1; x15 = XEXP (x13, 0); if (!rtx_equal_p (x15, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 729; /* sync_ior_12 */ case XOR: x14 = XEXP (x13, 1); operands[3] = x14; if (!reg_or_0_operand (operands[3], SImode)) return -1; x15 = XEXP (x13, 0); if (!rtx_equal_p (x15, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 730; /* sync_xor_12 */ case AND: x14 = XEXP (x13, 1); operands[3] = x14; if (!reg_or_0_operand (operands[3], SImode)) return -1; x15 = XEXP (x13, 0); if (!rtx_equal_p (x15, operands[0]) || ! #line 145 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 731; /* sync_and_12 */ default: return -1; } case 4: x5 = XEXP (x2, 0); operands[0] = x5; if (GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x3, 0, 0); operands[1] = x4; x12 = XVECEXP (x3, 0, 1); operands[2] = x12; if (!register_operand (operands[2], SImode)) return -1; switch (XINT (x3, 1)) { case 62: x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != SET) return -1; x7 = XEXP (x6, 1); if (GET_CODE (x7) != UNSPEC_VOLATILE || XVECLEN (x7, 0) != 4 || XINT (x7, 1) != 62 || GET_MODE (x7) != SImode || !register_operand (operands[0], SImode) || !memory_operand (operands[1], SImode) || pattern236 (x1, SImode) != 0) return -1; x9 = XEXP (x6, 0); if (!rtx_equal_p (x9, operands[1])) return -1; x16 = XVECEXP (x3, 0, 3); switch (GET_CODE (x16)) { case PLUS: if (pattern259 (x1) != 0 || ! #line 232 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 737; /* sync_new_add_12 */ case MINUS: if (pattern259 (x1) != 0 || ! #line 232 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 738; /* sync_new_sub_12 */ case IOR: if (pattern259 (x1) != 0 || ! #line 232 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 739; /* sync_new_ior_12 */ case XOR: if (pattern259 (x1) != 0 || ! #line 232 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 740; /* sync_new_xor_12 */ case AND: if (pattern259 (x1) != 0 || ! #line 232 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 741; /* sync_new_and_12 */ case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: operands[4] = x16; if (!reg_or_0_operand (operands[4], SImode)) return -1; x17 = XVECEXP (x7, 0, 3); if (!rtx_equal_p (x17, operands[4]) || ! #line 351 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 744; /* sync_new_nand_12 */ default: return -1; } case 63: x6 = XVECEXP (x1, 0, 1); if (GET_CODE (x6) != CLOBBER || !memory_operand (operands[0], SImode) || !register_operand (operands[1], SImode)) return -1; x16 = XVECEXP (x3, 0, 3); operands[3] = x16; if (!reg_or_0_operand (operands[3], SImode)) return -1; x9 = XEXP (x6, 0); operands[4] = x9; if (!scratch_operand (operands[4], SImode)) return -1; x13 = XVECEXP (x3, 0, 2); if (!rtx_equal_p (x13, operands[0]) || ! #line 268 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 742; /* sync_nand_12 */ default: return -1; } default: return -1; } } static int recog_94 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[0] = x3; x4 = XEXP (x2, 1); x5 = XEXP (x4, 0); switch (GET_CODE (x5)) { case MULT: if (GET_MODE (x5) != SImode || GET_MODE (x4) != SImode) return -1; x6 = XEXP (x5, 0); operands[1] = x6; if (!register_operand (operands[1], SImode)) return -1; x7 = XEXP (x5, 1); operands[2] = x7; if (!register_operand (operands[2], SImode)) return -1; x8 = XVECEXP (x1, 0, 1); switch (GET_CODE (x8)) { case CLOBBER: if (!register_operand (operands[0], SImode)) return -1; x9 = XEXP (x4, 1); operands[3] = x9; if (!register_operand (operands[3], SImode)) return -1; x10 = XEXP (x8, 0); operands[4] = x10; if (!scratch_operand (operands[4], SImode) || ! #line 1817 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC)) return -1; return 44; /* *macc */ case SET: x11 = XEXP (x8, 1); if (GET_CODE (x11) != PLUS || GET_MODE (x11) != SImode) return -1; x12 = XEXP (x11, 0); if (GET_CODE (x12) != MULT || GET_MODE (x12) != SImode || !muldiv_target_operand (operands[0], SImode)) return -1; x10 = XEXP (x8, 0); operands[3] = x10; if (!register_operand (operands[3], SImode)) return -1; x9 = XEXP (x4, 1); if (!rtx_equal_p (x9, operands[0])) return -1; x13 = XEXP (x12, 0); if (!rtx_equal_p (x13, operands[1])) return -1; x14 = XEXP (x12, 1); if (!rtx_equal_p (x14, operands[2])) return -1; x15 = XEXP (x11, 1); if (!rtx_equal_p (x15, operands[0]) || ! #line 1887 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC && reload_completed)) return -1; return 47; /* *macc2 */ default: return -1; } case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: case MEM: operands[1] = x5; x8 = XVECEXP (x1, 0, 1); if (GET_CODE (x8) != SET) return -1; x9 = XEXP (x4, 1); operands[2] = x9; x11 = XEXP (x8, 1); switch (GET_CODE (x11)) { case UNSPEC_VOLATILE: if (pattern163 (x11, DImode) != 0 || !register_operand (operands[0], DImode) || GET_MODE (x4) != DImode || !memory_operand (operands[1], DImode) || pattern251 (x8, DImode) != 0 || !( #line 413 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 752; /* sync_new_adddi */ case UNSPEC: if (XVECLEN (x11, 0) != 2) return -1; x10 = XEXP (x8, 0); if (GET_CODE (x10) != REG || REGNO (x10) != 185 || GET_MODE (x10) != CCDSPmode || GET_MODE (x11) != CCDSPmode) return -1; x16 = XVECEXP (x11, 0, 0); if (!rtx_equal_p (x16, operands[1])) return -1; x17 = XVECEXP (x11, 0, 1); if (!rtx_equal_p (x17, operands[2])) return -1; switch (XINT (x11, 1)) { case 85: switch (GET_MODE (operands[0])) { case V2HImode: if (pattern88 (x4, V2HImode) != 0 || ! #line 134 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 842; /* addv2hi3 */ case V4QImode: if (pattern88 (x4, V4QImode) != 0 || ! #line 134 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 843; /* addv4qi3 */ default: return -1; } case 154: if (!register_operand (operands[0], V2HImode) || GET_MODE (x4) != V2HImode || !reg_or_0_operand (operands[1], V2HImode) || !reg_or_0_operand (operands[2], V2HImode) || ! #line 90 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 950; /* mips_addu_ph */ default: return -1; } default: return -1; } default: return -1; } } static int recog_95 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 0); operands[0] = x3; x4 = XEXP (x2, 1); x5 = XEXP (x4, 1); switch (GET_CODE (x5)) { case MULT: if (GET_MODE (x5) != SImode || GET_MODE (x4) != SImode) return -1; x6 = XEXP (x5, 0); if (!register_operand (x6, SImode)) return -1; x7 = XEXP (x5, 1); if (!register_operand (x7, SImode)) return -1; x8 = XVECEXP (x1, 0, 1); switch (GET_CODE (x8)) { case CLOBBER: if (!register_operand (operands[0], SImode)) return -1; x9 = XEXP (x4, 0); operands[1] = x9; if (!register_operand (operands[1], SImode)) return -1; operands[2] = x6; operands[3] = x7; x10 = XEXP (x8, 0); operands[4] = x10; if (!scratch_operand (operands[4], SImode) || ! #line 1839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MSAC)) return -1; return 45; /* *msac */ case SET: x11 = XEXP (x8, 1); if (GET_CODE (x11) != MINUS || GET_MODE (x11) != SImode) return -1; x12 = XEXP (x11, 1); if (GET_CODE (x12) != MULT || GET_MODE (x12) != SImode || !muldiv_target_operand (operands[0], SImode)) return -1; operands[1] = x6; operands[2] = x7; x10 = XEXP (x8, 0); operands[3] = x10; if (!register_operand (operands[3], SImode)) return -1; x9 = XEXP (x4, 0); if (!rtx_equal_p (x9, operands[0])) return -1; x13 = XEXP (x11, 0); if (!rtx_equal_p (x13, operands[0])) return -1; x14 = XEXP (x12, 0); if (!rtx_equal_p (x14, operands[1])) return -1; x15 = XEXP (x12, 1); if (!rtx_equal_p (x15, operands[2]) || ! #line 1902 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MSAC && reload_completed)) return -1; return 48; /* *msac2 */ default: return -1; } case REG: case SUBREG: operands[2] = x5; x8 = XVECEXP (x1, 0, 1); if (GET_CODE (x8) != SET) return -1; x9 = XEXP (x4, 0); operands[1] = x9; x11 = XEXP (x8, 1); switch (GET_CODE (x11)) { case UNSPEC_VOLATILE: if (XVECLEN (x11, 0) != 1 || XINT (x11, 1) != 61) return -1; x16 = XVECEXP (x11, 0, 0); if (GET_CODE (x16) != MINUS) return -1; x17 = XEXP (x16, 0); if (!rtx_equal_p (x17, operands[1])) return -1; x18 = XEXP (x16, 1); if (!rtx_equal_p (x18, operands[2])) return -1; x10 = XEXP (x8, 0); if (!rtx_equal_p (x10, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern247 (x1, SImode) != 0 || ! #line 429 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 753; /* sync_new_subsi */ case DImode: if (pattern247 (x1, DImode) != 0 || !( #line 429 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 754; /* sync_new_subdi */ default: return -1; } case UNSPEC: if (pattern127 (x8, 185, 87, 2) != 0) return -1; x16 = XVECEXP (x11, 0, 0); if (!rtx_equal_p (x16, operands[1])) return -1; x19 = XVECEXP (x11, 0, 1); if (!rtx_equal_p (x19, operands[2])) return -1; switch (GET_MODE (operands[0])) { case V2HImode: if (pattern88 (x4, V2HImode) != 0 || ! #line 158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 847; /* subv2hi3 */ case V4QImode: if (pattern88 (x4, V4QImode) != 0 || ! #line 158 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 848; /* subv4qi3 */ default: return -1; } default: return -1; } default: return -1; } } static int recog_96 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); switch (GET_CODE (x3)) { case MULT: x4 = XEXP (x2, 0); operands[0] = x4; x5 = XEXP (x3, 0); switch (GET_CODE (x5)) { case REG: case SUBREG: operands[1] = x5; x6 = XEXP (x3, 1); operands[2] = x6; x7 = XVECEXP (x1, 0, 1); switch (GET_CODE (x7)) { case CLOBBER: x8 = XEXP (x7, 0); operands[3] = x8; switch (GET_MODE (operands[0])) { case SImode: if (pattern212 (x3, SImode) != 0) return -1; if ( #line 1636 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MUL3)) return 36; /* mulsi3_mul3 */ if (! #line 1684 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && TARGET_FIX_R4000)) return -1; return 40; /* mulsi3_r4000 */ case DImode: if (pattern212 (x3, DImode) != 0) return -1; if (( #line 1636 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMUL3) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 37; /* muldi3_mul3 */ if (!( #line 1684 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 41; /* muldi3_r4000 */ default: return -1; } case SET: if (pnum_clobbers == NULL) return -1; x9 = XEXP (x7, 1); if (GET_CODE (x9) != UNSPEC || pattern127 (x7, 185, 169, 2) != 0 || pattern88 (x3, V2HImode) != 0) return -1; x10 = XVECEXP (x9, 0, 0); if (!rtx_equal_p (x10, operands[1])) return -1; x11 = XVECEXP (x9, 0, 1); if (!rtx_equal_p (x11, operands[2]) || ! #line 230 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 961; /* mulv2hi3 */ default: return -1; } case SIGN_EXTEND: switch (pattern121 (x1, SIGN_EXTEND)) { case 0: if ( #line 2116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_FIX_R4000 && !ISA_HAS_DSP && ISA_HAS_MULT)) return 53; /* mulsidi3_32bit_r4000 */ if (! #line 2207 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMUL3)) return -1; return 59; /* mulsidi3_64bit_dmul */ case 1: if (! #line 2491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; return 79; /* mulditi3_r4000 */ default: return -1; } case ZERO_EXTEND: switch (pattern121 (x1, ZERO_EXTEND)) { case 0: if (! #line 2116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_64BIT && TARGET_FIX_R4000 && !ISA_HAS_DSP && ISA_HAS_MULT)) return -1; return 54; /* umulsidi3_32bit_r4000 */ case 1: if (! #line 2491 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && TARGET_FIX_R4000 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; return 80; /* umulditi3_r4000 */ default: return -1; } default: return -1; } case PLUS: return recog_94 (x1, insn, pnum_clobbers); case MINUS: return recog_95 (x1, insn, pnum_clobbers); case NEG: if (pattern83 (x1) != 0) return -1; x4 = XEXP (x2, 0); operands[0] = x4; if (!register_operand (operands[0], SImode)) return -1; x5 = XEXP (x3, 0); x12 = XEXP (x5, 0); operands[1] = x12; if (!register_operand (operands[1], SImode)) return -1; x13 = XEXP (x5, 1); operands[2] = x13; if (!register_operand (operands[2], SImode)) return -1; x7 = XVECEXP (x1, 0, 1); x8 = XEXP (x7, 0); operands[3] = x8; if (!scratch_operand (operands[3], SImode) || ! #line 2044 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULS)) return -1; return 50; /* *muls */ case TRUNCATE: x5 = XEXP (x3, 0); if (GET_CODE (x5) != LSHIFTRT) return -1; x13 = XEXP (x5, 1); if (GET_CODE (x13) != CONST_INT) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != CLOBBER) return -1; x4 = XEXP (x2, 0); operands[0] = x4; x8 = XEXP (x7, 0); operands[3] = x8; x12 = XEXP (x5, 0); switch (GET_CODE (x12)) { case MULT: x14 = XEXP (x12, 0); switch (GET_CODE (x14)) { case SIGN_EXTEND: switch (pattern214 (x3, SIGN_EXTEND)) { case 0: if ( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16)) return 67; /* smulsi3_highpart_internal */ if (! #line 2355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; return 69; /* smulsi3_highpart_mulhi_internal */ case 1: if (! #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; return 75; /* smuldi3_highpart_internal */ default: return -1; } case ZERO_EXTEND: switch (pattern214 (x3, ZERO_EXTEND)) { case 0: if ( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16)) return 68; /* umulsi3_highpart_internal */ if (! #line 2355 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; return 70; /* umulsi3_highpart_mulhi_internal */ case 1: if (! #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120))) return -1; return 76; /* umuldi3_highpart_internal */ default: return -1; } default: return -1; } case NEG: if (GET_MODE (x12) != DImode) return -1; x14 = XEXP (x12, 0); if (GET_CODE (x14) != MULT || GET_MODE (x14) != DImode || XWINT (x13, 0) != 32L || !register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || GET_MODE (x5) != DImode) return -1; x15 = XEXP (x14, 0); if (GET_MODE (x15) != DImode) return -1; x16 = XEXP (x14, 1); if (GET_MODE (x16) != DImode || !scratch_operand (operands[3], SImode)) return -1; switch (GET_CODE (x15)) { case SIGN_EXTEND: if (GET_CODE (x16) != SIGN_EXTEND) return -1; x17 = XEXP (x15, 0); operands[1] = x17; if (!register_operand (operands[1], SImode)) return -1; x18 = XEXP (x16, 0); operands[2] = x18; if (!register_operand (operands[2], SImode) || ! #line 2370 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; return 71; /* *smulsi3_highpart_neg_mulhi_internal */ case ZERO_EXTEND: if (GET_CODE (x16) != ZERO_EXTEND) return -1; x17 = XEXP (x15, 0); operands[1] = x17; if (!register_operand (operands[1], SImode)) return -1; x18 = XEXP (x16, 0); operands[2] = x18; if (!register_operand (operands[2], SImode) || ! #line 2370 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULHI)) return -1; return 72; /* *umulsi3_highpart_neg_mulhi_internal */ default: return -1; } default: return -1; } case DIV: switch (pattern86 (x1, MOD)) { case 0: if (! #line 2872 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && !TARGET_FIX_VR4120 && !TARGET_MIPS16)) return -1; return 135; /* *divmodsi4 */ case 1: if (!( #line 2872 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && !TARGET_FIX_VR4120 && !TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 136; /* *divmoddi4 */ default: return -1; } case UDIV: switch (pattern86 (x1, UMOD)) { case 0: if (! #line 2937 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && !TARGET_MIPS16)) return -1; return 139; /* *udivmodsi4 */ case 1: if (!( #line 2937 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && !TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 140; /* *udivmoddi4 */ default: return -1; } case FIX: if (GET_MODE (x3) != SImode) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != CLOBBER) return -1; x4 = XEXP (x2, 0); operands[0] = x4; if (!register_operand (operands[0], SImode)) return -1; x5 = XEXP (x3, 0); operands[1] = x5; x8 = XEXP (x7, 0); operands[2] = x8; switch (GET_MODE (operands[1])) { case DFmode: if (!register_operand (operands[1], DFmode) || !scratch_operand (operands[2], DFmode) || ! #line 3887 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !ISA_HAS_TRUNC_W)) return -1; return 260; /* fix_truncdfsi2_macro */ case SFmode: if (!register_operand (operands[1], SFmode) || !scratch_operand (operands[2], SFmode) || ! #line 3924 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && !ISA_HAS_TRUNC_W)) return -1; return 262; /* fix_truncsfsi2_macro */ default: return -1; } case CONST: case LABEL_REF: case SYMBOL_REF: operands[1] = x3; if (!absolute_symbolic_operand (operands[1], DImode)) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != CLOBBER) return -1; x4 = XEXP (x2, 0); operands[0] = x4; if (!register_operand (operands[0], DImode)) return -1; x8 = XEXP (x7, 0); operands[2] = x8; if (!scratch_operand (operands[2], DImode) || ! #line 4451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS && cse_not_expected)) return -1; return 287; /* *lea64 */ case UNSPEC: return recog_91 (x1, insn, pnum_clobbers); case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: case MEM: return recog_92 (x1, insn, pnum_clobbers); case UNSPEC_VOLATILE: return recog_93 (x1, insn, pnum_clobbers); case CALL: x5 = XEXP (x3, 0); if (GET_CODE (x5) != MEM || GET_MODE (x5) != SImode) return -1; x4 = XEXP (x2, 0); operands[0] = x4; if (!register_operand (operands[0], VOIDmode)) return -1; x12 = XEXP (x5, 0); operands[1] = x12; x6 = XEXP (x3, 1); operands[2] = x6; x7 = XVECEXP (x1, 0, 1); switch (GET_CODE (x7)) { case SET: if (pattern217 (x7) != 0) return -1; if ( #line 6877 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SIBCALLS && SIBLING_CALL_P (insn))) return 651; /* sibcall_value_multiple_internal */ if (pnum_clobbers == NULL) return -1; *pnum_clobbers = 1; return 660; /* call_value_multiple_internal */ case CLOBBER: x8 = XEXP (x7, 0); if (GET_CODE (x8) != REG || REGNO (x8) != 31 || GET_MODE (x8) != SImode || !call_insn_operand (operands[1], VOIDmode)) return -1; return 656; /* call_value_internal */ case CONST_INT: if (pnum_clobbers == NULL || XWINT (x7, 0) != 1L || !const_call_insn_operand (operands[1], VOIDmode)) return -1; *pnum_clobbers = 1; return 658; /* call_value_internal_direct */ default: return -1; } case SIGN_EXTEND: if (pattern87 (x1, SIGN_EXTEND) != 0 || ! #line 7639 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed)) return -1; return 719; /* *join2_loadhi */ case ZERO_EXTEND: if (pattern87 (x1, ZERO_EXTEND) != 0 || ! #line 7639 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && reload_completed)) return -1; return 720; /* *join2_loadhi */ case US_PLUS: switch (pattern89 (x1, 86)) { case 0: if (! #line 34 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1006; /* usadduqq3 */ case 1: if (! #line 34 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1007; /* usadduhq3 */ case 2: if (! #line 35 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1008; /* usadduha3 */ case 3: if (! #line 35 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1009; /* usaddv4uqq3 */ case 4: if (! #line 36 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1010; /* usaddv2uhq3 */ case 5: if (! #line 36 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1011; /* usaddv2uha3 */ default: return -1; } case SS_PLUS: if (pattern90 (x1) != 0) return -1; x5 = XEXP (x3, 0); switch (GET_CODE (x5)) { case REG: case SUBREG: operands[1] = x5; x7 = XVECEXP (x1, 0, 1); x9 = XEXP (x7, 1); if (XVECLEN (x9, 0) != 2 || XINT (x9, 1) != 86) return -1; x6 = XEXP (x3, 1); operands[2] = x6; switch (pattern244 (x1)) { case 0: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1012; /* ssaddhq3 */ case 1: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1013; /* ssaddsq3 */ case 2: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1014; /* ssaddha3 */ case 3: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1015; /* ssaddsa3 */ case 4: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1016; /* ssaddv2hq3 */ case 5: if (! #line 71 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1017; /* ssaddv2ha3 */ default: return -1; } case SS_MULT: if (GET_MODE (x5) != DQmode) return -1; x12 = XEXP (x5, 0); if (GET_CODE (x12) != SAT_FRACT || GET_MODE (x12) != DQmode) return -1; x13 = XEXP (x5, 1); if (GET_CODE (x13) != SAT_FRACT || GET_MODE (x13) != DQmode || pattern250 (x1, 125) != 0) return -1; x14 = XEXP (x12, 0); operands[1] = x14; if (!register_operand (operands[1], SQmode)) return -1; x19 = XEXP (x13, 0); operands[2] = x19; if (!register_operand (operands[2], SQmode)) return -1; x6 = XEXP (x3, 1); operands[3] = x6; if (!register_operand (operands[3], DQmode)) return -1; x7 = XVECEXP (x1, 0, 1); x9 = XEXP (x7, 1); x10 = XVECEXP (x9, 0, 0); if (!rtx_equal_p (x10, operands[1])) return -1; x11 = XVECEXP (x9, 0, 1); if (!rtx_equal_p (x11, operands[2])) return -1; x20 = XVECEXP (x9, 0, 2); if (!rtx_equal_p (x20, operands[3]) || ! #line 130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 1047; /* ssmaddsqdq4 */ default: return -1; } case US_MINUS: switch (pattern89 (x1, 88)) { case 0: if (! #line 34 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1032; /* ussubuqq3 */ case 1: if (! #line 34 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1033; /* ussubuhq3 */ case 2: if (! #line 35 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1034; /* ussubuha3 */ case 3: if (! #line 35 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1035; /* ussubv4uqq3 */ case 4: if (! #line 36 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1036; /* ussubv2uhq3 */ case 5: if (! #line 36 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1037; /* ussubv2uha3 */ default: return -1; } case SS_MINUS: if (pattern90 (x1) != 0) return -1; x6 = XEXP (x3, 1); switch (GET_CODE (x6)) { case REG: case SUBREG: operands[2] = x6; x7 = XVECEXP (x1, 0, 1); x9 = XEXP (x7, 1); if (XVECLEN (x9, 0) != 2 || XINT (x9, 1) != 88) return -1; x5 = XEXP (x3, 0); operands[1] = x5; switch (pattern244 (x1)) { case 0: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1038; /* sssubhq3 */ case 1: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1039; /* sssubsq3 */ case 2: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1040; /* sssubha3 */ case 3: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1041; /* sssubsa3 */ case 4: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1042; /* sssubv2hq3 */ case 5: if (! #line 102 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1043; /* sssubv2ha3 */ default: return -1; } case SS_MULT: if (GET_MODE (x6) != DQmode) return -1; x21 = XEXP (x6, 0); if (GET_CODE (x21) != SAT_FRACT || GET_MODE (x21) != DQmode) return -1; x22 = XEXP (x6, 1); if (GET_CODE (x22) != SAT_FRACT || GET_MODE (x22) != DQmode || pattern250 (x1, 126) != 0) return -1; x5 = XEXP (x3, 0); operands[3] = x5; if (!register_operand (operands[3], DQmode)) return -1; x23 = XEXP (x21, 0); operands[1] = x23; if (!register_operand (operands[1], SQmode)) return -1; x24 = XEXP (x22, 0); operands[2] = x24; if (!register_operand (operands[2], SQmode)) return -1; x7 = XVECEXP (x1, 0, 1); x9 = XEXP (x7, 1); x10 = XVECEXP (x9, 0, 0); if (!rtx_equal_p (x10, operands[1])) return -1; x11 = XVECEXP (x9, 0, 1); if (!rtx_equal_p (x11, operands[2])) return -1; x20 = XVECEXP (x9, 0, 2); if (!rtx_equal_p (x20, operands[3]) || ! #line 146 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 1048; /* ssmsubsqdq4 */ default: return -1; } case SS_MULT: if (pnum_clobbers == NULL) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x9 = XEXP (x7, 1); if (GET_CODE (x9) != UNSPEC || XVECLEN (x9, 0) != 2 || XINT (x9, 1) != 115 || GET_MODE (x9) != CCDSPmode) return -1; x8 = XEXP (x7, 0); if (GET_CODE (x8) != REG || REGNO (x8) != 185 || GET_MODE (x8) != CCDSPmode) return -1; x4 = XEXP (x2, 0); operands[0] = x4; x5 = XEXP (x3, 0); operands[1] = x5; x6 = XEXP (x3, 1); operands[2] = x6; switch (pattern245 (x1)) { case 0: if (! #line 41 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 1044; /* ssmulv2hq3 */ case 1: if (! #line 41 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; *pnum_clobbers = 1; return 1045; /* ssmulhq3 */ case 2: if (! #line 42 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; *pnum_clobbers = 1; return 1046; /* ssmulsq3 */ default: return -1; } default: return -1; } } static int recog_97 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); switch (GET_CODE (x2)) { case SET: return recog_96 (x1, insn, pnum_clobbers); case UNSPEC_VOLATILE: if (XVECLEN (x2, 0) != 1 || XINT (x2, 1) != 38) return -1; x3 = XVECEXP (x2, 0, 0); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || REGNO (x5) != 31) return -1; switch (GET_MODE (x5)) { case SImode: if (!( #line 5537 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 434; /* clear_hazard_si */ case DImode: if (!( #line 5537 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 435; /* clear_hazard_di */ default: return -1; } case RETURN: x4 = XVECEXP (x1, 0, 1); switch (GET_CODE (x4)) { case USE: x5 = XEXP (x4, 0); operands[0] = x5; if (!pmode_register_operand (operands[0], VOIDmode)) return -1; return 630; /* return_internal */ case UNSPEC_VOLATILE: if (XVECLEN (x4, 0) != 1) return -1; x6 = XVECEXP (x4, 0, 0); if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; switch (XINT (x4, 1)) { case 44: return 632; /* mips_eret */ case 45: return 633; /* mips_deret */ default: return -1; } default: return -1; } case SIMPLE_RETURN: x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != USE) return -1; x5 = XEXP (x4, 0); operands[0] = x5; if (!pmode_register_operand (operands[0], VOIDmode)) return -1; return 631; /* simple_return_internal */ case UNSPEC: if (XVECLEN (x2, 0) != 1 || XINT (x2, 1) != 23) return -1; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != CLOBBER) return -1; x3 = XVECEXP (x2, 0, 0); operands[0] = x3; x5 = XEXP (x4, 0); operands[1] = x5; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || !scratch_operand (operands[1], SImode) || ! #line 6667 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (! TARGET_64BIT)) return -1; return 639; /* eh_set_lr_si */ case DImode: if (!register_operand (operands[0], DImode) || !scratch_operand (operands[1], DImode) || ! #line 6673 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; return 640; /* eh_set_lr_di */ default: return -1; } case CALL: x7 = XEXP (x2, 0); if (GET_CODE (x7) != MEM || GET_MODE (x7) != SImode) return -1; x8 = XEXP (x7, 0); operands[0] = x8; x9 = XEXP (x2, 1); operands[1] = x9; x4 = XVECEXP (x1, 0, 1); switch (GET_CODE (x4)) { case CLOBBER: x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || REGNO (x5) != 31 || GET_MODE (x5) != SImode || !call_insn_operand (operands[0], VOIDmode)) return -1; return 652; /* call_internal */ case CONST_INT: if (pnum_clobbers == NULL || XWINT (x4, 0) != 1L || !const_call_insn_operand (operands[0], VOIDmode)) return -1; *pnum_clobbers = 1; return 654; /* call_internal_direct */ default: return -1; } default: return -1; } } static int recog_98 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); switch (GET_CODE (x3)) { case PLUS: if (pattern83 (x1) != 0) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!register_operand (operands[0], SImode)) return -1; x6 = XEXP (x3, 0); x7 = XEXP (x6, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return -1; x8 = XEXP (x6, 1); operands[2] = x8; if (!register_operand (operands[2], SImode)) return -1; x9 = XEXP (x3, 1); operands[3] = x9; if (!register_operand (operands[3], SImode)) return -1; x10 = XVECEXP (x1, 0, 1); x11 = XEXP (x10, 0); operands[4] = x11; if (!scratch_operand (operands[4], SImode)) return -1; x12 = XEXP (x4, 0); operands[5] = x12; if (!scratch_operand (operands[5], SImode)) return -1; if ( #line 1745 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MADD_MSUB && !TARGET_MIPS16)) return 42; /* *mul_acc_si */ if (! #line 1774 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS3900 && !TARGET_MIPS16)) return -1; return 43; /* *mul_acc_si_r3900 */ case MINUS: if (GET_MODE (x3) != SImode) return -1; x9 = XEXP (x3, 1); if (GET_CODE (x9) != MULT || GET_MODE (x9) != SImode) return -1; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != CLOBBER) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!register_operand (operands[0], SImode)) return -1; x6 = XEXP (x3, 0); operands[1] = x6; if (!register_operand (operands[1], SImode) || pattern234 (x1) != 0) return -1; if ( #line 1860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC && !ISA_HAS_MSAC)) return 46; /* *msac_using_macc */ if (! #line 2003 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_MADD_MSUB)) return -1; return 49; /* *mul_sub_si */ case MULT: x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x12 = XEXP (x4, 0); if (!scratch_operand (x12, DImode)) return -1; x6 = XEXP (x3, 0); switch (GET_CODE (x6)) { case SIGN_EXTEND: if (pattern162 (x1, SIGN_EXTEND) != 0 || ! #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT)) return -1; return 55; /* mulsidi3_64bit */ case ZERO_EXTEND: if (pattern162 (x1, ZERO_EXTEND) != 0 || ! #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT)) return -1; return 56; /* umulsidi3_64bit */ case REG: case SUBREG: operands[1] = x6; if (!register_operand (operands[1], V2HImode)) return -1; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != SET) return -1; x13 = XEXP (x10, 1); if (GET_CODE (x13) != UNSPEC || pattern127 (x10, 185, 169, 2) != 0 || !register_operand (operands[0], V2HImode) || GET_MODE (x3) != V2HImode) return -1; x9 = XEXP (x3, 1); operands[2] = x9; if (!register_operand (operands[2], V2HImode)) return -1; operands[3] = x12; x14 = XVECEXP (x13, 0, 0); if (!rtx_equal_p (x14, operands[1])) return -1; x15 = XVECEXP (x13, 0, 1); if (!rtx_equal_p (x15, operands[2]) || ! #line 230 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 961; /* mulv2hi3 */ default: return -1; } case DIV: switch (pattern93 (x1, MOD)) { case 0: if (! #line 2898 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && !TARGET_FIX_VR4120 && TARGET_MIPS16)) return -1; return 137; /* divmodsi4_mips16 */ case 1: if (!( #line 2898 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && !TARGET_FIX_VR4120 && TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 138; /* divmoddi4_mips16 */ default: return -1; } case UDIV: switch (pattern93 (x1, UMOD)) { case 0: if (! #line 2958 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && TARGET_MIPS16)) return -1; return 141; /* udivmodsi4_mips16 */ case 1: if (!( #line 2958 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 142; /* udivmoddi4_mips16 */ default: return -1; } case CALL: x6 = XEXP (x3, 0); if (GET_CODE (x6) != MEM || GET_MODE (x6) != SImode) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x12 = XEXP (x4, 0); if (GET_CODE (x12) != REG || GET_MODE (x12) != SImode) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!register_operand (operands[0], VOIDmode)) return -1; x7 = XEXP (x6, 0); operands[1] = x7; x9 = XEXP (x3, 1); operands[2] = x9; x10 = XVECEXP (x1, 0, 1); switch (GET_CODE (x10)) { case CLOBBER: if (pattern218 (x1) != 0 || !call_insn_operand (operands[1], VOIDmode) || ! #line 7029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SPLIT_CALLS)) return -1; return 657; /* call_value_split */ case CONST_INT: if (XWINT (x10, 0) != 1L || REGNO (x12) != 31 || !const_call_insn_operand (operands[1], VOIDmode)) return -1; return 658; /* call_value_internal_direct */ case SET: x13 = XEXP (x10, 1); if (GET_CODE (x13) != CALL) return -1; x16 = XEXP (x13, 0); if (GET_CODE (x16) != MEM || GET_MODE (x16) != SImode || REGNO (x12) != 31 || pattern216 (x10) != 0) return -1; return 660; /* call_value_multiple_internal */ default: return -1; } case UNSPEC: switch (XVECLEN (x3, 0)) { case 1: x5 = XEXP (x2, 0); if (GET_CODE (x5) != REG || pattern123 (x1, 31, 25) != 0) return -1; x17 = XVECEXP (x3, 0, 0); operands[0] = x17; switch (XINT (x3, 1)) { case 30: if (REGNO (x5) != 3) return -1; switch (GET_MODE (x5)) { case SImode: if (pattern246 (x1, SImode) != 0 || !( #line 7494 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 707; /* *tls_get_tp_mips16_call_si */ case DImode: if (pattern246 (x1, DImode) != 0 || !( #line 7494 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 708; /* *tls_get_tp_mips16_call_di */ default: return -1; } case 12: if (GET_MODE (x3) != SImode || REGNO (x5) != 2 || GET_MODE (x5) != SImode) return -1; if (call_insn_operand (operands[0], SImode)) { x10 = XVECEXP (x1, 0, 1); x11 = XEXP (x10, 0); if (GET_MODE (x11) == SImode) { x4 = XVECEXP (x1, 0, 2); x12 = XEXP (x4, 0); if (GET_MODE (x12) == SImode && ( #line 7535 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 710; /* mips_get_fcsr_mips16_si */ } } if (!call_insn_operand (operands[0], DImode)) return -1; x10 = XVECEXP (x1, 0, 1); x11 = XEXP (x10, 0); if (GET_MODE (x11) != DImode) return -1; x4 = XVECEXP (x1, 0, 2); x12 = XEXP (x4, 0); if (GET_MODE (x12) != DImode || !( #line 7535 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 711; /* mips_get_fcsr_mips16_di */ default: return -1; } case 2: x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != SET) return -1; x13 = XEXP (x10, 1); if (GET_CODE (x13) != UNSPEC || XVECLEN (x13, 0) != 2 || pattern126 (x10, 185) != 0) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x17 = XVECEXP (x3, 0, 0); operands[1] = x17; x18 = XVECEXP (x3, 0, 1); operands[2] = x18; x12 = XEXP (x4, 0); operands[3] = x12; if (!scratch_operand (operands[3], DImode)) return -1; x14 = XVECEXP (x13, 0, 0); if (!rtx_equal_p (x14, operands[1])) return -1; x15 = XVECEXP (x13, 0, 1); if (!rtx_equal_p (x15, operands[2])) return -1; switch (XINT (x3, 1)) { case 113: if (pattern255 (x1, 113, V2HImode, V4QImode) != 0 || ! #line 487 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 880; /* mips_muleu_s_ph_qbl */ case 114: if (pattern255 (x1, 114, V2HImode, V4QImode) != 0 || ! #line 500 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 881; /* mips_muleu_s_ph_qbr */ case 115: if (pattern255 (x1, 115, V2HImode, V2HImode) != 0 || ! #line 514 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 882; /* mips_mulq_rs_ph */ case 116: if (pattern255 (x1, 116, SImode, V2HImode) != 0 || ! #line 528 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 883; /* mips_muleq_s_w_phl */ case 117: if (pattern255 (x1, 117, SImode, V2HImode) != 0 || ! #line 541 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 884; /* mips_muleq_s_w_phr */ case 170: if (pattern256 (x1, V2HImode, 170) != 0 || ! #line 243 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 962; /* mips_mul_s_ph */ case 171: if (pattern256 (x1, SImode, 171) != 0 || ! #line 256 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 963; /* mips_mulq_rs_w */ case 172: if (pattern256 (x1, V2HImode, 172) != 0 || ! #line 269 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 964; /* mips_mulq_s_ph */ case 173: if (pattern256 (x1, SImode, 173) != 0 || ! #line 282 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dspr2.md" (ISA_HAS_DSPR2)) return -1; return 965; /* mips_mulq_s_w */ default: return -1; } case 3: if (XINT (x3, 1) != 148 || pattern124 (x3) != 0) return -1; x10 = XVECEXP (x1, 0, 1); if (pattern125 (x10, 148, 3, CCDSPmode, UNSPEC) != 0) return -1; x13 = XEXP (x10, 1); x19 = XVECEXP (x13, 0, 2); if (GET_CODE (x19) != REG || REGNO (x19) != 182 || GET_MODE (x19) != CCDSPmode) return -1; x11 = XEXP (x10, 0); if (GET_CODE (x11) != REG || REGNO (x11) != 182 || GET_MODE (x11) != CCDSPmode) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != SET) return -1; x20 = XEXP (x4, 1); if (GET_CODE (x20) != UNSPEC || XVECLEN (x20, 0) != 2 || XINT (x20, 1) != 148 || GET_MODE (x20) != CCDSPmode) return -1; x12 = XEXP (x4, 0); if (GET_CODE (x12) != REG || REGNO (x12) != 187 || GET_MODE (x12) != CCDSPmode) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!register_operand (operands[0], SImode)) return -1; x17 = XVECEXP (x3, 0, 0); operands[1] = x17; if (!register_operand (operands[1], DImode)) return -1; x18 = XVECEXP (x3, 0, 1); operands[2] = x18; if (!arith_operand (operands[2], SImode)) return -1; x14 = XVECEXP (x13, 0, 0); if (!rtx_equal_p (x14, operands[1])) return -1; x15 = XVECEXP (x13, 0, 1); if (!rtx_equal_p (x15, operands[2])) return -1; x21 = XVECEXP (x20, 0, 0); if (!rtx_equal_p (x21, operands[1])) return -1; x22 = XVECEXP (x20, 0, 1); if (!rtx_equal_p (x22, operands[2]) || ! #line 995 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP && !TARGET_64BIT)) return -1; return 919; /* mips_extpdp */ default: return -1; } case SUBREG: case MEM: operands[1] = x3; if (!memory_operand (operands[1], SImode)) return -1; x10 = XVECEXP (x1, 0, 1); if (pattern125 (x10, 63, 3, SImode, UNSPEC_VOLATILE) != 0) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; if (!register_operand (operands[0], SImode)) return -1; x13 = XEXP (x10, 1); x14 = XVECEXP (x13, 0, 0); operands[2] = x14; if (!register_operand (operands[2], SImode)) return -1; x15 = XVECEXP (x13, 0, 1); operands[3] = x15; if (!register_operand (operands[3], SImode)) return -1; x12 = XEXP (x4, 0); operands[5] = x12; if (!scratch_operand (operands[5], SImode)) return -1; x11 = XEXP (x10, 0); if (!rtx_equal_p (x11, operands[1])) return -1; x19 = XVECEXP (x13, 0, 2); switch (pattern253 (x19)) { case 0: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 732; /* sync_old_add_12 */ case 1: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 733; /* sync_old_sub_12 */ case 2: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 734; /* sync_old_ior_12 */ case 3: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 735; /* sync_old_xor_12 */ case 4: if (! #line 186 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 736; /* sync_old_and_12 */ case 5: if (! #line 307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 743; /* sync_old_nand_12 */ default: return -1; } case UNSPEC_VOLATILE: if (XVECLEN (x3, 0) != 1) return -1; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != SET) return -1; x13 = XEXP (x10, 1); if (GET_CODE (x13) != UNSPEC_VOLATILE || XVECLEN (x13, 0) != 1) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != UNSPEC_VOLATILE || XVECLEN (x4, 0) != 1) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x17 = XVECEXP (x3, 0, 0); operands[1] = x17; x23 = XVECEXP (x4, 0, 0); operands[3] = x23; if (!const_int_operand (operands[3], SImode)) return -1; x11 = XEXP (x10, 0); if (!rtx_equal_p (x11, operands[1])) return -1; switch (XINT (x3, 1)) { case 68: if (XINT (x13, 1) != 68 || XINT (x4, 1) != 68) return -1; x14 = XVECEXP (x13, 0, 0); operands[2] = x14; switch (GET_MODE (operands[0])) { case SImode: if (pattern254 (x1, SImode) != 0 || ! #line 639 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC && !ISA_HAS_SWAP)) return -1; return 784; /* atomic_exchangesi_llsc */ case DImode: if (pattern254 (x1, DImode) != 0 || !( #line 639 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC && !ISA_HAS_SWAP) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 785; /* atomic_exchangedi_llsc */ default: return -1; } case 69: if (XINT (x13, 1) != 69) return -1; x14 = XVECEXP (x13, 0, 0); if (GET_CODE (x14) != PLUS || XINT (x4, 1) != 69) return -1; x24 = XEXP (x14, 1); operands[2] = x24; x25 = XEXP (x14, 0); if (!rtx_equal_p (x25, operands[1])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern257 (x1, SImode) != 0 || ! #line 696 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC && !ISA_HAS_LDADD)) return -1; return 788; /* atomic_fetch_addsi_llsc */ case DImode: if (pattern257 (x1, DImode) != 0 || !( #line 696 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC && !ISA_HAS_LDADD) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 789; /* atomic_fetch_adddi_llsc */ default: return -1; } default: return -1; } case SS_MULT: x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != SET) return -1; x13 = XEXP (x10, 1); if (GET_CODE (x13) != UNSPEC || pattern127 (x10, 185, 115, 2) != 0) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x2, 0); operands[0] = x5; x6 = XEXP (x3, 0); operands[1] = x6; x9 = XEXP (x3, 1); operands[2] = x9; x12 = XEXP (x4, 0); operands[3] = x12; if (!scratch_operand (operands[3], DImode)) return -1; switch (pattern245 (x1)) { case 0: if (! #line 41 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1044; /* ssmulv2hq3 */ case 1: if (! #line 41 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSP)) return -1; return 1045; /* ssmulhq3 */ case 2: if (! #line 42 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-fixed.md" (ISA_HAS_DSPR2)) return -1; return 1046; /* ssmulsq3 */ default: return -1; } default: return -1; } } static int recog_99 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); switch (GET_CODE (x2)) { case SET: return recog_98 (x1, insn, pnum_clobbers); case CALL: x3 = XEXP (x2, 0); if (GET_CODE (x3) != MEM || GET_MODE (x3) != SImode) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != CLOBBER) return -1; x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || GET_MODE (x5) != SImode) return -1; x6 = XEXP (x3, 0); operands[0] = x6; x7 = XEXP (x2, 1); operands[1] = x7; x8 = XVECEXP (x1, 0, 1); switch (GET_CODE (x8)) { case CLOBBER: if (pattern218 (x1) != 0 || !call_insn_operand (operands[0], VOIDmode) || ! #line 6951 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SPLIT_CALLS)) return -1; return 653; /* call_split */ case CONST_INT: if (XWINT (x8, 0) != 1L || REGNO (x5) != 31 || !const_call_insn_operand (operands[0], VOIDmode)) return -1; return 654; /* call_internal_direct */ default: return -1; } case UNSPEC_VOLATILE: if (XVECLEN (x2, 0) != 2 || XINT (x2, 1) != 13 || GET_MODE (x2) != SImode) return -1; x9 = XVECEXP (x2, 0, 1); if (GET_CODE (x9) != REG || REGNO (x9) != 4 || GET_MODE (x9) != SImode || pattern123 (x1, 31, 25) != 0) return -1; x10 = XVECEXP (x2, 0, 0); operands[0] = x10; if (call_insn_operand (operands[0], SImode)) { x8 = XVECEXP (x1, 0, 1); x11 = XEXP (x8, 0); if (GET_MODE (x11) == SImode) { x4 = XVECEXP (x1, 0, 2); x5 = XEXP (x4, 0); if (GET_MODE (x5) == SImode && ( #line 7565 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 713; /* mips_set_fcsr_mips16_si */ } } if (!call_insn_operand (operands[0], DImode)) return -1; x8 = XVECEXP (x1, 0, 1); x11 = XEXP (x8, 0); if (GET_MODE (x11) != DImode) return -1; x4 = XVECEXP (x1, 0, 2); x5 = XEXP (x4, 0); if (GET_MODE (x5) != DImode || !( #line 7565 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 714; /* mips_set_fcsr_mips16_di */ case RETURN: x8 = XVECEXP (x1, 0, 1); if (pattern26 (x8, USE) != 0) return -1; x4 = XVECEXP (x1, 0, 2); if (GET_CODE (x4) != SET) return -1; x12 = XEXP (x4, 1); if (GET_CODE (x12) != PLUS || GET_MODE (x12) != SImode) return -1; x13 = XEXP (x12, 0); if (GET_CODE (x13) != REG || REGNO (x13) != 29 || GET_MODE (x13) != SImode) return -1; x5 = XEXP (x4, 0); if (GET_CODE (x5) != REG || REGNO (x5) != 29 || GET_MODE (x5) != SImode) return -1; x14 = XEXP (x12, 1); operands[0] = x14; if (!uw5_operand (operands[0], VOIDmode) || ! #line 104 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS)) return -1; return 1053; /* jraddiusp */ default: return -1; } } static int recog_100 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; rtx x26, x27, x28, x29, x30; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); switch (GET_CODE (x2)) { case SET: x3 = XEXP (x2, 1); switch (GET_CODE (x3)) { case IF_THEN_ELSE: x4 = XEXP (x3, 0); if (GET_CODE (x4) != LTU) return -1; x5 = XEXP (x3, 1); if (GET_CODE (x5) != UNSPEC || XVECLEN (x5, 0) != 2 || XINT (x5, 1) != 51) return -1; x6 = XVECEXP (x5, 0, 1); if (GET_CODE (x6) != LABEL_REF) return -1; x7 = XEXP (x3, 2); if (GET_CODE (x7) != LABEL_REF) return -1; x8 = XEXP (x2, 0); if (GET_CODE (x8) != PC) return -1; x9 = XVECEXP (x1, 0, 1); if (GET_CODE (x9) != CLOBBER) return -1; x10 = XVECEXP (x1, 0, 2); if (GET_CODE (x10) != CLOBBER) return -1; x11 = XVECEXP (x1, 0, 3); if (pattern128 (x11, 24) != 0) return -1; x12 = XEXP (x4, 0); operands[0] = x12; if (!register_operand (operands[0], SImode)) return -1; x13 = XEXP (x4, 1); operands[1] = x13; if (!arith_operand (operands[1], SImode)) return -1; x14 = XEXP (x6, 0); operands[2] = x14; x15 = XEXP (x7, 0); operands[3] = x15; x16 = XEXP (x9, 0); operands[4] = x16; x17 = XEXP (x10, 0); operands[5] = x17; x18 = XVECEXP (x5, 0, 0); if (!rtx_equal_p (x18, operands[0])) return -1; switch (GET_MODE (x5)) { case SImode: if (!scratch_operand (operands[4], SImode) || !scratch_operand (operands[5], SImode) || !( #line 6414 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16_SHORT_JUMP_TABLES) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 623; /* casesi_internal_mips16_si */ case DImode: if (!scratch_operand (operands[4], DImode) || !scratch_operand (operands[5], DImode) || !( #line 6414 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16_SHORT_JUMP_TABLES) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 624; /* casesi_internal_mips16_di */ default: return -1; } case CALL: x4 = XEXP (x3, 0); if (GET_CODE (x4) != MEM || GET_MODE (x4) != SImode || pattern129 (x1) != 0) return -1; x8 = XEXP (x2, 0); operands[0] = x8; switch (pattern220 (x1)) { case 0: if (! #line 7063 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SPLIT_CALLS)) return -1; return 659; /* call_value_direct_split */ case 1: if (! #line 7101 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SPLIT_CALLS)) return -1; return 661; /* call_value_multiple_split */ default: return -1; } case UNSPEC: switch (pattern95 (x1)) { case 0: if (!( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 705; /* tls_get_tp_mips16_si */ case 1: if (!( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 706; /* tls_get_tp_mips16_di */ default: return -1; } case UNSPEC_VOLATILE: if (XVECLEN (x3, 0) != 2 || XINT (x3, 1) != 67) return -1; x9 = XVECEXP (x1, 0, 1); if (pattern122 (x9, 67) != 0) return -1; x10 = XVECEXP (x1, 0, 2); if (pattern208 (x10, 67, 3, UNSPEC_VOLATILE) != 0) return -1; x11 = XVECEXP (x1, 0, 3); if (GET_CODE (x11) != UNSPEC_VOLATILE || XVECLEN (x11, 0) != 3 || XINT (x11, 1) != 67) return -1; x8 = XEXP (x2, 0); operands[0] = x8; x19 = XVECEXP (x3, 0, 0); operands[2] = x19; x20 = XVECEXP (x3, 0, 1); operands[3] = x20; x16 = XEXP (x9, 0); operands[1] = x16; x21 = XEXP (x10, 1); x22 = XVECEXP (x21, 0, 2); operands[4] = x22; x23 = XVECEXP (x11, 0, 0); operands[5] = x23; if (!const_int_operand (operands[5], SImode)) return -1; x24 = XVECEXP (x11, 0, 1); operands[6] = x24; if (!const_int_operand (operands[6], SImode)) return -1; x25 = XVECEXP (x11, 0, 2); operands[7] = x25; if (!const_int_operand (operands[7], SImode)) return -1; x26 = XEXP (x9, 1); x27 = XVECEXP (x26, 0, 0); if (!rtx_equal_p (x27, operands[2])) return -1; x28 = XVECEXP (x21, 0, 0); if (!rtx_equal_p (x28, operands[2])) return -1; x29 = XVECEXP (x21, 0, 1); if (!rtx_equal_p (x29, operands[3])) return -1; x17 = XEXP (x10, 0); if (!rtx_equal_p (x17, operands[2])) return -1; switch (GET_MODE (operands[0])) { case SImode: if (pattern260 (x1, SImode) != 0 || ! #line 594 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 782; /* atomic_compare_and_swapsi */ case DImode: if (pattern260 (x1, DImode) != 0 || !( #line 594 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 783; /* atomic_compare_and_swapdi */ default: return -1; } default: return -1; } case CALL: x8 = XEXP (x2, 0); if (GET_CODE (x8) != MEM || GET_MODE (x8) != SImode) return -1; x9 = XVECEXP (x1, 0, 1); if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1] || pattern129 (x1) != 0) return -1; x30 = XEXP (x8, 0); operands[0] = x30; if (!const_call_insn_operand (operands[0], VOIDmode)) return -1; x3 = XEXP (x2, 1); operands[1] = x3; if (! #line 6985 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SPLIT_CALLS)) return -1; return 655; /* call_direct_split */ default: return -1; } } static int recog_101 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx x18, x19, x20, x21, x22, x23, x24, x25; rtx x26, x27, x28, x29, x30; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); if (pattern20 (x2, 151, 2) != 0) return -1; x3 = XEXP (x2, 1); if (GET_MODE (x3) != CCDSPmode) return -1; x4 = XEXP (x2, 0); if (GET_CODE (x4) != REG || REGNO (x4) != 182 || GET_MODE (x4) != CCDSPmode) return -1; x5 = XVECEXP (x1, 0, 1); if (GET_CODE (x5) != SET) return -1; x6 = XEXP (x5, 1); if (GET_CODE (x6) != UNSPEC || pattern127 (x5, 183, 151, 2) != 0) return -1; x7 = XVECEXP (x1, 0, 2); if (pattern208 (x7, 151, 2, UNSPEC) != 0) return -1; x8 = XEXP (x7, 1); if (GET_MODE (x8) != CCDSPmode) return -1; x9 = XEXP (x7, 0); if (GET_CODE (x9) != REG || REGNO (x9) != 184 || GET_MODE (x9) != CCDSPmode) return -1; x10 = XVECEXP (x1, 0, 3); if (GET_CODE (x10) != SET) return -1; x11 = XEXP (x10, 1); if (GET_CODE (x11) != UNSPEC || XVECLEN (x11, 0) != 2 || XINT (x11, 1) != 151 || GET_MODE (x11) != CCDSPmode) return -1; x12 = XEXP (x10, 0); if (GET_CODE (x12) != REG || REGNO (x12) != 185 || GET_MODE (x12) != CCDSPmode) return -1; x13 = XVECEXP (x1, 0, 4); if (GET_CODE (x13) != SET) return -1; x14 = XEXP (x13, 1); if (GET_CODE (x14) != UNSPEC || XVECLEN (x14, 0) != 2 || XINT (x14, 1) != 151 || GET_MODE (x14) != CCDSPmode) return -1; x15 = XEXP (x13, 0); if (GET_CODE (x15) != REG || REGNO (x15) != 186 || GET_MODE (x15) != CCDSPmode) return -1; x16 = XVECEXP (x1, 0, 5); if (GET_CODE (x16) != SET) return -1; x17 = XEXP (x16, 1); if (GET_CODE (x17) != UNSPEC || XVECLEN (x17, 0) != 2 || XINT (x17, 1) != 151 || GET_MODE (x17) != CCDSPmode) return -1; x18 = XEXP (x16, 0); if (GET_CODE (x18) != REG || REGNO (x18) != 187 || GET_MODE (x18) != CCDSPmode) return -1; x19 = XVECEXP (x3, 0, 0); operands[0] = x19; if (!register_operand (operands[0], SImode)) return -1; x20 = XVECEXP (x3, 0, 1); operands[1] = x20; if (!const_uimm6_operand (operands[1], SImode)) return -1; x21 = XVECEXP (x6, 0, 0); if (!rtx_equal_p (x21, operands[0])) return -1; x22 = XVECEXP (x6, 0, 1); if (!rtx_equal_p (x22, operands[1])) return -1; x23 = XVECEXP (x8, 0, 0); if (!rtx_equal_p (x23, operands[0])) return -1; x24 = XVECEXP (x8, 0, 1); if (!rtx_equal_p (x24, operands[1])) return -1; x25 = XVECEXP (x11, 0, 0); if (!rtx_equal_p (x25, operands[0])) return -1; x26 = XVECEXP (x11, 0, 1); if (!rtx_equal_p (x26, operands[1])) return -1; x27 = XVECEXP (x14, 0, 0); if (!rtx_equal_p (x27, operands[0])) return -1; x28 = XVECEXP (x14, 0, 1); if (!rtx_equal_p (x28, operands[1])) return -1; x29 = XVECEXP (x17, 0, 0); if (!rtx_equal_p (x29, operands[0])) return -1; x30 = XVECEXP (x17, 0, 1); if (!rtx_equal_p (x30, operands[1]) || ! #line 1058 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-dsp.md" (ISA_HAS_DSP)) return -1; return 922; /* mips_wrdsp */ } static int recog_102 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != SET) return -1; x3 = XEXP (x2, 0); operands[1] = x3; x4 = XEXP (x2, 1); switch (GET_CODE (x4)) { case PLUS: if (GET_MODE (x4) != SImode || !register_operand (operands[1], SImode)) return -1; x5 = XEXP (x4, 1); operands[2] = x5; if (!const_int_operand (operands[2], SImode)) return -1; x6 = XEXP (x4, 0); if (!rtx_equal_p (x6, operands[1]) || ! #line 7405 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (operands[1] == stack_pointer_rtx && mips16e_save_restore_pattern_p (operands[0], INTVAL (operands[2]), NULL))) return -1; return 700; /* *mips16e_save_restore */ case REG: case SUBREG: case MEM: operands[2] = x4; if (register_operand (operands[2], SImode) && memory_operand (operands[1], SImode) && #line 24 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_save_restore_pattern_p (true, operands[0]))) return 1049; /* *store_word_multiple */ if (!memory_operand (operands[2], SImode) || !register_operand (operands[1], SImode) || ! #line 35 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_save_restore_pattern_p (false, operands[0]))) return -1; return 1050; /* *load_word_multiple */ default: return -1; } } static int recog_103 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; int res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); switch (GET_CODE (x2)) { case PLUS: return recog_53 (x1, insn, pnum_clobbers); case SIGN_EXTEND: return recog_61 (x1, insn, pnum_clobbers); case ZERO_EXTEND: return recog_66 (x1, insn, pnum_clobbers); case MINUS: return recog_56 (x1, insn, pnum_clobbers); case MULT: return recog_60 (x1, insn, pnum_clobbers); case NEG: return recog_68 (x1, insn, pnum_clobbers); case UNSPEC: return recog_52 (x1, insn, pnum_clobbers); case TRUNCATE: return recog_59 (x1, insn, pnum_clobbers); case FMA: return recog_65 (x1, insn, pnum_clobbers); case DIV: return recog_69 (x1, insn, pnum_clobbers); case UDIV: switch (pattern1 (x1)) { case 0: if (! #line 3013 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DIV)) return -1; return 150; /* udivsi3 */ case 1: if (!( #line 3013 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DDIV) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 152; /* udivdi3 */ case 2: if (! #line 769 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1226; /* udivv2di3 */ case 3: if (! #line 769 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1227; /* udivv4si3 */ case 4: if (! #line 769 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1228; /* udivv8hi3 */ case 5: if (! #line 769 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1229; /* udivv16qi3 */ default: return -1; } case MOD: switch (pattern1 (x1)) { case 0: if (! #line 3029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DIV)) return -1; return 153; /* modsi3 */ case 1: if (!( #line 3029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DDIV) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 155; /* moddi3 */ case 2: if (! #line 778 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1230; /* modv2di3 */ case 3: if (! #line 778 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1231; /* modv4si3 */ case 4: if (! #line 778 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1232; /* modv8hi3 */ case 5: if (! #line 778 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1233; /* modv16qi3 */ default: return -1; } case UMOD: switch (pattern1 (x1)) { case 0: if (! #line 3029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DIV)) return -1; return 154; /* umodsi3 */ case 1: if (!( #line 3029 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_LOONGSON_2EF || TARGET_LOONGSON_3A || ISA_HAS_R6DDIV) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 156; /* umoddi3 */ case 2: if (! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1234; /* umodv2di3 */ case 3: if (! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1235; /* umodv4si3 */ case 4: if (! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1236; /* umodv8hi3 */ case 5: if (! #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1237; /* umodv16qi3 */ default: return -1; } case SQRT: return recog_73 (x1, insn, pnum_clobbers); case ABS: return recog_89 (x1, insn, pnum_clobbers); case CLZ: x3 = XEXP (x1, 0); operands[0] = x3; switch (pattern22 (x2)) { case 0: if (! #line 3138 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CLZ_CLO)) return -1; return 169; /* clzsi2 */ case 1: if (!( #line 3138 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CLZ_CLO) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 170; /* clzdi2 */ case 2: if (! #line 2310 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1570; /* clzv2di2 */ case 3: if (! #line 2310 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1571; /* clzv4si2 */ case 4: if (! #line 2310 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1572; /* clzv8hi2 */ case 5: if (! #line 2310 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1573; /* clzv16qi2 */ default: return -1; } case POPCOUNT: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); switch (GET_CODE (x4)) { case REG: case SUBREG: switch (pattern22 (x2)) { case 0: if (! #line 3154 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_POP)) return -1; return 171; /* popcountsi2 */ case 1: if (!( #line 3154 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_POP) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 172; /* popcountdi2 */ case 2: if (! #line 2449 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1586; /* popcountv2di2 */ case 3: if (! #line 2449 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1587; /* popcountv4si2 */ case 4: if (! #line 2449 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1588; /* popcountv8hi2 */ case 5: if (! #line 2449 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1589; /* popcountv16qi2 */ default: return -1; } case TRUNCATE: if (pattern34 (x2, DImode, SImode) != 0 || ! #line 3164 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_POP && TARGET_64BIT)) return -1; return 173; /* *popcountdi2_trunc */ default: return -1; } case NOT: return recog_71 (x1, insn, pnum_clobbers); case AND: return recog_64 (x1, insn, pnum_clobbers); case IOR: return recog_58 (x1, insn, pnum_clobbers); case XOR: return recog_80 (x1, insn, pnum_clobbers); case FLOAT_TRUNCATE: if (GET_MODE (x2) != SFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], SFmode)) return -1; x4 = XEXP (x2, 0); operands[1] = x4; if (!register_operand (operands[1], DFmode) || ! #line 3415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) return -1; return 195; /* truncdfsf2 */ case FLOAT_EXTEND: return recog_84 (x1, insn, pnum_clobbers); case FIX: return recog_83 (x1, insn, pnum_clobbers); case FLOAT: return recog_85 (x1, insn, pnum_clobbers); case SIGN_EXTRACT: switch (pattern3 (x1)) { case 0: if (! #line 4209 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && UINTVAL (operands[2]) <= 32)) return -1; return 269; /* *extvsi */ case 1: if (!( #line 4209 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_EXTS && UINTVAL (operands[2]) <= 32) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 270; /* *extvdi */ default: return -1; } case ZERO_EXTRACT: switch (pattern3 (x1)) { case 0: if (! #line 4247 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_use_ins_ext_p (operands[1], INTVAL (operands[2]), INTVAL (operands[3])))) return -1; return 271; /* *extzvsi */ case 1: if (!( #line 4247 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_use_ins_ext_p (operands[1], INTVAL (operands[2]), INTVAL (operands[3]))) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 272; /* *extzvdi */ default: return -1; } case LO_SUM: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; x5 = XEXP (x2, 1); operands[2] = x5; switch (pattern2 (x2)) { case 0: if (got_disp_operand (operands[2], SImode) && ( #line 4511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 292; /* *xgot_losi */ if (!immediate_operand (operands[2], SImode)) return -1; if (( #line 4573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return 300; /* *lowsi */ if (!( #line 4582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 302; /* *lowsi_mips16 */ case 1: if (got_disp_operand (operands[2], DImode) && ( #line 4511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return 293; /* *xgot_lodi */ if (!immediate_operand (operands[2], DImode)) return -1; if (( #line 4573 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return 301; /* *lowdi */ if (!( #line 4582 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 303; /* *lowdi_mips16 */ default: return -1; } case CONST_INT: case CONST_WIDE_INT: case CONST_FIXED: case CONST_DOUBLE: case CONST_VECTOR: case CONST: case REG: case SUBREG: case MEM: case LABEL_REF: case SYMBOL_REF: case HIGH: return recog_54 (x1, insn, pnum_clobbers); case UNSPEC_VOLATILE: return recog_57 (x1, insn, pnum_clobbers); case ASHIFT: switch (pattern8 (x1)) { case 0: if ( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return 438; /* *ashlsi3 */ if (! #line 5658 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 447; /* *ashlsi3_mips16 */ case 1: if (( #line 5627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 441; /* *ashldi3 */ if (! #line 5686 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16)) return -1; return 452; /* *ashldi3_mips16 */ case 2: if (! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1123; /* ashlv2si3 */ case 3: if (! #line 569 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1124; /* ashlv4hi3 */ case 4: if (! #line 882 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1262; /* vashlv2di3 */ case 5: if (! #line 882 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1263; /* vashlv4si3 */ case 6: if (! #line 882 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1264; /* vashlv8hi3 */ case 7: if (! #line 882 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1265; /* vashlv16qi3 */ default: return -1; } case ASHIFTRT: return recog_90 (x1, insn, pnum_clobbers); case LSHIFTRT: return recog_76 (x1, insn, pnum_clobbers); case ROTATERT: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; x5 = XEXP (x2, 1); operands[2] = x5; if (!arith_operand (operands[2], SImode)) return -1; switch (pattern2 (x2)) { case 0: if (! #line 5768 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_ROR)) return -1; return 456; /* rotrsi3 */ case 1: if (!( #line 5768 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_ROR) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 457; /* rotrdi3 */ default: return -1; } case BSWAP: return recog_88 (x1, insn, pnum_clobbers); case IF_THEN_ELSE: return recog_55 (x1, insn, pnum_clobbers); case EQ: return recog_70 (x1, insn, pnum_clobbers); case NE: return recog_79 (x1, insn, pnum_clobbers); case GT: return recog_75 (x1, insn, pnum_clobbers); case GTU: return recog_82 (x1, insn, pnum_clobbers); case GE: return recog_86 (x1, insn, pnum_clobbers); case GEU: x5 = XEXP (x2, 1); if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return -1; x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case SImode: switch (pattern106 (x2, SImode)) { case 0: if (! #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16)) return -1; return 525; /* *sgeu_sisi */ case 1: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 527; /* *sgeu_disi */ default: return -1; } case DImode: switch (pattern106 (x2, DImode)) { case 0: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 529; /* *sgeu_sidi */ case 1: if (!( #line 6130 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16) && #line 791 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 531; /* *sgeu_didi */ default: return -1; } default: return -1; } case LT: return recog_74 (x1, insn, pnum_clobbers); case LTU: return recog_81 (x1, insn, pnum_clobbers); case LE: return recog_72 (x1, insn, pnum_clobbers); case LEU: return recog_78 (x1, insn, pnum_clobbers); case UNORDERED: switch (pattern12 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 564; /* sunordered_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 571; /* sunordered_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 578; /* sunordered_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 588; /* sunordered_df_using_ccf */ case 4: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1416; /* msa_fcun_d */ case 5: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1425; /* msa_fcun_w */ default: return -1; } case UNEQ: switch (pattern12 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 565; /* suneq_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 572; /* suneq_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 579; /* suneq_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 589; /* suneq_df_using_ccf */ case 4: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1422; /* msa_fcueq_d */ case 5: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1431; /* msa_fcueq_w */ default: return -1; } case UNLT: switch (pattern12 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 566; /* sunlt_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 573; /* sunlt_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 580; /* sunlt_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 590; /* sunlt_df_using_ccf */ case 4: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1424; /* msa_fcult_d */ case 5: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1433; /* msa_fcult_w */ default: return -1; } case UNLE: switch (pattern12 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 567; /* sunle_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 574; /* sunle_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 581; /* sunle_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 591; /* sunle_df_using_ccf */ case 4: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1423; /* msa_fcule_d */ case 5: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1432; /* msa_fcule_w */ default: return -1; } case ORDERED: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; switch (pattern81 (x2)) { case 0: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 585; /* sordered_sf_using_ccf */ case 1: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 595; /* sordered_df_using_ccf */ case 2: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1417; /* msa_fcor_d */ case 3: if (! #line 1572 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1426; /* msa_fcor_w */ default: return -1; } case LTGT: if (GET_MODE (x2) != CCFmode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], CCFmode)) return -1; x4 = XEXP (x2, 0); operands[1] = x4; x5 = XEXP (x2, 1); operands[2] = x5; switch (pattern9 ()) { case 0: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 586; /* sltgt_sf_using_ccf */ case 1: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 596; /* sltgt_df_using_ccf */ default: return -1; } case UNGE: switch (pattern14 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 600; /* sunge_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 604; /* sunge_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 608; /* sunge_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 612; /* sunge_df_using_ccf */ default: return -1; } case UNGT: switch (pattern14 (x1)) { case 0: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 601; /* sungt_sf_using_cc */ case 1: if (!(( #line 818 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 605; /* sungt_df_using_cc */ case 2: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) && #line 858 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return -1; return 609; /* sungt_sf_using_ccf */ case 3: if (!(( #line 819 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_CCF) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)) && #line 859 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return -1; return 613; /* sungt_df_using_ccf */ default: return -1; } case CALL: x4 = XEXP (x2, 0); if (GET_CODE (x4) != MEM || GET_MODE (x4) != SImode) return -1; x3 = XEXP (x1, 0); operands[0] = x3; if (!register_operand (operands[0], VOIDmode)) return -1; x6 = XEXP (x4, 0); operands[1] = x6; if (!call_insn_operand (operands[1], VOIDmode)) return -1; x5 = XEXP (x2, 1); operands[2] = x5; if ( #line 6865 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SIBCALLS && SIBLING_CALL_P (insn))) return 650; /* sibcall_value_internal */ if (pnum_clobbers == NULL) return -1; *pnum_clobbers = 1; return 656; /* call_value_internal */ case VEC_SELECT: return recog_63 (x1, insn, pnum_clobbers); case VEC_CONCAT: return recog_77 (x1, insn, pnum_clobbers); case SS_PLUS: return recog_87 (x1, insn, pnum_clobbers); case US_PLUS: x3 = XEXP (x1, 0); operands[0] = x3; switch (pattern25 (x2)) { case 0: if (! #line 217 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1073; /* usaddv4hi3 */ case 1: if (! #line 217 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1074; /* usaddv8qi3 */ case 2: if (! #line 987 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1292; /* usaddv2di3 */ case 3: if (! #line 987 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1293; /* usaddv4si3 */ case 4: if (! #line 987 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1294; /* usaddv8hi3 */ case 5: if (! #line 987 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1295; /* usaddv16qi3 */ default: return -1; } case SMAX: switch (pattern16 (x1)) { case 0: if (! #line 416 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1109; /* smaxv4hi3 */ case 1: if (! #line 1697 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1474; /* smaxv2df3 */ case 2: if (! #line 1697 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1475; /* smaxv4sf3 */ case 3: if (! #line 2204 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1538; /* smaxv2di3 */ case 4: if (! #line 2204 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1539; /* smaxv4si3 */ case 5: if (! #line 2204 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1540; /* smaxv8hi3 */ case 6: if (! #line 2204 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1541; /* smaxv16qi3 */ default: return -1; } case UMAX: switch (pattern18 (x1)) { case 0: if (! #line 436 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1110; /* umaxv8qi3 */ case 1: if (! #line 2215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1542; /* umaxv2di3 */ case 2: if (! #line 2215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1543; /* umaxv4si3 */ case 3: if (! #line 2215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1544; /* umaxv8hi3 */ case 4: if (! #line 2215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1545; /* umaxv16qi3 */ default: return -1; } case SMIN: switch (pattern16 (x1)) { case 0: if (! #line 445 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1111; /* sminv4hi3 */ case 1: if (! #line 1718 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1478; /* sminv2df3 */ case 2: if (! #line 1718 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1479; /* sminv4sf3 */ case 3: if (! #line 2238 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1550; /* sminv2di3 */ case 4: if (! #line 2238 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1551; /* sminv4si3 */ case 5: if (! #line 2238 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1552; /* sminv8hi3 */ case 6: if (! #line 2238 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1553; /* sminv16qi3 */ default: return -1; } case UMIN: switch (pattern18 (x1)) { case 0: if (! #line 465 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1112; /* uminv8qi3 */ case 1: if (! #line 2249 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1554; /* uminv2di3 */ case 2: if (! #line 2249 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1555; /* uminv4si3 */ case 3: if (! #line 2249 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1556; /* uminv8hi3 */ case 4: if (! #line 2249 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1557; /* uminv16qi3 */ default: return -1; } case SS_MINUS: switch (pattern19 (x1)) { case 0: if (! #line 618 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1133; /* sssubv4hi3 */ case 1: if (! #line 618 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1134; /* sssubv8qi3 */ default: return -1; } case US_MINUS: switch (pattern19 (x1)) { case 0: if (! #line 627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1135; /* ussubv4hi3 */ case 1: if (! #line 627 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS)) return -1; return 1136; /* ussubv8qi3 */ default: return -1; } case VEC_MERGE: return recog_62 (x1, insn, pnum_clobbers); case UNSIGNED_FLOAT: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x2) != V2DFmode || !register_operand (operands[1], V2DImode) || ! #line 1626 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1460; /* floatunsv2div2df2 */ case V4SFmode: if (!register_operand (operands[0], V4SFmode) || GET_MODE (x2) != V4SFmode || !register_operand (operands[1], V4SImode) || ! #line 1626 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1461; /* floatunsv4siv4sf2 */ default: return -1; } case VEC_DUPLICATE: return recog_67 (x1, insn, pnum_clobbers); case UNSIGNED_FIX: x3 = XEXP (x1, 0); operands[0] = x3; x4 = XEXP (x2, 0); operands[1] = x4; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x2) != V2DImode || !register_operand (operands[1], V2DFmode) || ! #line 1794 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1494; /* fixuns_truncv2dfv2di2 */ case V4SImode: if (!register_operand (operands[0], V4SImode) || GET_MODE (x2) != V4SImode || !register_operand (operands[1], V4SFmode) || ! #line 1794 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1495; /* fixuns_truncv4sfv4si2 */ default: return -1; } default: return -1; } } int recog (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pnum_clobbers ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14; int res ATTRIBUTE_UNUSED; recog_data.insn = NULL; switch (GET_CODE (x1)) { case UNSPEC: if (XVECLEN (x1, 0) != 1) return -1; switch (XINT (x1, 1)) { case 54: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || ! #line 107 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson2ef.md" (TUNE_LOONGSON_2EF)) return -1; return 1; /* ls2_alu1_turn_enabled_insn */ case 55: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || ! #line 118 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson2ef.md" (TUNE_LOONGSON_2EF)) return -1; return 2; /* ls2_alu2_turn_enabled_insn */ case 56: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || ! #line 129 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson2ef.md" (TUNE_LOONGSON_2EF)) return -1; return 3; /* ls2_falu1_turn_enabled_insn */ case 57: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || ! #line 140 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/loongson2ef.md" (TUNE_LOONGSON_2EF)) return -1; return 4; /* ls2_falu2_turn_enabled_insn */ case 23: if (pnum_clobbers == NULL) return -1; x2 = XVECEXP (x1, 0, 0); operands[0] = x2; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || ! #line 6667 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (! TARGET_64BIT)) return -1; *pnum_clobbers = 1; return 639; /* eh_set_lr_si */ case DImode: if (!register_operand (operands[0], DImode) || ! #line 6673 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return -1; *pnum_clobbers = 1; return 640; /* eh_set_lr_di */ default: return -1; } default: return -1; } case TRAP_IF: x3 = XEXP (x1, 1); if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; x4 = XEXP (x1, 0); switch (GET_CODE (x4)) { case CONST_INT: if (XWINT (x4, 0) != 1L) return -1; return 5; /* trap */ case NE: case EQ: case GE: case LT: case GEU: case LTU: operands[0] = x4; x5 = XEXP (x4, 0); operands[1] = x5; x6 = XEXP (x4, 1); operands[2] = x6; switch (GET_MODE (operands[0])) { case SImode: if (!trap_comparison_operator (operands[0], SImode) || !reg_or_0_operand (operands[1], SImode)) return -1; if (reg_or_0_operand (operands[2], SImode) && #line 1215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_COND_TRAP && !ISA_HAS_COND_TRAPI)) return 6; /* *conditional_trap_regsi */ if (!arith_operand (operands[2], SImode) || ! #line 1224 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_COND_TRAPI)) return -1; return 8; /* *conditional_trapsi */ case DImode: if (!trap_comparison_operator (operands[0], DImode) || !reg_or_0_operand (operands[1], DImode)) return -1; if (reg_or_0_operand (operands[2], DImode) && ( #line 1215 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_COND_TRAP && !ISA_HAS_COND_TRAPI) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return 7; /* *conditional_trap_regdi */ if (!arith_operand (operands[2], DImode) || !( #line 1224 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_COND_TRAPI) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return -1; return 9; /* *conditional_trapdi */ default: return -1; } default: return -1; } case SET: return recog_103 (x1, insn, pnum_clobbers); case PARALLEL: switch (XVECLEN (x1, 0)) { case 2: res = recog_97 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case 3: res = recog_99 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case 4: res = recog_100 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; case 6: res = recog_101 (x1, insn, pnum_clobbers); if (res >= 0) return res; break; default: break; } if (XVECLEN (x1, 0) >= 1) { operands[0] = x1; res = recog_102 (x1, insn, pnum_clobbers); if (res >= 0) return res; } if (XVECLEN (x1, 0) != 2) return -1; x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != SET) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != SET) return -1; x8 = XEXP (x2, 0); operands[0] = x8; x9 = XEXP (x2, 1); switch (GET_CODE (x9)) { case PLUS: if (GET_MODE (x9) != SImode) return -1; x10 = XEXP (x7, 1); if (GET_CODE (x10) != UNSPEC_VOLATILE || pattern163 (x10, SImode) != 0 || !register_operand (operands[0], SImode)) return -1; x11 = XEXP (x9, 0); operands[1] = x11; if (!memory_operand (operands[1], SImode)) return -1; x12 = XEXP (x9, 1); operands[2] = x12; if (pattern251 (x7, SImode) != 0 || ! #line 413 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/sync.md" (GENERATE_LL_SC)) return -1; return 751; /* sync_new_addsi */ case SUBREG: case MEM: operands[1] = x9; if (!non_volatile_mem_operand (operands[1], SImode) || !d_operand (operands[0], SImode)) return -1; x13 = XEXP (x7, 0); operands[2] = x13; if (!d_operand (operands[2], SImode)) return -1; x10 = XEXP (x7, 1); operands[3] = x10; if (!non_volatile_mem_operand (operands[3], SImode) || ! #line 60 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_load_store_pair_p (true, operands))) return -1; return 1051; /* *lwp */ case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: operands[1] = x9; if (d_operand (operands[1], SImode) && non_volatile_mem_operand (operands[0], SImode)) { x13 = XEXP (x7, 0); operands[2] = x13; if (non_volatile_mem_operand (operands[2], SImode)) { x10 = XEXP (x7, 1); operands[3] = x10; if (d_operand (operands[3], SImode) && #line 87 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_load_store_pair_p (false, operands))) return 1052; /* *swp */ } } if (!movep_src_operand (operands[1], SImode) || !register_operand (operands[0], SImode)) return -1; x13 = XEXP (x7, 0); operands[2] = x13; x10 = XEXP (x7, 1); operands[3] = x10; switch (pattern219 ()) { case 0: if (! #line 127 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return -1; return 1054; /* *movepsisi */ case 1: if (! #line 127 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return -1; return 1055; /* *movepsisf */ default: return -1; } default: return -1; } case UNSPEC_VOLATILE: switch (XVECLEN (x1, 0)) { case 1: switch (XINT (x1, 1)) { case 37: x2 = XVECEXP (x1, 0, 0); switch (GET_CODE (x2)) { case REG: if (REGNO (x2) != 28 || GET_MODE (x2) != SImode) return -1; return 419; /* loadgp_blockage */ case CONST_INT: if (XWINT (x2, 0) != 0L) return -1; return 625; /* blockage */ default: return -1; } case 41: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || ! #line 5518 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (GENERATE_SYNC)) return -1; return 430; /* sync */ case 40: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!pmode_register_operand (operands[0], VOIDmode) || ! #line 5524 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SYNCI)) return -1; return 431; /* synci */ case 38: if (pnum_clobbers == NULL) return -1; x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; if (( #line 5537 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) { *pnum_clobbers = 1; return 434; /* clear_hazard_si */ } if (!( #line 5537 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_SYNCI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 1; return 435; /* clear_hazard_di */ case 46: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; return 634; /* mips_di */ case 47: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; return 635; /* mips_ehb */ case 53: x2 = XVECEXP (x1, 0, 0); if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return -1; return 667; /* insn_pseudo */ case 33: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!const_int_operand (operands[0], VOIDmode)) return -1; return 694; /* consttable */ case 34: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!const_int_operand (operands[0], VOIDmode)) return -1; return 695; /* consttable_end */ case 36: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!consttable_operand (operands[0], VOIDmode) || ! #line 7369 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 698; /* consttable_float */ case 32: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!const_int_operand (operands[0], VOIDmode)) return -1; return 699; /* align */ case 13: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; if (!register_operand (operands[0], SImode) || ! #line 7556 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT)) return -1; return 712; /* *mips_set_fcsr */ default: return -1; } case 2: x2 = XVECEXP (x1, 0, 0); operands[0] = x2; switch (XINT (x1, 1)) { case 35: x7 = XVECEXP (x1, 0, 1); operands[1] = x7; if (!const_int_operand (operands[1], VOIDmode)) return -1; if (tls_reloc_operand (operands[0], VOIDmode) && #line 7349 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16_PCREL_LOADS)) return 696; /* consttable_tls_reloc */ if (!consttable_operand (operands[0], VOIDmode) || ! #line 7357 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16)) return -1; return 697; /* consttable_int */ case 13: if (pnum_clobbers == NULL || GET_MODE (x1) != SImode) return -1; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != REG || REGNO (x7) != 4 || GET_MODE (x7) != SImode) return -1; if (call_insn_operand (operands[0], SImode) && ( #line 7565 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) { *pnum_clobbers = 2; return 713; /* mips_set_fcsr_mips16_si */ } if (!call_insn_operand (operands[0], DImode) || !( #line 7565 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT_ABI && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; *pnum_clobbers = 2; return 714; /* mips_set_fcsr_mips16_di */ case 242: if (!const_uimm5_operand (operands[0], VOIDmode)) return -1; x7 = XVECEXP (x1, 0, 1); operands[1] = x7; if (!register_operand (operands[1], SImode) || ! #line 2639 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA)) return -1; return 1661; /* msa_ctcmsa */ default: return -1; } default: return -1; } case RETURN: return 628; /* *return */ case SIMPLE_RETURN: return 629; /* *simple_return */ case CALL: x4 = XEXP (x1, 0); if (GET_CODE (x4) != MEM || GET_MODE (x4) != SImode) return -1; x5 = XEXP (x4, 0); operands[0] = x5; if (!call_insn_operand (operands[0], VOIDmode)) return -1; x3 = XEXP (x1, 1); operands[1] = x3; if ( #line 6844 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_SIBCALLS && SIBLING_CALL_P (insn))) return 649; /* sibcall_internal */ if (pnum_clobbers == NULL) return -1; *pnum_clobbers = 1; return 652; /* call_internal */ case PREFETCH: x3 = XEXP (x1, 1); if (!const_int_operand (x3, VOIDmode)) return -1; operands[1] = x3; x4 = XEXP (x1, 0); operands[0] = x4; if (address_operand (operands[0], QImode)) { x14 = XEXP (x1, 2); operands[2] = x14; if (const_int_operand (operands[2], VOIDmode) && #line 7142 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_PREFETCH && TARGET_EXPLICIT_RELOCS)) return 662; /* prefetch */ } operands[2] = x3; if (GET_CODE (x4) != PLUS) return -1; x5 = XEXP (x4, 0); operands[0] = x5; x6 = XEXP (x4, 1); operands[1] = x6; x14 = XEXP (x1, 2); operands[3] = x14; if (!const_int_operand (operands[3], VOIDmode)) return -1; switch (GET_MODE (x4)) { case SImode: if (!register_operand (operands[0], SImode) || !register_operand (operands[1], SImode) || !( #line 7162 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_PREFETCHX && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return -1; return 663; /* *prefetch_indexed_si */ case DImode: if (!register_operand (operands[0], DImode) || !register_operand (operands[1], DImode) || !( #line 7162 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_PREFETCHX && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return -1; return 664; /* *prefetch_indexed_di */ default: return -1; } case CONST_INT: switch (XWINT (x1, 0)) { case 0L: return 665; /* nop */ case 1L: return 666; /* hazard_nop */ default: return -1; } default: return -1; } } static rtx_insn * split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[1] = x2; switch (GET_MODE (operands[0])) { case SImode: if (register_operand (operands[0], SImode) && got_disp_operand (operands[1], SImode) && (( #line 4525 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_p[SYMBOL_GOT_DISP]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 4527 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_44 (insn, operands); break; case DImode: if (register_operand (operands[0], DImode) && got_disp_operand (operands[1], DImode) && (( #line 4525 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_p[SYMBOL_GOT_DISP]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 4527 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_45 (insn, operands); break; default: break; } if (GET_CODE (x2) != CONST) return NULL; x3 = XEXP (x2, 0); if (GET_CODE (x3) != UNSPEC || XVECLEN (x3, 0) != 1 || XINT (x3, 1) != 24) return NULL; x4 = XVECEXP (x3, 0, 0); if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]) return NULL; switch (GET_MODE (operands[0])) { case SImode: if (!d_operand (operands[0], SImode) || GET_MODE (x2) != SImode || GET_MODE (x3) != SImode || ! #line 4593 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && TARGET_USE_GOT && reload_completed)) return NULL; return gen_split_48 (insn, operands); case DImode: if (!d_operand (operands[0], DImode) || GET_MODE (x2) != DImode || GET_MODE (x3) != DImode || !( #line 4593 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && TARGET_USE_GOT && reload_completed) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_49 (insn, operands); default: return NULL; } } static rtx_insn * split_2 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); x3 = XEXP (x2, 0); if (GET_CODE (x3) != PLUS) return NULL; x4 = XEXP (x3, 1); operands[1] = x4; x5 = XEXP (x3, 0); if (!rtx_equal_p (x5, operands[0])) return NULL; switch (GET_MODE (operands[0])) { case DImode: if (!d_operand (operands[0], DImode) || GET_MODE (x2) != DImode || GET_MODE (x3) != DImode || !const_int_operand (operands[1], DImode) || ! #line 4700 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) < 0 && INTVAL (operands[1]) >= -0x10) || (INTVAL (operands[1]) >= 32 * 8 && INTVAL (operands[1]) <= 31 * 8 + 0x8) || (INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) < 32 * 8 && (INTVAL (operands[1]) & 7) != 0)))) return NULL; return gen_split_54 (insn, operands); case SImode: if (pattern164 (x2, SImode) != 0 || ! #line 4779 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) < 0 && INTVAL (operands[1]) >= -0x80) || (INTVAL (operands[1]) >= 32 * 4 && INTVAL (operands[1]) <= 31 * 4 + 0x7c) || (INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) < 32 * 4 && (INTVAL (operands[1]) & 3) != 0)))) return NULL; return gen_split_55 (insn, operands); case HImode: if (pattern164 (x2, HImode) != 0 || ! #line 4920 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) < 0 && INTVAL (operands[1]) >= -0x80) || (INTVAL (operands[1]) >= 32 * 2 && INTVAL (operands[1]) <= 31 * 2 + 0x7e) || (INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) < 32 * 2 && (INTVAL (operands[1]) & 1) != 0)))) return NULL; return gen_split_57 (insn, operands); case QImode: if (pattern164 (x2, QImode) != 0 || ! #line 4996 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) < 0 && INTVAL (operands[1]) >= -0x80) || (INTVAL (operands[1]) >= 32 && INTVAL (operands[1]) <= 31 + 0x7f)))) return NULL; return gen_split_58 (insn, operands); default: return NULL; } } static rtx_insn * split_3 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 0); operands[0] = x2; x3 = XEXP (x1, 1); switch (GET_CODE (x3)) { case PLUS: switch (GET_MODE (operands[0])) { case SImode: if (!d_operand (operands[0], SImode) || GET_MODE (x3) != SImode) return NULL; x4 = XEXP (x3, 1); if (!const_int_operand (x4, SImode)) return NULL; operands[1] = x4; x5 = XEXP (x3, 0); if (rtx_equal_p (x5, operands[0]) && #line 1296 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) > 0x7f && INTVAL (operands[1]) <= 0x7f + 0x7f) || (INTVAL (operands[1]) < - 0x80 && INTVAL (operands[1]) >= - 0x80 - 0x80)))) return gen_split_1 (insn, operands); operands[2] = x4; operands[1] = x5; if (!d_operand (operands[1], SImode) || ! #line 1322 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && REGNO (operands[0]) != REGNO (operands[1]) && ((INTVAL (operands[2]) > 0x7 && INTVAL (operands[2]) <= 0x7 + 0x7f) || (INTVAL (operands[2]) < - 0x8 && INTVAL (operands[2]) >= - 0x8 - 0x80)))) return NULL; return gen_split_2 (insn, operands); case DImode: if (!d_operand (operands[0], DImode) || GET_MODE (x3) != DImode) return NULL; x4 = XEXP (x3, 1); if (!const_int_operand (x4, DImode)) return NULL; operands[1] = x4; x5 = XEXP (x3, 0); if (rtx_equal_p (x5, operands[0]) && #line 1349 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && TARGET_64BIT && reload_completed && !TARGET_DEBUG_D_MODE && ((INTVAL (operands[1]) > 0xf && INTVAL (operands[1]) <= 0xf + 0xf) || (INTVAL (operands[1]) < - 0x10 && INTVAL (operands[1]) >= - 0x10 - 0x10)))) return gen_split_3 (insn, operands); operands[2] = x4; operands[1] = x5; if (!d_operand (operands[1], DImode) || ! #line 1375 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && TARGET_64BIT && reload_completed && !TARGET_DEBUG_D_MODE && REGNO (operands[0]) != REGNO (operands[1]) && ((INTVAL (operands[2]) > 0x7 && INTVAL (operands[2]) <= 0x7 + 0xf) || (INTVAL (operands[2]) < - 0x8 && INTVAL (operands[2]) >= - 0x8 - 0x10)))) return NULL; return gen_split_4 (insn, operands); default: return NULL; } case SIGN_EXTEND: x5 = XEXP (x3, 0); switch (GET_CODE (x5)) { case PLUS: if (pattern33 (x3) != 0 || !( #line 1417 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && TARGET_MIPS16) && #line 1419 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_5 (insn, operands); case REG: case SUBREG: case MEM: operands[1] = x5; switch (pattern98 (x3)) { case 0: if (!( #line 3658 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT) && #line 3663 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && register_operand (operands[1], VOIDmode)))) return NULL; return gen_split_25 (insn, operands); case 1: if (!(( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 3695 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_27 (insn, operands); case 2: if (!(( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 3695 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_29 (insn, operands); case 3: if (!( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 3695 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_26 (insn, operands); case 4: if (!( #line 3691 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 3695 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_28 (insn, operands); case 5: if (!( #line 3736 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!ISA_HAS_SEB_SEH && !GENERATE_MIPS16E) && #line 3740 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_30 (insn, operands); default: return NULL; } case TRUNCATE: switch (pattern35 (x3)) { case 0: if (!( #line 3770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS) && #line 3772 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_31 (insn, operands); case 1: if (!( #line 3770 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS) && #line 3772 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_32 (insn, operands); case 2: if (!( #line 3790 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS) && #line 3792 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_33 (insn, operands); case 3: if (!( #line 3790 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS) && #line 3792 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_34 (insn, operands); case 4: if (!( #line 3810 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS) && #line 3812 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_35 (insn, operands); default: return NULL; } default: return NULL; } case ZERO_EXTEND: if (GET_MODE (x3) != DImode || !register_operand (operands[0], DImode)) return NULL; x5 = XEXP (x3, 0); operands[1] = x5; if (!nonimmediate_operand (operands[1], SImode) || !( #line 3496 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !ISA_HAS_EXT_INS) && #line 3500 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && REG_P (operands[1])))) return NULL; return gen_split_23 (insn, operands); case AND: if (GET_MODE (x3) != DImode) return NULL; x4 = XEXP (x3, 1); if (GET_CODE (x4) != CONST_INT || XWINT (x4, 0) != 4294967295L || !register_operand (operands[0], DImode)) return NULL; x5 = XEXP (x3, 0); operands[1] = x5; if (!register_operand (operands[1], DImode) || ! #line 3526 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !ISA_HAS_EXT_INS && reload_completed)) return NULL; return gen_split_24 (insn, operands); case LO_SUM: x5 = XEXP (x3, 0); operands[1] = x5; x4 = XEXP (x3, 1); operands[2] = x4; switch (GET_MODE (operands[0])) { case SImode: if (pattern130 (x3, SImode) != 0 || !(( #line 4511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 4513 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_42 (insn, operands); case DImode: if (pattern130 (x3, DImode) != 0 || !(( #line 4511 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 4513 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_43 (insn, operands); default: return NULL; } case CONST_INT: case CONST_WIDE_INT: case CONST_FIXED: case CONST_DOUBLE: case CONST_VECTOR: case CONST: case REG: case SUBREG: case MEM: case LABEL_REF: case SYMBOL_REF: case HIGH: switch (GET_CODE (x3)) { case HIGH: x5 = XEXP (x3, 0); operands[1] = x5; switch (GET_MODE (operands[0])) { case DImode: if (GET_MODE (x3) == DImode) { if (register_operand (operands[0], DImode) && absolute_symbolic_operand (operands[1], DImode) && ( #line 4397 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS) && #line 4399 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( epilogue_completed))) return gen_split_36 (insn, operands); if (d_operand (operands[0], DImode) && symbolic_operand_with_high (operands[1], DImode) && ( #line 4478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return gen_split_39 (insn, operands); if (register_operand (operands[0], DImode)) { if (got_disp_operand (operands[1], DImode) && (( #line 4495 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 4497 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_41 (insn, operands); if (got_page_ofst_operand (operands[1], DImode) && (( #line 4538 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_hi_p[SYMBOL_GOT_PAGE_OFST]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 4540 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_47 (insn, operands); } } break; case SImode: if (GET_MODE (x3) == SImode) { if (d_operand (operands[0], SImode) && symbolic_operand_with_high (operands[1], SImode) && ( #line 4478 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return gen_split_38 (insn, operands); if (register_operand (operands[0], SImode)) { if (got_disp_operand (operands[1], SImode) && (( #line 4495 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && TARGET_XGOT) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 4497 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_40 (insn, operands); if (got_page_ofst_operand (operands[1], SImode) && (( #line 4538 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && !mips_split_hi_p[SYMBOL_GOT_PAGE_OFST]) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 4540 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_46 (insn, operands); } } break; default: break; } break; case CONST: case LABEL_REF: case SYMBOL_REF: res = split_1 (x1, insn); if (res != NULL_RTX) return res; break; case MEM: res = split_2 (x1, insn); if (res != NULL_RTX) return res; break; case CONST_INT: operands[1] = x3; if (const_int_operand (operands[1], SImode) && d_operand (operands[0], SImode) && #line 4817 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[1]) >= 0x100 && INTVAL (operands[1]) <= 0xff + 0x7f)) return gen_split_56 (insn, operands); break; default: break; } operands[1] = x3; switch (GET_MODE (operands[0])) { case DImode: if (nonimmediate_operand (operands[0], DImode) && move_operand (operands[1], DImode) && #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn))) return gen_split_59 (insn, operands); break; case DFmode: if (nonimmediate_operand (operands[0], DFmode) && move_operand (operands[1], DFmode) && #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn))) return gen_split_60 (insn, operands); break; case V2SFmode: if (nonimmediate_operand (operands[0], V2SFmode) && move_operand (operands[1], V2SFmode) && ( #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn)) && #line 836 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT))) return gen_split_61 (insn, operands); break; case V2SImode: if (nonimmediate_operand (operands[0], V2SImode) && move_operand (operands[1], V2SImode) && ( #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn)) && #line 837 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS))) return gen_split_62 (insn, operands); break; case V4HImode: if (nonimmediate_operand (operands[0], V4HImode) && move_operand (operands[1], V4HImode) && ( #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn)) && #line 838 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS))) return gen_split_63 (insn, operands); break; case V8QImode: if (nonimmediate_operand (operands[0], V8QImode) && move_operand (operands[1], V8QImode) && ( #line 5177 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn)) && #line 839 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_LOONGSON_VECTORS))) return gen_split_64 (insn, operands); break; case TImode: if (nonimmediate_operand (operands[0], TImode) && move_operand (operands[1], TImode) && #line 5187 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn))) return gen_split_65 (insn, operands); break; case TFmode: if (nonimmediate_operand (operands[0], TFmode) && move_operand (operands[1], TFmode) && #line 5187 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && mips_split_move_insn_p (operands[0], operands[1], insn))) return gen_split_66 (insn, operands); break; default: break; } if (!const_int_operand (operands[1], VOIDmode) || !d_operand (operands[0], VOIDmode) || ! #line 5199 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && INTVAL (operands[1]) < 0)) return NULL; return gen_split_67 (insn, operands); case UNSPEC: switch (XVECLEN (x3, 0)) { case 2: if (XINT (x3, 1) != 17) return NULL; switch (pattern103 (x3)) { case 0: if (!(( #line 5372 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_NEWABI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 5374 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_68 (insn, operands); case 1: if (!(( #line 5372 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_NEWABI) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 5374 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_69 (insn, operands); case 2: if (!(( #line 5415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_RTP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 5417 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_72 (insn, operands); case 3: if (!(( #line 5415 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_RTP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 5417 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_73 (insn, operands); default: return NULL; } case 1: x6 = XVECEXP (x3, 0, 0); operands[1] = x6; switch (XINT (x3, 1)) { case 17: switch (pattern40 (x3)) { case 0: if (!(( #line 5389 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_ABSOLUTE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 5391 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_70 (insn, operands); case 1: if (!(( #line 5389 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_current_loadgp_style () == LOADGP_ABSOLUTE) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 5391 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_71 (insn, operands); default: return NULL; } case 18: switch (pattern42 (x3)) { case 0: if (!(( #line 5436 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 5438 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_74 (insn, operands); case 1: if (!(( #line 5436 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 5438 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( mips_must_initialize_gp_p ()))) return NULL; return gen_split_75 (insn, operands); default: return NULL; } case 19: switch (pattern110 (x3)) { case 0: if (! #line 6733 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_must_initialize_gp_p ())) return NULL; return gen_split_90 (insn, operands); case 1: if (!( #line 6733 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_must_initialize_gp_p ()) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_91 (insn, operands); default: return NULL; } default: return NULL; } default: return NULL; } case ASHIFT: switch (pattern28 (x3)) { case 0: if (! #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16)) return NULL; return gen_split_78 (insn, operands); case 1: if (!( #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_81 (insn, operands); default: return NULL; } case ASHIFTRT: switch (pattern28 (x3)) { case 0: if (! #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16)) return NULL; return gen_split_79 (insn, operands); case 1: if (!( #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_82 (insn, operands); default: return NULL; } case LSHIFTRT: x5 = XEXP (x3, 0); operands[1] = x5; x4 = XEXP (x3, 1); operands[2] = x4; switch (GET_CODE (operands[1])) { case REG: switch (GET_MODE (operands[0])) { case SImode: if (pattern27 (x3, SImode) != 0 || ! #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16)) return NULL; return gen_split_80 (insn, operands); case DImode: if (pattern27 (x3, DImode) != 0 || !( #line 5734 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_MIPS16 && reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_83 (insn, operands); default: return NULL; } case SUBREG: case MEM: if (!memory_operand (operands[1], SImode) || !register_operand (operands[0], SImode) || GET_MODE (x3) != SImode || !immediate_operand (operands[2], SImode)) return NULL; return gen_split_84 (insn, operands); default: return NULL; } case BSWAP: x5 = XEXP (x3, 0); operands[1] = x5; switch (pattern2 (x3)) { case 0: return gen_split_85 (insn, operands); case 1: return gen_split_86 (insn, operands); default: return NULL; } default: return NULL; } } static rtx_insn * split_4 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); x4 = XEXP (x3, 0); if (GET_CODE (x4) != LSHIFTRT) return NULL; x5 = XEXP (x4, 0); if (GET_CODE (x5) != MULT) return NULL; x6 = XEXP (x4, 1); if (GET_CODE (x6) != CONST_INT) return NULL; x7 = XVECEXP (x1, 0, 1); if (GET_CODE (x7) != CLOBBER) return NULL; x8 = XEXP (x7, 0); operands[3] = x8; x9 = XEXP (x5, 0); switch (GET_CODE (x9)) { case SIGN_EXTEND: switch (pattern214 (x3, SIGN_EXTEND)) { case 0: if (!( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16) && #line 2309 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && !TARGET_FIX_R4000))) return NULL; return gen_split_11 (insn, operands); case 1: if (!( #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(SIGN_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120)) && #line 2425 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && !TARGET_FIX_R4000))) return NULL; return gen_split_13 (insn, operands); default: return NULL; } case ZERO_EXTEND: switch (pattern214 (x3, ZERO_EXTEND)) { case 0: if (!( #line 2307 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MULT && !ISA_HAS_MULHI && !TARGET_MIPS16) && #line 2309 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && !TARGET_FIX_R4000))) return NULL; return gen_split_12 (insn, operands); case 1: if (!( #line 2421 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DMULT && !TARGET_MIPS16 && !(ZERO_EXTEND == ZERO_EXTEND && TARGET_FIX_VR4120)) && #line 2425 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed && !TARGET_FIX_R4000))) return NULL; return gen_split_14 (insn, operands); default: return NULL; } default: return NULL; } } static rtx_insn * split_5 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); if (XVECLEN (x3, 0) != 2 || XINT (x3, 1) != 20) return NULL; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != CLOBBER) return NULL; x5 = XVECEXP (x3, 0, 0); operands[1] = x5; x6 = XVECEXP (x3, 0, 1); operands[2] = x6; switch (pattern206 (x1)) { case 0: if (!( #line 5457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_must_initialize_gp_p ()) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return NULL; return gen_split_76 (insn, operands); case 1: if (!( #line 5457 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_must_initialize_gp_p ()) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return NULL; return gen_split_77 (insn, operands); default: return NULL; } } static rtx_insn * split_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XVECEXP (x1, 0, 0); x3 = XEXP (x2, 1); switch (GET_CODE (x3)) { case TRUNCATE: res = split_4 (x1, insn); if (res != NULL_RTX) return res; break; case DIV: switch (pattern107 (x1, MOD)) { case 0: if (( #line 2872 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && !TARGET_FIX_VR4120 && !TARGET_MIPS16) && #line 2874 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_15 (insn, operands); break; case 1: if ((( #line 2872 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && !TARGET_FIX_VR4120 && !TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 2874 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_16 (insn, operands); break; default: break; } break; case UDIV: switch (pattern107 (x1, UMOD)) { case 0: if ( #line 2939 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed)) return gen_split_19 (insn, operands); break; case 1: if (( #line 2939 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return gen_split_20 (insn, operands); break; default: break; } break; case CONST: case LABEL_REF: case SYMBOL_REF: operands[1] = x3; if (absolute_symbolic_operand (operands[1], DImode)) { x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) == CLOBBER && register_operand (operands[0], DImode)) { x5 = XEXP (x4, 0); operands[2] = x5; if (scratch_operand (operands[2], DImode) && ( #line 4451 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (!TARGET_MIPS16 && TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS && cse_not_expected) && #line 4456 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_37 (insn, operands); } } break; case CONST_INT: operands[1] = x3; x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) == CLOBBER) { x5 = XEXP (x4, 0); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (register_operand (operands[0], SImode) && splittable_const_int_operand (operands[1], SImode) && register_operand (operands[2], SImode)) return gen_split_50 (insn, operands); break; case DImode: if (register_operand (operands[0], DImode) && splittable_const_int_operand (operands[1], DImode) && register_operand (operands[2], DImode) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) return gen_split_51 (insn, operands); break; default: break; } } break; case UNSPEC: res = split_5 (x1, insn); if (res != NULL_RTX) return res; break; default: break; } x4 = XVECEXP (x1, 0, 1); if (GET_CODE (x4) != CLOBBER) return NULL; operands[1] = x3; x5 = XEXP (x4, 0); operands[2] = x5; switch (GET_MODE (operands[0])) { case SImode: if (!register_operand (operands[0], SImode) || !register_operand (operands[2], SImode) || !( #line 4615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_split_symbol (operands[2], operands[1], MAX_MACHINE_MODE, NULL)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode))) return NULL; return gen_split_52 (insn, operands); case DImode: if (!register_operand (operands[0], DImode) || !register_operand (operands[2], DImode) || !( #line 4615 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (mips_split_symbol (operands[2], operands[1], MAX_MACHINE_MODE, NULL)) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode))) return NULL; return gen_split_53 (insn, operands); default: return NULL; } } static rtx_insn * split_7 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15, x16, x17; rtx_insn *res ATTRIBUTE_UNUSED; switch (XVECLEN (x1, 0)) { case 3: x2 = XVECEXP (x1, 0, 2); if (GET_CODE (x2) != CLOBBER) return NULL; x3 = XVECEXP (x1, 0, 0); switch (GET_CODE (x3)) { case SET: x4 = XEXP (x3, 0); operands[0] = x4; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case PLUS: if (pattern83 (x1) != 0 || !d_operand (operands[0], SImode)) return NULL; x6 = XEXP (x5, 0); x7 = XEXP (x6, 0); operands[1] = x7; if (!d_operand (operands[1], SImode)) return NULL; x8 = XEXP (x6, 1); operands[2] = x8; if (!d_operand (operands[2], SImode)) return NULL; x9 = XEXP (x5, 1); operands[3] = x9; if (!d_operand (operands[3], SImode)) return NULL; x10 = XVECEXP (x1, 0, 1); x11 = XEXP (x10, 0); operands[4] = x11; if (!lo_operand (operands[4], SImode)) return NULL; x12 = XEXP (x2, 0); operands[5] = x12; if (!d_operand (operands[5], SImode) || ! #line 1804 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed)) return NULL; return gen_split_6 (insn, operands); case MINUS: if (GET_MODE (x5) != SImode) return NULL; x9 = XEXP (x5, 1); if (GET_CODE (x9) != MULT || GET_MODE (x9) != SImode) return NULL; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != CLOBBER) return NULL; x6 = XEXP (x5, 0); operands[1] = x6; if (register_operand (operands[1], SImode) && register_operand (operands[0], SImode) && pattern234 (x1) == 0 && ( #line 1860 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC && !ISA_HAS_MSAC) && #line 1862 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return gen_split_7 (insn, operands); if (!d_operand (operands[1], SImode) || !d_operand (operands[0], SImode)) return NULL; x13 = XEXP (x9, 0); operands[2] = x13; if (!d_operand (operands[2], SImode)) return NULL; x14 = XEXP (x9, 1); operands[3] = x14; if (!d_operand (operands[3], SImode)) return NULL; x11 = XEXP (x10, 0); operands[4] = x11; if (!lo_operand (operands[4], SImode)) return NULL; x12 = XEXP (x2, 0); operands[5] = x12; if (!d_operand (operands[5], SImode) || ! #line 2032 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed)) return NULL; return gen_split_8 (insn, operands); case MULT: if (GET_MODE (x5) != DImode) return NULL; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != CLOBBER || !register_operand (operands[0], DImode)) return NULL; x6 = XEXP (x5, 0); if (GET_MODE (x6) != DImode) return NULL; x9 = XEXP (x5, 1); if (GET_MODE (x9) != DImode) return NULL; x11 = XEXP (x10, 0); operands[3] = x11; if (!scratch_operand (operands[3], TImode)) return NULL; x12 = XEXP (x2, 0); operands[4] = x12; if (!scratch_operand (operands[4], DImode)) return NULL; switch (GET_CODE (x6)) { case SIGN_EXTEND: if (GET_CODE (x9) != SIGN_EXTEND) return NULL; x7 = XEXP (x6, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return NULL; x13 = XEXP (x9, 0); operands[2] = x13; if (!register_operand (operands[2], SImode) || !( #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT) && #line 2131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_9 (insn, operands); case ZERO_EXTEND: if (GET_CODE (x9) != ZERO_EXTEND) return NULL; x7 = XEXP (x6, 0); operands[1] = x7; if (!register_operand (operands[1], SImode)) return NULL; x13 = XEXP (x9, 0); operands[2] = x13; if (!register_operand (operands[2], SImode) || !( #line 2128 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT && !TARGET_FIX_R4000 && !ISA_HAS_DMUL3 && !TARGET_MIPS16 && ISA_HAS_MULT) && #line 2131 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_10 (insn, operands); default: return NULL; } case DIV: switch (pattern131 (x1, MOD)) { case 0: if (!( #line 2898 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DIV && !TARGET_FIX_VR4120 && TARGET_MIPS16) && #line 2900 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( cse_not_expected))) return NULL; return gen_split_17 (insn, operands); case 1: if (!(( #line 2898 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_DDIV && !TARGET_FIX_VR4120 && TARGET_MIPS16) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT)) && #line 2900 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( cse_not_expected))) return NULL; return gen_split_18 (insn, operands); default: return NULL; } case UDIV: switch (pattern131 (x1, UMOD)) { case 0: if (! #line 2960 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (cse_not_expected)) return NULL; return gen_split_21 (insn, operands); case 1: if (!( #line 2960 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (cse_not_expected) && #line 787 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_64BIT))) return NULL; return gen_split_22 (insn, operands); default: return NULL; } case CALL: x6 = XEXP (x5, 0); if (GET_CODE (x6) != MEM || GET_MODE (x6) != SImode) return NULL; x12 = XEXP (x2, 0); if (GET_CODE (x12) != REG || REGNO (x12) != 31 || GET_MODE (x12) != SImode) return NULL; switch (pattern220 (x1)) { case 0: if (! #line 7046 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && TARGET_SPLIT_CALLS)) return NULL; return gen_split_95 (insn, operands); case 1: if (! #line 7082 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && TARGET_SPLIT_CALLS)) return NULL; return gen_split_96 (insn, operands); default: return NULL; } default: return NULL; } case CALL: x4 = XEXP (x3, 0); if (GET_CODE (x4) != MEM || GET_MODE (x4) != SImode) return NULL; x10 = XVECEXP (x1, 0, 1); if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]) return NULL; x12 = XEXP (x2, 0); if (GET_CODE (x12) != REG || REGNO (x12) != 31 || GET_MODE (x12) != SImode) return NULL; x15 = XEXP (x4, 0); operands[0] = x15; if (!const_call_insn_operand (operands[0], VOIDmode)) return NULL; x5 = XEXP (x3, 1); operands[1] = x5; if (! #line 6970 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && TARGET_SPLIT_CALLS)) return NULL; return gen_split_93 (insn, operands); default: return NULL; } case 2: x3 = XVECEXP (x1, 0, 0); switch (GET_CODE (x3)) { case SET: x4 = XEXP (x3, 0); operands[0] = x4; res = split_6 (x1, insn); if (res != NULL_RTX) return res; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != CLOBBER) return NULL; x5 = XEXP (x3, 1); switch (GET_CODE (x5)) { case UNSPEC_VOLATILE: if (XVECLEN (x5, 0) != 1 || XINT (x5, 1) != 22) return NULL; x16 = XVECEXP (x5, 0, 0); if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0] || GET_CODE (x4) != REG || REGNO (x4) != 28) return NULL; switch (pattern207 (x1)) { case 0: if (!(( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 6718 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( epilogue_completed))) return NULL; return gen_split_88 (insn, operands); case 1: if (!(( #line 6716 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_CALL_CLOBBERED_GP) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 6718 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( epilogue_completed))) return NULL; return gen_split_89 (insn, operands); default: return NULL; } case CALL: x6 = XEXP (x5, 0); if (GET_CODE (x6) != MEM || GET_MODE (x6) != SImode) return NULL; x11 = XEXP (x10, 0); if (GET_CODE (x11) != REG || REGNO (x11) != 31 || GET_MODE (x11) != SImode) return NULL; operands[0] = x4; if (!register_operand (operands[0], VOIDmode)) return NULL; x7 = XEXP (x6, 0); operands[1] = x7; if (!call_insn_operand (operands[1], VOIDmode)) return NULL; x9 = XEXP (x5, 1); operands[2] = x9; if (! #line 7013 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && TARGET_SPLIT_CALLS)) return NULL; return gen_split_94 (insn, operands); default: return NULL; } case UNSPEC: if (XVECLEN (x3, 0) != 1 || XINT (x3, 1) != 23) return NULL; x10 = XVECEXP (x1, 0, 1); if (GET_CODE (x10) != CLOBBER) return NULL; x17 = XVECEXP (x3, 0, 0); operands[0] = x17; if (!register_operand (operands[0], VOIDmode)) return NULL; x11 = XEXP (x10, 0); operands[1] = x11; if (!scratch_operand (operands[1], VOIDmode) || ! #line 6679 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed)) return NULL; return gen_split_87 (insn, operands); case CALL: x4 = XEXP (x3, 0); if (GET_CODE (x4) != MEM || GET_MODE (x4) != SImode) return NULL; x10 = XVECEXP (x1, 0, 1); if (pattern26 (x10, CLOBBER) != 0) return NULL; x15 = XEXP (x4, 0); operands[0] = x15; if (!call_insn_operand (operands[0], VOIDmode)) return NULL; x5 = XEXP (x3, 1); operands[1] = x5; if (! #line 6938 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed && TARGET_SPLIT_CALLS)) return NULL; return gen_split_92 (insn, operands); default: return NULL; } default: return NULL; } } rtx_insn * split_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; rtx_insn *res ATTRIBUTE_UNUSED; recog_data.insn = NULL; switch (GET_CODE (x1)) { case SET: res = split_3 (x1, insn); if (res != NULL_RTX) return res; break; case PARALLEL: res = split_7 (x1, insn); if (res != NULL_RTX) return res; break; default: break; } operands[0] = x1; if (small_data_pattern (operands[0], VOIDmode) && #line 7388 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (reload_completed)) return gen_split_97 (insn, operands); switch (GET_CODE (x1)) { case PARALLEL: switch (XVECLEN (x1, 0)) { case 2: x2 = XVECEXP (x1, 0, 0); if (pattern20 (x2, 30, 1) != 0 || pattern132 (x1) != 0) return NULL; x3 = XEXP (x2, 0); operands[0] = x3; switch (pattern215 (x1)) { case 0: if (!(( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 7432 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_98 (insn, operands); case 1: if (!(( #line 7430 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && !TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 7432 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_99 (insn, operands); default: return NULL; } case 4: x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != SET) return NULL; x4 = XEXP (x2, 1); if (GET_CODE (x4) != UNSPEC) return NULL; switch (pattern95 (x1)) { case 0: if (!(( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == SImode)) && #line 7477 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_100 (insn, operands); case 1: if (!(( #line 7475 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (HAVE_AS_TLS && TARGET_MIPS16) && #line 807 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (Pmode == DImode)) && #line 7477 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" ( reload_completed))) return NULL; return gen_split_101 (insn, operands); default: return NULL; } default: return NULL; } case SET: x5 = XEXP (x1, 0); operands[0] = x5; x6 = XEXP (x1, 1); switch (GET_CODE (x6)) { case UNSPEC: if (XVECLEN (x6, 0) != 5) return NULL; switch (pattern76 (x6)) { case 0: if (!( #line 470 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT) && #line 472 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" ( reload_completed))) return NULL; return gen_split_102 (insn, operands); case 1: if (!( #line 499 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" (TARGET_HARD_FLOAT && TARGET_MIPS3D) && #line 501 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-ps-3d.md" ( reload_completed))) return NULL; return gen_split_103 (insn, operands); default: return NULL; } case VEC_SELECT: x7 = XEXP (x6, 1); if (GET_CODE (x7) != PARALLEL || XVECLEN (x7, 0) != 1) return NULL; x8 = XVECEXP (x7, 0, 0); if (GET_CODE (x8) != CONST_INT) return NULL; x9 = XEXP (x6, 0); operands[1] = x9; if (XWINT (x8, 0) == 0L) { switch (GET_MODE (operands[0])) { case DFmode: if (register_operand (operands[0], DFmode) && GET_MODE (x6) == DFmode && register_operand (operands[1], V2DFmode) && ( #line 365 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA) && #line 367 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" ( reload_completed))) return gen_split_104 (insn, operands); break; case SFmode: if (register_operand (operands[0], SFmode) && GET_MODE (x6) == SFmode && register_operand (operands[1], V4SFmode) && ( #line 365 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (ISA_HAS_MSA) && #line 367 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" ( reload_completed))) return gen_split_105 (insn, operands); break; default: break; } } operands[2] = x8; if (!const_0_or_1_operand (operands[2], VOIDmode)) return NULL; switch (GET_MODE (operands[0])) { case DImode: if (!register_operand (operands[0], DImode) || GET_MODE (x6) != DImode || !register_operand (operands[1], V2DImode) || ! #line 551 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_108 (insn, operands); case DFmode: if (!register_operand (operands[0], DFmode) || GET_MODE (x6) != DFmode || !register_operand (operands[1], V2DFmode) || ! #line 551 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_109 (insn, operands); default: return NULL; } case VEC_MERGE: x9 = XEXP (x6, 0); if (GET_CODE (x9) != VEC_DUPLICATE) return NULL; x10 = XEXP (x9, 0); operands[1] = x10; x7 = XEXP (x6, 1); operands[2] = x7; x11 = XEXP (x6, 2); operands[3] = x11; if (!const_exp_2_operand (operands[3], VOIDmode)) return NULL; switch (GET_MODE (operands[0])) { case V2DImode: if (pattern183 (x6, DImode, V2DImode) != 0 || !register_operand (operands[2], V2DImode) || ! #line 462 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_106 (insn, operands); case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x6) != V2DFmode || GET_MODE (x9) != V2DFmode || !register_operand (operands[1], DFmode) || !register_operand (operands[2], V2DFmode) || ! #line 462 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_107 (insn, operands); default: return NULL; } case CONST_INT: case CONST_WIDE_INT: case CONST_FIXED: case CONST_DOUBLE: case CONST_VECTOR: case CONST: case REG: case SUBREG: case MEM: case LABEL_REF: case SYMBOL_REF: case HIGH: operands[1] = x6; switch (GET_MODE (operands[0])) { case V2DFmode: if (!nonimmediate_operand (operands[0], V2DFmode) || !move_operand (operands[1], V2DFmode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_110 (insn, operands); case V4SFmode: if (!nonimmediate_operand (operands[0], V4SFmode) || !move_operand (operands[1], V4SFmode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_111 (insn, operands); case V2DImode: if (!nonimmediate_operand (operands[0], V2DImode) || !move_operand (operands[1], V2DImode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_112 (insn, operands); case V4SImode: if (!nonimmediate_operand (operands[0], V4SImode) || !move_operand (operands[1], V4SImode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_113 (insn, operands); case V8HImode: if (!nonimmediate_operand (operands[0], V8HImode) || !move_operand (operands[1], V8HImode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_114 (insn, operands); case V16QImode: if (!nonimmediate_operand (operands[0], V16QImode) || !move_operand (operands[1], V16QImode) || ! #line 651 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && mips_split_move_insn_p (operands[0], operands[1], insn))) return NULL; return gen_split_115 (insn, operands); default: return NULL; } case VEC_DUPLICATE: x9 = XEXP (x6, 0); operands[1] = x9; switch (GET_MODE (operands[0])) { case V2DImode: if (!register_operand (operands[0], V2DImode) || GET_MODE (x6) != V2DImode || !register_operand (operands[1], DImode) || ! #line 1677 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_116 (insn, operands); case V2DFmode: if (!register_operand (operands[0], V2DFmode) || GET_MODE (x6) != V2DFmode || !register_operand (operands[1], DFmode) || ! #line 1677 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips-msa.md" (reload_completed && ISA_HAS_MSA && !TARGET_64BIT)) return NULL; return gen_split_117 (insn, operands); default: return NULL; } default: return NULL; } default: return NULL; } } static rtx_insn * peephole2_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pmatch_len_ ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[2] = x2; if (!d_operand (operands[2], SImode)) return NULL; x3 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x3) != PARALLEL || XVECLEN (x3, 0) != 2) return NULL; x4 = XVECEXP (x3, 0, 0); if (GET_CODE (x4) != SET) return NULL; x5 = XVECEXP (x3, 0, 1); if (GET_CODE (x5) != CLOBBER) return NULL; x6 = XEXP (x4, 1); if (!macc_msac_operand (x6, SImode)) return NULL; x7 = XEXP (x5, 0); switch (GET_CODE (x7)) { case REG: if (!rtx_equal_p (x7, operands[1])) return NULL; x8 = XEXP (x4, 0); operands[3] = x8; if (!d_operand (operands[3], SImode)) return NULL; operands[4] = x6; if (! #line 1950 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MUL3 && peep2_reg_dead_p (2, operands[1]))) return NULL; *pmatch_len_ = 1; return gen_peephole2_4 (insn, operands); case SCRATCH: if (peep2_current_count < 3 || GET_MODE (x7) != SImode) return NULL; operands[3] = x6; x8 = XEXP (x4, 0); if (!rtx_equal_p (x8, operands[1])) return NULL; x9 = PATTERN (peep2_next_insn (2)); if (GET_CODE (x9) != SET) return NULL; x10 = XEXP (x9, 0); operands[4] = x10; if (!d_operand (operands[4], SImode)) return NULL; x11 = XEXP (x9, 1); if (!rtx_equal_p (x11, operands[1]) || ! #line 1983 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MUL3 && peep2_reg_dead_p (3, operands[1]))) return NULL; *pmatch_len_ = 2; return gen_peephole2_5 (insn, operands); default: return NULL; } } static rtx_insn * peephole2_2 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pmatch_len_ ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6; rtx_insn *res ATTRIBUTE_UNUSED; x2 = XEXP (x1, 1); operands[1] = x2; x3 = XEXP (x1, 0); operands[0] = x3; x4 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x4) != SET) return NULL; x5 = XEXP (x4, 0); operands[2] = x5; x6 = XEXP (x4, 1); operands[3] = x6; switch (GET_MODE (operands[0])) { case HImode: if (pattern209 (HImode) != 0 || ! #line 7610 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, HImode, true))) return NULL; *pmatch_len_ = 1; return gen_peephole2_7 (insn, operands); case SImode: if (!non_volatile_mem_operand (operands[1], SImode) || !non_volatile_mem_operand (operands[3], SImode)) return NULL; if (register_operand (operands[0], SImode) && register_operand (operands[2], SImode) && #line 7610 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, SImode, true))) { *pmatch_len_ = 1; res = gen_peephole2_8 (insn, operands); if (res != NULL_RTX) return res; } if (!d_operand (operands[0], SImode) || !d_operand (operands[2], SImode) || ! #line 48 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_load_store_pair_p (true, operands))) return NULL; *pmatch_len_ = 1; return gen_peephole2_17 (insn, operands); case SFmode: if (pattern209 (SFmode) != 0 || !( #line 7610 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, SFmode, true)) && #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) return NULL; *pmatch_len_ = 1; return gen_peephole2_9 (insn, operands); case DFmode: if (pattern209 (DFmode) != 0 || !( #line 7610 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, DFmode, true)) && #line 798 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return NULL; *pmatch_len_ = 1; return gen_peephole2_10 (insn, operands); default: return NULL; } } rtx_insn * peephole2_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, int *pmatch_len_ ATTRIBUTE_UNUSED) { rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0]; rtx x2, x3, x4, x5, x6, x7, x8, x9; rtx x10, x11, x12, x13, x14, x15; rtx_insn *res ATTRIBUTE_UNUSED; recog_data.insn = NULL; switch (GET_CODE (x1)) { case PARALLEL: if (peep2_current_count < 2 || XVECLEN (x1, 0) != 2) return NULL; x2 = XVECEXP (x1, 0, 0); if (GET_CODE (x2) != SET) return NULL; x3 = XVECEXP (x1, 0, 1); if (GET_CODE (x3) != CLOBBER) return NULL; x4 = XEXP (x3, 0); if (GET_CODE (x4) != SCRATCH || GET_MODE (x4) != SImode) return NULL; x5 = XEXP (x2, 0); operands[0] = x5; if (!lo_operand (operands[0], SImode)) return NULL; x6 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x6) != SET) return NULL; x7 = XEXP (x6, 0); if (!d_operand (x7, SImode)) return NULL; x8 = XEXP (x6, 1); if (!rtx_equal_p (x8, operands[0])) return NULL; x9 = XEXP (x2, 1); switch (GET_CODE (x9)) { case MULT: if (GET_MODE (x9) != SImode) return NULL; x10 = XEXP (x9, 0); operands[1] = x10; if (!d_operand (operands[1], SImode)) return NULL; x11 = XEXP (x9, 1); operands[2] = x11; if (!d_operand (operands[2], SImode)) return NULL; operands[3] = x7; if (! #line 1663 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MUL3 && peep2_reg_dead_p (2, operands[0]))) return NULL; *pmatch_len_ = 1; return gen_peephole2_1 (insn, operands); case PLUS: case MINUS: operands[1] = x9; if (!macc_msac_operand (operands[1], SImode)) return NULL; operands[2] = x7; *pmatch_len_ = 1; return gen_peephole2_3 (insn, operands); default: return NULL; } case SET: x12 = XEXP (x1, 1); switch (GET_CODE (x12)) { case MULT: if (peep2_current_count < 2 || GET_MODE (x12) != SImode) return NULL; x13 = XEXP (x1, 0); operands[0] = x13; if (!lo_operand (operands[0], SImode)) return NULL; x14 = XEXP (x12, 0); operands[1] = x14; if (!d_operand (operands[1], SImode)) return NULL; x15 = XEXP (x12, 1); operands[2] = x15; if (!d_operand (operands[2], SImode)) return NULL; x6 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x6) != SET) return NULL; x7 = XEXP (x6, 0); operands[3] = x7; if (!d_operand (operands[3], SImode)) return NULL; x8 = XEXP (x6, 1); if (!rtx_equal_p (x8, operands[0]) || ! #line 1704 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ISA_HAS_MACC && !ISA_HAS_MUL3)) return NULL; *pmatch_len_ = 1; return gen_peephole2_2 (insn, operands); case HIGH: if (GET_MODE (x12) != DImode) return NULL; x13 = XEXP (x1, 0); operands[1] = x13; if (!d_operand (operands[1], DImode)) return NULL; x14 = XEXP (x12, 0); operands[2] = x14; if (!absolute_symbolic_operand (operands[2], DImode) || ! #line 4423 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_EXPLICIT_RELOCS && ABI_HAS_64BIT_SYMBOLS)) return NULL; *pmatch_len_ = 0; return gen_peephole2_6 (insn, operands); case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: case SUBREG: case MEM: if (peep2_current_count < 2) return NULL; switch (GET_CODE (x12)) { case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case REG: x13 = XEXP (x1, 0); switch (GET_MODE (x13)) { case SImode: operands[1] = x13; if (lo_operand (operands[1], SImode)) { res = peephole2_1 (x1, insn, pmatch_len_); if (res != NULL_RTX) return res; } operands[0] = x13; if (pattern133 (x12, SFmode, SImode) == 0 && #line 116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) { *pmatch_len_ = 1; res = gen_peephole2_20 (insn, operands); if (res != NULL_RTX) return res; } break; case SFmode: operands[0] = x13; if (pattern133 (x12, SImode, SFmode) == 0 && #line 116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) { *pmatch_len_ = 1; res = gen_peephole2_21 (insn, operands); if (res != NULL_RTX) return res; } break; default: break; } break; case SUBREG: case MEM: res = peephole2_2 (x1, insn, pmatch_len_); if (res != NULL_RTX) return res; break; default: break; } operands[1] = x12; x13 = XEXP (x1, 0); operands[0] = x13; x6 = PATTERN (peep2_next_insn (1)); if (GET_CODE (x6) != SET) return NULL; x7 = XEXP (x6, 0); operands[2] = x7; x8 = XEXP (x6, 1); operands[3] = x8; switch (GET_MODE (operands[0])) { case HImode: if (pattern199 (HImode) != 0 || ! #line 7625 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, HImode, false))) return NULL; *pmatch_len_ = 1; return gen_peephole2_11 (insn, operands); case SImode: if (memory_operand (operands[0], SImode) && register_operand (operands[1], SImode) && memory_operand (operands[2], SImode) && register_operand (operands[3], SImode) && #line 7625 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, SImode, false))) { *pmatch_len_ = 1; res = gen_peephole2_12 (insn, operands); if (res != NULL_RTX) return res; } if (non_volatile_mem_operand (operands[0], SImode) && d_operand (operands[1], SImode) && non_volatile_mem_operand (operands[2], SImode) && d_operand (operands[3], SImode) && #line 76 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_load_store_pair_p (false, operands))) { *pmatch_len_ = 1; res = gen_peephole2_18 (insn, operands); if (res != NULL_RTX) return res; } if (!register_operand (operands[0], SImode) || !movep_src_operand (operands[1], SImode) || !register_operand (operands[2], SImode) || !movep_src_operand (operands[3], SImode) || ! #line 116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return NULL; *pmatch_len_ = 1; return gen_peephole2_19 (insn, operands); case SFmode: if (memory_operand (operands[0], SFmode) && register_operand (operands[1], SFmode) && memory_operand (operands[2], SFmode) && register_operand (operands[3], SFmode) && ( #line 7625 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, SFmode, false)) && #line 797 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT))) { *pmatch_len_ = 1; res = gen_peephole2_13 (insn, operands); if (res != NULL_RTX) return res; } if (!register_operand (operands[0], SFmode) || !movep_src_operand (operands[1], SFmode) || !register_operand (operands[2], SFmode) || !movep_src_operand (operands[3], SFmode) || ! #line 116 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/micromips.md" (TARGET_MICROMIPS && umips_movep_target_p (operands[0], operands[2]))) return NULL; *pmatch_len_ = 1; return gen_peephole2_22 (insn, operands); case DFmode: if (pattern199 (DFmode) != 0 || !( #line 7625 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, DFmode, false)) && #line 798 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))) return NULL; *pmatch_len_ = 1; return gen_peephole2_14 (insn, operands); default: return NULL; } case SIGN_EXTEND: if (pattern21 (x1, SIGN_EXTEND) != 0 || ! #line 7667 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, HImode, true))) return NULL; *pmatch_len_ = 1; return gen_peephole2_15 (insn, operands); case ZERO_EXTEND: if (pattern21 (x1, ZERO_EXTEND) != 0 || ! #line 7667 "/home/user/librerouteros-Cpe210v3/build_dir/toolchain-mips_24kc_gcc-7.5.0_musl/gcc-7.5.0/gcc/config/mips/mips.md" (ENABLE_LD_ST_PAIRS && mips_load_store_bonding_p (operands, HImode, true))) return NULL; *pmatch_len_ = 1; return gen_peephole2_16 (insn, operands); default: return NULL; } default: return NULL; } }