• Main Page
  • Modules
  • Data Types
  • Files

osprey/kg++fe/gnu/MIPS/insn-recog.c

Go to the documentation of this file.
00001 /* Generated automatically by the program `genrecog' from the target
00002    machine description file.  */
00003 
00004 #include "config.h"
00005 #include "system.h"
00006 #include "rtl.h"
00007 #include "tm_p.h"
00008 #include "function.h"
00009 #include "insn-config.h"
00010 #include "recog.h"
00011 #include "real.h"
00012 #include "output.h"
00013 #include "flags.h"
00014 #include "hard-reg-set.h"
00015 #include "resource.h"
00016 #include "toplev.h"
00017 #include "reload.h"
00018 
00019 
00020 
00021 /* `recog' contains a decision tree that recognizes whether the rtx
00022    X0 is a valid instruction.
00023 
00024    recog returns -1 if the rtx is not valid.  If the rtx is valid, recog
00025    returns a nonnegative number which is the insn code number for the
00026    pattern that matched.  This is the same as the order in the machine
00027    description of the entry that matched.  This number can be used as an
00028    index into `insn_data' and other tables.
00029 
00030    The third argument to recog is an optional pointer to an int.  If
00031    present, recog will accept a pattern if it matches except for missing
00032    CLOBBER expressions at the end.  In that case, the value pointed to by
00033    the optional pointer will be set to the number of CLOBBERs that need
00034    to be added (it should be initialized to zero by the caller).  If it
00035    is set nonzero, the caller should allocate a PARALLEL of the
00036    appropriate size, copy the initial entries, and call add_clobbers
00037    (found in insn-emit.c) to fill in the CLOBBERs.
00038 
00039 
00040    The function split_insns returns 0 if the rtl could not
00041    be split or the split rtl as an INSN list if it can be.
00042 
00043    The function peephole2_insns returns 0 if the rtl could not
00044    be matched. If there was a match, the new rtl is returned in an INSN list,
00045    and LAST_INSN will point to the last recognized insn in the old sequence.
00046 */
00047 
00048 
00049 extern rtx gen_split_344 PARAMS ((rtx *));
00050 extern rtx gen_split_345 PARAMS ((rtx *));
00051 extern rtx gen_split_347 PARAMS ((rtx *));
00052 extern rtx gen_split_348 PARAMS ((rtx *));
00053 extern rtx gen_split_349 PARAMS ((rtx *));
00054 extern rtx gen_split_350 PARAMS ((rtx *));
00055 extern rtx gen_split_351 PARAMS ((rtx *));
00056 extern rtx gen_split_352 PARAMS ((rtx *));
00057 extern rtx gen_split_354 PARAMS ((rtx *));
00058 extern rtx gen_split_355 PARAMS ((rtx *));
00059 extern rtx gen_split_357 PARAMS ((rtx *));
00060 extern rtx gen_split_358 PARAMS ((rtx *));
00061 extern rtx gen_split_359 PARAMS ((rtx *));
00062 extern rtx gen_split_360 PARAMS ((rtx *));
00063 extern rtx gen_split_361 PARAMS ((rtx *));
00064 extern rtx gen_split_362 PARAMS ((rtx *));
00065 extern rtx gen_split_366 PARAMS ((rtx *));
00066 extern rtx gen_split_367 PARAMS ((rtx *));
00067 extern rtx gen_split_368 PARAMS ((rtx *));
00068 extern rtx gen_split_369 PARAMS ((rtx *));
00069 extern rtx gen_split_370 PARAMS ((rtx *));
00070 extern rtx gen_split_390 PARAMS ((rtx *));
00071 extern rtx gen_split_393 PARAMS ((rtx *));
00072 extern rtx gen_split_396 PARAMS ((rtx *));
00073 extern rtx gen_split_399 PARAMS ((rtx *));
00074 extern rtx gen_split_400 PARAMS ((rtx *));
00075 extern rtx gen_split_423 PARAMS ((rtx *));
00076 extern rtx gen_split_424 PARAMS ((rtx *));
00077 extern rtx gen_split_427 PARAMS ((rtx *));
00078 extern rtx gen_split_429 PARAMS ((rtx *));
00079 extern rtx gen_split_430 PARAMS ((rtx *));
00080 extern rtx gen_split_431 PARAMS ((rtx *));
00081 extern rtx gen_split_437 PARAMS ((rtx *));
00082 extern rtx gen_split_439 PARAMS ((rtx *));
00083 extern rtx gen_split_442 PARAMS ((rtx *));
00084 extern rtx gen_split_445 PARAMS ((rtx *));
00085 extern rtx gen_split_447 PARAMS ((rtx *));
00086 extern rtx gen_split_448 PARAMS ((rtx *));
00087 extern rtx gen_split_449 PARAMS ((rtx *));
00088 extern rtx gen_split_450 PARAMS ((rtx *));
00089 extern rtx gen_split_451 PARAMS ((rtx *));
00090 extern rtx gen_split_453 PARAMS ((rtx *));
00091 extern rtx gen_split_455 PARAMS ((rtx *));
00092 extern rtx gen_split_456 PARAMS ((rtx *));
00093 extern rtx gen_split_457 PARAMS ((rtx *));
00094 extern rtx gen_split_458 PARAMS ((rtx *));
00095 extern rtx gen_split_459 PARAMS ((rtx *));
00096 extern rtx gen_split_461 PARAMS ((rtx *));
00097 extern rtx gen_split_462 PARAMS ((rtx *));
00098 extern rtx gen_split_464 PARAMS ((rtx *));
00099 extern rtx gen_split_465 PARAMS ((rtx *));
00100 extern rtx gen_split_466 PARAMS ((rtx *));
00101 extern rtx gen_split_467 PARAMS ((rtx *));
00102 extern rtx gen_split_468 PARAMS ((rtx *));
00103 extern rtx gen_split_517 PARAMS ((rtx *));
00104 
00105 
00106 
00107 static int recog_1 PARAMS ((rtx, rtx, int *));
00108 static int
00109 recog_1 (x0, insn, pnum_clobbers)
00110      rtx x0 ATTRIBUTE_UNUSED;
00111      rtx insn ATTRIBUTE_UNUSED;
00112      int *pnum_clobbers ATTRIBUTE_UNUSED;
00113 {
00114   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
00115   rtx x1 ATTRIBUTE_UNUSED;
00116   rtx x2 ATTRIBUTE_UNUSED;
00117   rtx x3 ATTRIBUTE_UNUSED;
00118   rtx x4 ATTRIBUTE_UNUSED;
00119   rtx x5 ATTRIBUTE_UNUSED;
00120   rtx x6 ATTRIBUTE_UNUSED;
00121   rtx x7 ATTRIBUTE_UNUSED;
00122   int tem ATTRIBUTE_UNUSED;
00123 
00124   x1 = XEXP (x0, 0);
00125   if (GET_CODE (x1) == MEM)
00126     goto L1584;
00127   if (register_operand (x1, DFmode))
00128     {
00129       operands[0] = x1;
00130       goto L10;
00131     }
00132  L3285: ATTRIBUTE_UNUSED_LABEL
00133   if (nonimmediate_operand (x1, DFmode))
00134     {
00135       operands[0] = x1;
00136       goto L1626;
00137     }
00138   goto ret0;
00139 
00140  L1584: ATTRIBUTE_UNUSED_LABEL
00141   x2 = XEXP (x1, 0);
00142   switch (GET_MODE (x2))
00143     {
00144     case SImode:
00145       goto L3290;
00146     case DImode:
00147       goto L3291;
00148     default:
00149       break;
00150     }
00151   goto L3285;
00152 
00153  L3290: ATTRIBUTE_UNUSED_LABEL
00154   if (GET_CODE (x2) == PLUS)
00155     goto L1585;
00156   goto L3285;
00157 
00158  L1585: ATTRIBUTE_UNUSED_LABEL
00159   x3 = XEXP (x2, 0);
00160   if (register_operand (x3, SImode))
00161     {
00162       operands[1] = x3;
00163       goto L1586;
00164     }
00165   goto L3285;
00166 
00167  L1586: ATTRIBUTE_UNUSED_LABEL
00168   x3 = XEXP (x2, 1);
00169   if (register_operand (x3, SImode))
00170     {
00171       operands[2] = x3;
00172       goto L1587;
00173     }
00174   goto L3285;
00175 
00176  L1587: ATTRIBUTE_UNUSED_LABEL
00177   x1 = XEXP (x0, 1);
00178   if (register_operand (x1, DFmode))
00179     {
00180       operands[0] = x1;
00181       goto L1588;
00182     }
00183   x1 = XEXP (x0, 0);
00184   goto L3285;
00185 
00186  L1588: ATTRIBUTE_UNUSED_LABEL
00187   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00188     {
00189       return 176;
00190     }
00191   x1 = XEXP (x0, 0);
00192   goto L3285;
00193 
00194  L3291: ATTRIBUTE_UNUSED_LABEL
00195   if (GET_CODE (x2) == PLUS)
00196     goto L1592;
00197   goto L3285;
00198 
00199  L1592: ATTRIBUTE_UNUSED_LABEL
00200   x3 = XEXP (x2, 0);
00201   if (se_register_operand (x3, DImode))
00202     {
00203       operands[1] = x3;
00204       goto L1593;
00205     }
00206   goto L3285;
00207 
00208  L1593: ATTRIBUTE_UNUSED_LABEL
00209   x3 = XEXP (x2, 1);
00210   if (se_register_operand (x3, DImode))
00211     {
00212       operands[2] = x3;
00213       goto L1594;
00214     }
00215   goto L3285;
00216 
00217  L1594: ATTRIBUTE_UNUSED_LABEL
00218   x1 = XEXP (x0, 1);
00219   if (register_operand (x1, DFmode))
00220     {
00221       operands[0] = x1;
00222       goto L1595;
00223     }
00224   x1 = XEXP (x0, 0);
00225   goto L3285;
00226 
00227  L1595: ATTRIBUTE_UNUSED_LABEL
00228   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00229     {
00230       return 177;
00231     }
00232   x1 = XEXP (x0, 0);
00233   goto L3285;
00234 
00235  L10: ATTRIBUTE_UNUSED_LABEL
00236   x1 = XEXP (x0, 1);
00237   if (GET_MODE (x1) == DFmode)
00238     goto L3292;
00239   x1 = XEXP (x0, 0);
00240   goto L3285;
00241 
00242  L3292: ATTRIBUTE_UNUSED_LABEL
00243   switch (GET_CODE (x1))
00244     {
00245     case PLUS:
00246       goto L11;
00247     case MINUS:
00248       goto L103;
00249     case MULT:
00250       goto L195;
00251     case NEG:
00252       goto L728;
00253     case DIV:
00254       goto L762;
00255     case SQRT:
00256       goto L1042;
00257     case ABS:
00258       goto L1076;
00259     case FLOAT_EXTEND:
00260       goto L1399;
00261     case FLOAT:
00262       goto L1450;
00263     case MEM:
00264       goto L1557;
00265     case IF_THEN_ELSE:
00266       goto L2744;
00267     default:
00268      break;
00269    }
00270   x1 = XEXP (x0, 0);
00271   goto L3285;
00272 
00273  L11: ATTRIBUTE_UNUSED_LABEL
00274   x2 = XEXP (x1, 0);
00275   if (GET_MODE (x2) == DFmode)
00276     goto L3304;
00277   x1 = XEXP (x0, 0);
00278   goto L3285;
00279 
00280  L3304: ATTRIBUTE_UNUSED_LABEL
00281   if (GET_CODE (x2) == MULT)
00282     goto L697;
00283   if (register_operand (x2, DFmode))
00284     {
00285       operands[1] = x2;
00286       goto L12;
00287     }
00288   x1 = XEXP (x0, 0);
00289   goto L3285;
00290 
00291  L697: ATTRIBUTE_UNUSED_LABEL
00292   x3 = XEXP (x2, 0);
00293   if (register_operand (x3, DFmode))
00294     {
00295       operands[1] = x3;
00296       goto L698;
00297     }
00298   x1 = XEXP (x0, 0);
00299   goto L3285;
00300 
00301  L698: ATTRIBUTE_UNUSED_LABEL
00302   x3 = XEXP (x2, 1);
00303   if (register_operand (x3, DFmode))
00304     {
00305       operands[2] = x3;
00306       goto L699;
00307     }
00308   x1 = XEXP (x0, 0);
00309   goto L3285;
00310 
00311  L699: ATTRIBUTE_UNUSED_LABEL
00312   x2 = XEXP (x1, 1);
00313   if (register_operand (x2, DFmode))
00314     {
00315       operands[3] = x2;
00316       goto L700;
00317     }
00318   x1 = XEXP (x0, 0);
00319   goto L3285;
00320 
00321  L700: ATTRIBUTE_UNUSED_LABEL
00322   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FUSED_MADD))
00323     {
00324       return 55;
00325     }
00326   x1 = XEXP (x0, 0);
00327   goto L3285;
00328 
00329  L12: ATTRIBUTE_UNUSED_LABEL
00330   x2 = XEXP (x1, 1);
00331   if (register_operand (x2, DFmode))
00332     {
00333       operands[2] = x2;
00334       goto L13;
00335     }
00336   x1 = XEXP (x0, 0);
00337   goto L3285;
00338 
00339  L13: ATTRIBUTE_UNUSED_LABEL
00340   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00341     {
00342       return 2;
00343     }
00344   x1 = XEXP (x0, 0);
00345   goto L3285;
00346 
00347  L103: ATTRIBUTE_UNUSED_LABEL
00348   x2 = XEXP (x1, 0);
00349   if (GET_MODE (x2) == DFmode)
00350     goto L3306;
00351   x1 = XEXP (x0, 0);
00352   goto L3285;
00353 
00354  L3306: ATTRIBUTE_UNUSED_LABEL
00355   if (GET_CODE (x2) == MULT)
00356     goto L713;
00357   if (register_operand (x2, DFmode))
00358     {
00359       operands[1] = x2;
00360       goto L104;
00361     }
00362   x1 = XEXP (x0, 0);
00363   goto L3285;
00364 
00365  L713: ATTRIBUTE_UNUSED_LABEL
00366   x3 = XEXP (x2, 0);
00367   if (register_operand (x3, DFmode))
00368     {
00369       operands[1] = x3;
00370       goto L714;
00371     }
00372   x1 = XEXP (x0, 0);
00373   goto L3285;
00374 
00375  L714: ATTRIBUTE_UNUSED_LABEL
00376   x3 = XEXP (x2, 1);
00377   if (register_operand (x3, DFmode))
00378     {
00379       operands[2] = x3;
00380       goto L715;
00381     }
00382   x1 = XEXP (x0, 0);
00383   goto L3285;
00384 
00385  L715: ATTRIBUTE_UNUSED_LABEL
00386   x2 = XEXP (x1, 1);
00387   if (register_operand (x2, DFmode))
00388     {
00389       operands[3] = x2;
00390       goto L716;
00391     }
00392   x1 = XEXP (x0, 0);
00393   goto L3285;
00394 
00395  L716: ATTRIBUTE_UNUSED_LABEL
00396   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FUSED_MADD))
00397     {
00398       return 57;
00399     }
00400   x1 = XEXP (x0, 0);
00401   goto L3285;
00402 
00403  L104: ATTRIBUTE_UNUSED_LABEL
00404   x2 = XEXP (x1, 1);
00405   if (GET_MODE (x2) == DFmode)
00406     goto L3308;
00407   x1 = XEXP (x0, 0);
00408   goto L3285;
00409 
00410  L3308: ATTRIBUTE_UNUSED_LABEL
00411   if (GET_CODE (x2) == MULT)
00412     goto L748;
00413   if (register_operand (x2, DFmode))
00414     {
00415       operands[2] = x2;
00416       goto L105;
00417     }
00418   x1 = XEXP (x0, 0);
00419   goto L3285;
00420 
00421  L748: ATTRIBUTE_UNUSED_LABEL
00422   x3 = XEXP (x2, 0);
00423   if (register_operand (x3, DFmode))
00424     {
00425       operands[2] = x3;
00426       goto L749;
00427     }
00428   x1 = XEXP (x0, 0);
00429   goto L3285;
00430 
00431  L749: ATTRIBUTE_UNUSED_LABEL
00432   x3 = XEXP (x2, 1);
00433   if (register_operand (x3, DFmode))
00434     {
00435       operands[3] = x3;
00436       goto L750;
00437     }
00438   x1 = XEXP (x0, 0);
00439   goto L3285;
00440 
00441  L750: ATTRIBUTE_UNUSED_LABEL
00442   if ((ISA_HAS_NMADD_NMSUB && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FUSED_MADD))
00443     {
00444       return 61;
00445     }
00446   x1 = XEXP (x0, 0);
00447   goto L3285;
00448 
00449  L105: ATTRIBUTE_UNUSED_LABEL
00450   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00451     {
00452       return 16;
00453     }
00454   x1 = XEXP (x0, 0);
00455   goto L3285;
00456 
00457  L195: ATTRIBUTE_UNUSED_LABEL
00458   x2 = XEXP (x1, 0);
00459   if (register_operand (x2, DFmode))
00460     {
00461       operands[1] = x2;
00462       goto L196;
00463     }
00464   x1 = XEXP (x0, 0);
00465   goto L3285;
00466 
00467  L196: ATTRIBUTE_UNUSED_LABEL
00468   x2 = XEXP (x1, 1);
00469   if (register_operand (x2, DFmode))
00470     {
00471       operands[2] = x2;
00472       goto L197;
00473     }
00474   x1 = XEXP (x0, 0);
00475   goto L3285;
00476 
00477  L197: ATTRIBUTE_UNUSED_LABEL
00478   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !TARGET_MIPS4300))
00479     {
00480       return 30;
00481     }
00482  L203: ATTRIBUTE_UNUSED_LABEL
00483   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_MIPS4300))
00484     {
00485       return 31;
00486     }
00487   x1 = XEXP (x0, 0);
00488   goto L3285;
00489 
00490  L728: ATTRIBUTE_UNUSED_LABEL
00491   x2 = XEXP (x1, 0);
00492   if (GET_MODE (x2) == DFmode)
00493     goto L3309;
00494   x1 = XEXP (x0, 0);
00495   goto L3285;
00496 
00497  L3309: ATTRIBUTE_UNUSED_LABEL
00498   if (GET_CODE (x2) == PLUS)
00499     goto L729;
00500   if (register_operand (x2, DFmode))
00501     {
00502       operands[1] = x2;
00503       goto L1134;
00504     }
00505   x1 = XEXP (x0, 0);
00506   goto L3285;
00507 
00508  L729: ATTRIBUTE_UNUSED_LABEL
00509   x3 = XEXP (x2, 0);
00510   if (GET_MODE (x3) == DFmode
00511       && GET_CODE (x3) == MULT)
00512     goto L730;
00513   x1 = XEXP (x0, 0);
00514   goto L3285;
00515 
00516  L730: ATTRIBUTE_UNUSED_LABEL
00517   x4 = XEXP (x3, 0);
00518   if (register_operand (x4, DFmode))
00519     {
00520       operands[1] = x4;
00521       goto L731;
00522     }
00523   x1 = XEXP (x0, 0);
00524   goto L3285;
00525 
00526  L731: ATTRIBUTE_UNUSED_LABEL
00527   x4 = XEXP (x3, 1);
00528   if (register_operand (x4, DFmode))
00529     {
00530       operands[2] = x4;
00531       goto L732;
00532     }
00533   x1 = XEXP (x0, 0);
00534   goto L3285;
00535 
00536  L732: ATTRIBUTE_UNUSED_LABEL
00537   x3 = XEXP (x2, 1);
00538   if (register_operand (x3, DFmode))
00539     {
00540       operands[3] = x3;
00541       goto L733;
00542     }
00543   x1 = XEXP (x0, 0);
00544   goto L3285;
00545 
00546  L733: ATTRIBUTE_UNUSED_LABEL
00547   if ((ISA_HAS_NMADD_NMSUB && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FUSED_MADD))
00548     {
00549       return 59;
00550     }
00551   x1 = XEXP (x0, 0);
00552   goto L3285;
00553 
00554  L1134: ATTRIBUTE_UNUSED_LABEL
00555   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00556     {
00557       return 94;
00558     }
00559   x1 = XEXP (x0, 0);
00560   goto L3285;
00561 
00562  L762: ATTRIBUTE_UNUSED_LABEL
00563   x2 = XEXP (x1, 0);
00564   if (GET_MODE (x2) == DFmode)
00565     goto L3312;
00566   x1 = XEXP (x0, 0);
00567   goto L3285;
00568 
00569  L3312: ATTRIBUTE_UNUSED_LABEL
00570   if (const_float_1_operand (x2, DFmode))
00571     {
00572       operands[1] = x2;
00573       goto L775;
00574     }
00575   if (register_operand (x2, DFmode))
00576     {
00577       operands[1] = x2;
00578       goto L763;
00579     }
00580   x1 = XEXP (x0, 0);
00581   goto L3285;
00582 
00583  L775: ATTRIBUTE_UNUSED_LABEL
00584   x2 = XEXP (x1, 1);
00585   if (GET_MODE (x2) == DFmode)
00586     goto L3314;
00587   x1 = XEXP (x0, 0);
00588   goto L3285;
00589 
00590  L3314: ATTRIBUTE_UNUSED_LABEL
00591   if (GET_CODE (x2) == SQRT)
00592     goto L1054;
00593   if (register_operand (x2, DFmode))
00594     {
00595       operands[2] = x2;
00596       goto L776;
00597     }
00598   x1 = XEXP (x0, 0);
00599   goto L3285;
00600 
00601  L1054: ATTRIBUTE_UNUSED_LABEL
00602   x3 = XEXP (x2, 0);
00603   if (register_operand (x3, DFmode))
00604     {
00605       operands[2] = x3;
00606       goto L1055;
00607     }
00608   x1 = XEXP (x0, 0);
00609   goto L3285;
00610 
00611  L1055: ATTRIBUTE_UNUSED_LABEL
00612   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && flag_unsafe_math_optimizations))
00613     {
00614       return 83;
00615     }
00616   x1 = XEXP (x0, 0);
00617   goto L3285;
00618 
00619  L776: ATTRIBUTE_UNUSED_LABEL
00620   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && flag_unsafe_math_optimizations))
00621     {
00622       return 65;
00623     }
00624   x1 = XEXP (x0, 0);
00625   goto L3285;
00626 
00627  L763: ATTRIBUTE_UNUSED_LABEL
00628   x2 = XEXP (x1, 1);
00629   if (register_operand (x2, DFmode))
00630     {
00631       operands[2] = x2;
00632       goto L764;
00633     }
00634   x1 = XEXP (x0, 0);
00635   goto L3285;
00636 
00637  L764: ATTRIBUTE_UNUSED_LABEL
00638   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00639     {
00640       return 63;
00641     }
00642   x1 = XEXP (x0, 0);
00643   goto L3285;
00644 
00645  L1042: ATTRIBUTE_UNUSED_LABEL
00646   x2 = XEXP (x1, 0);
00647   if (register_operand (x2, DFmode))
00648     {
00649       operands[1] = x2;
00650       goto L1043;
00651     }
00652   x1 = XEXP (x0, 0);
00653   goto L3285;
00654 
00655  L1043: ATTRIBUTE_UNUSED_LABEL
00656   if ((TARGET_HARD_FLOAT && HAVE_SQRT_P() && TARGET_DOUBLE_FLOAT))
00657     {
00658       return 81;
00659     }
00660   x1 = XEXP (x0, 0);
00661   goto L3285;
00662 
00663  L1076: ATTRIBUTE_UNUSED_LABEL
00664   x2 = XEXP (x1, 0);
00665   if (register_operand (x2, DFmode))
00666     {
00667       operands[1] = x2;
00668       goto L1077;
00669     }
00670   x1 = XEXP (x0, 0);
00671   goto L3285;
00672 
00673  L1077: ATTRIBUTE_UNUSED_LABEL
00674   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00675     {
00676       return 87;
00677     }
00678   x1 = XEXP (x0, 0);
00679   goto L3285;
00680 
00681  L1399: ATTRIBUTE_UNUSED_LABEL
00682   x2 = XEXP (x1, 0);
00683   if (register_operand (x2, SFmode))
00684     {
00685       operands[1] = x2;
00686       goto L1400;
00687     }
00688   x1 = XEXP (x0, 0);
00689   goto L3285;
00690 
00691  L1400: ATTRIBUTE_UNUSED_LABEL
00692   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00693     {
00694       return 142;
00695     }
00696   x1 = XEXP (x0, 0);
00697   goto L3285;
00698 
00699  L1450: ATTRIBUTE_UNUSED_LABEL
00700   x2 = XEXP (x1, 0);
00701   switch (GET_MODE (x2))
00702     {
00703     case SImode:
00704       goto L3315;
00705     case DImode:
00706       goto L3316;
00707     default:
00708       break;
00709     }
00710   x1 = XEXP (x0, 0);
00711   goto L3285;
00712 
00713  L3315: ATTRIBUTE_UNUSED_LABEL
00714   if (register_operand (x2, SImode))
00715     {
00716       operands[1] = x2;
00717       goto L1451;
00718     }
00719   x1 = XEXP (x0, 0);
00720   goto L3285;
00721 
00722  L1451: ATTRIBUTE_UNUSED_LABEL
00723   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00724     {
00725       return 149;
00726     }
00727   x1 = XEXP (x0, 0);
00728   goto L3285;
00729 
00730  L3316: ATTRIBUTE_UNUSED_LABEL
00731   if (register_operand (x2, DImode))
00732     {
00733       operands[1] = x2;
00734       goto L1456;
00735     }
00736   x1 = XEXP (x0, 0);
00737   goto L3285;
00738 
00739  L1456: ATTRIBUTE_UNUSED_LABEL
00740   if ((TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT))
00741     {
00742       return 150;
00743     }
00744   x1 = XEXP (x0, 0);
00745   goto L3285;
00746 
00747  L1557: ATTRIBUTE_UNUSED_LABEL
00748   x2 = XEXP (x1, 0);
00749   switch (GET_MODE (x2))
00750     {
00751     case SImode:
00752       goto L3317;
00753     case DImode:
00754       goto L3318;
00755     default:
00756       break;
00757     }
00758   x1 = XEXP (x0, 0);
00759   goto L3285;
00760 
00761  L3317: ATTRIBUTE_UNUSED_LABEL
00762   if (GET_CODE (x2) == PLUS)
00763     goto L1558;
00764   x1 = XEXP (x0, 0);
00765   goto L3285;
00766 
00767  L1558: ATTRIBUTE_UNUSED_LABEL
00768   x3 = XEXP (x2, 0);
00769   if (register_operand (x3, SImode))
00770     {
00771       operands[1] = x3;
00772       goto L1559;
00773     }
00774   x1 = XEXP (x0, 0);
00775   goto L3285;
00776 
00777  L1559: ATTRIBUTE_UNUSED_LABEL
00778   x3 = XEXP (x2, 1);
00779   if (register_operand (x3, SImode))
00780     {
00781       operands[2] = x3;
00782       goto L1560;
00783     }
00784   x1 = XEXP (x0, 0);
00785   goto L3285;
00786 
00787  L1560: ATTRIBUTE_UNUSED_LABEL
00788   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00789     {
00790       return 172;
00791     }
00792   x1 = XEXP (x0, 0);
00793   goto L3285;
00794 
00795  L3318: ATTRIBUTE_UNUSED_LABEL
00796   if (GET_CODE (x2) == PLUS)
00797     goto L1565;
00798   x1 = XEXP (x0, 0);
00799   goto L3285;
00800 
00801  L1565: ATTRIBUTE_UNUSED_LABEL
00802   x3 = XEXP (x2, 0);
00803   if (se_register_operand (x3, DImode))
00804     {
00805       operands[1] = x3;
00806       goto L1566;
00807     }
00808   x1 = XEXP (x0, 0);
00809   goto L3285;
00810 
00811  L1566: ATTRIBUTE_UNUSED_LABEL
00812   x3 = XEXP (x2, 1);
00813   if (se_register_operand (x3, DImode))
00814     {
00815       operands[2] = x3;
00816       goto L1567;
00817     }
00818   x1 = XEXP (x0, 0);
00819   goto L3285;
00820 
00821  L1567: ATTRIBUTE_UNUSED_LABEL
00822   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00823     {
00824       return 173;
00825     }
00826   x1 = XEXP (x0, 0);
00827   goto L3285;
00828 
00829  L2744: ATTRIBUTE_UNUSED_LABEL
00830   x2 = XEXP (x1, 0);
00831   if (equality_op (x2, VOIDmode))
00832     {
00833       operands[4] = x2;
00834       goto L2745;
00835     }
00836  L2762: ATTRIBUTE_UNUSED_LABEL
00837   if (equality_op (x2, VOIDmode))
00838     {
00839       operands[3] = x2;
00840       goto L2763;
00841     }
00842   x1 = XEXP (x0, 0);
00843   goto L3285;
00844 
00845  L2745: ATTRIBUTE_UNUSED_LABEL
00846   x3 = XEXP (x2, 0);
00847   switch (GET_MODE (x3))
00848     {
00849     case SImode:
00850       goto L3319;
00851     case DImode:
00852       goto L3320;
00853     default:
00854       break;
00855     }
00856   goto L2762;
00857 
00858  L3319: ATTRIBUTE_UNUSED_LABEL
00859   if (register_operand (x3, SImode))
00860     {
00861       operands[1] = x3;
00862       goto L2746;
00863     }
00864   goto L2762;
00865 
00866  L2746: ATTRIBUTE_UNUSED_LABEL
00867   x3 = XEXP (x2, 1);
00868   if (GET_CODE (x3) == CONST_INT
00869       && XWINT (x3, 0) == 0LL)
00870     goto L2747;
00871   goto L2762;
00872 
00873  L2747: ATTRIBUTE_UNUSED_LABEL
00874   x2 = XEXP (x1, 1);
00875   if (register_operand (x2, DFmode))
00876     {
00877       operands[2] = x2;
00878       goto L2748;
00879     }
00880   x2 = XEXP (x1, 0);
00881   goto L2762;
00882 
00883  L2748: ATTRIBUTE_UNUSED_LABEL
00884   x2 = XEXP (x1, 2);
00885   if (register_operand (x2, DFmode))
00886     {
00887       operands[3] = x2;
00888       goto L2749;
00889     }
00890   x2 = XEXP (x1, 0);
00891   goto L2762;
00892 
00893  L2749: ATTRIBUTE_UNUSED_LABEL
00894   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00895     {
00896       return 328;
00897     }
00898   x1 = XEXP (x0, 1);
00899   x2 = XEXP (x1, 0);
00900   goto L2762;
00901 
00902  L3320: ATTRIBUTE_UNUSED_LABEL
00903   if (se_register_operand (x3, DImode))
00904     {
00905       operands[1] = x3;
00906       goto L2755;
00907     }
00908   goto L2762;
00909 
00910  L2755: ATTRIBUTE_UNUSED_LABEL
00911   x3 = XEXP (x2, 1);
00912   if (GET_CODE (x3) == CONST_INT
00913       && XWINT (x3, 0) == 0LL)
00914     goto L2756;
00915   goto L2762;
00916 
00917  L2756: ATTRIBUTE_UNUSED_LABEL
00918   x2 = XEXP (x1, 1);
00919   if (register_operand (x2, DFmode))
00920     {
00921       operands[2] = x2;
00922       goto L2757;
00923     }
00924   x2 = XEXP (x1, 0);
00925   goto L2762;
00926 
00927  L2757: ATTRIBUTE_UNUSED_LABEL
00928   x2 = XEXP (x1, 2);
00929   if (register_operand (x2, DFmode))
00930     {
00931       operands[3] = x2;
00932       goto L2758;
00933     }
00934   x2 = XEXP (x1, 0);
00935   goto L2762;
00936 
00937  L2758: ATTRIBUTE_UNUSED_LABEL
00938   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00939     {
00940       return 329;
00941     }
00942   x1 = XEXP (x0, 1);
00943   x2 = XEXP (x1, 0);
00944   goto L2762;
00945 
00946  L2763: ATTRIBUTE_UNUSED_LABEL
00947   x3 = XEXP (x2, 0);
00948   if (register_operand (x3, CCmode))
00949     {
00950       operands[4] = x3;
00951       goto L2764;
00952     }
00953   x1 = XEXP (x0, 0);
00954   goto L3285;
00955 
00956  L2764: ATTRIBUTE_UNUSED_LABEL
00957   x3 = XEXP (x2, 1);
00958   if (GET_CODE (x3) == CONST_INT
00959       && XWINT (x3, 0) == 0LL)
00960     goto L2765;
00961   x1 = XEXP (x0, 0);
00962   goto L3285;
00963 
00964  L2765: ATTRIBUTE_UNUSED_LABEL
00965   x2 = XEXP (x1, 1);
00966   if (register_operand (x2, DFmode))
00967     {
00968       operands[1] = x2;
00969       goto L2766;
00970     }
00971   x1 = XEXP (x0, 0);
00972   goto L3285;
00973 
00974  L2766: ATTRIBUTE_UNUSED_LABEL
00975   x2 = XEXP (x1, 2);
00976   if (register_operand (x2, DFmode))
00977     {
00978       operands[2] = x2;
00979       goto L2767;
00980     }
00981   x1 = XEXP (x0, 0);
00982   goto L3285;
00983 
00984  L2767: ATTRIBUTE_UNUSED_LABEL
00985   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
00986     {
00987       return 330;
00988     }
00989   x1 = XEXP (x0, 0);
00990   goto L3285;
00991 
00992  L1626: ATTRIBUTE_UNUSED_LABEL
00993   x1 = XEXP (x0, 1);
00994   if (general_operand (x1, DFmode))
00995     {
00996       operands[1] = x1;
00997       goto L1627;
00998     }
00999  L1638: ATTRIBUTE_UNUSED_LABEL
01000   if (nonimmediate_operand (x1, DFmode))
01001     {
01002       operands[1] = x1;
01003       goto L1639;
01004     }
01005   goto ret0;
01006 
01007  L1627: ATTRIBUTE_UNUSED_LABEL
01008   if ((TARGET_HARD_FLOAT && !(TARGET_FLOAT64 && !TARGET_64BIT)
01009    && TARGET_DOUBLE_FLOAT
01010    && (register_operand (operands[0], DFmode)
01011        || nonmemory_operand (operands[1], DFmode))))
01012     {
01013       return 185;
01014     }
01015  L1631: ATTRIBUTE_UNUSED_LABEL
01016   if ((TARGET_HARD_FLOAT && (TARGET_FLOAT64 && !TARGET_64BIT)
01017    && TARGET_DOUBLE_FLOAT
01018    && (register_operand (operands[0], DFmode)
01019        || nonmemory_operand (operands[1], DFmode))))
01020     {
01021       return 186;
01022     }
01023  L1635: ATTRIBUTE_UNUSED_LABEL
01024   if (((TARGET_SOFT_FLOAT || TARGET_SINGLE_FLOAT) && !TARGET_MIPS16
01025    && (register_operand (operands[0], DFmode)
01026        || nonmemory_operand (operands[1], DFmode))))
01027     {
01028       return 187;
01029     }
01030   x1 = XEXP (x0, 1);
01031   goto L1638;
01032 
01033  L1639: ATTRIBUTE_UNUSED_LABEL
01034   if ((TARGET_MIPS16
01035    && (register_operand (operands[0], DFmode)
01036        || register_operand (operands[1], DFmode))))
01037     {
01038       return 188;
01039     }
01040   goto ret0;
01041  ret0:
01042   return -1;
01043 }
01044 
01045 static int recog_2 PARAMS ((rtx, rtx, int *));
01046 static int
01047 recog_2 (x0, insn, pnum_clobbers)
01048      rtx x0 ATTRIBUTE_UNUSED;
01049      rtx insn ATTRIBUTE_UNUSED;
01050      int *pnum_clobbers ATTRIBUTE_UNUSED;
01051 {
01052   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
01053   rtx x1 ATTRIBUTE_UNUSED;
01054   rtx x2 ATTRIBUTE_UNUSED;
01055   rtx x3 ATTRIBUTE_UNUSED;
01056   rtx x4 ATTRIBUTE_UNUSED;
01057   rtx x5 ATTRIBUTE_UNUSED;
01058   rtx x6 ATTRIBUTE_UNUSED;
01059   rtx x7 ATTRIBUTE_UNUSED;
01060   int tem ATTRIBUTE_UNUSED;
01061 
01062   x1 = XEXP (x0, 0);
01063   if (GET_CODE (x1) == MEM)
01064     goto L1570;
01065   if (register_operand (x1, SFmode))
01066     {
01067       operands[0] = x1;
01068       goto L16;
01069     }
01070  L3284: ATTRIBUTE_UNUSED_LABEL
01071   if (nonimmediate_operand (x1, SFmode))
01072     {
01073       operands[0] = x1;
01074       goto L1614;
01075     }
01076   goto ret0;
01077 
01078  L1570: ATTRIBUTE_UNUSED_LABEL
01079   x2 = XEXP (x1, 0);
01080   switch (GET_MODE (x2))
01081     {
01082     case SImode:
01083       goto L3321;
01084     case DImode:
01085       goto L3322;
01086     default:
01087       break;
01088     }
01089   goto L3284;
01090 
01091  L3321: ATTRIBUTE_UNUSED_LABEL
01092   if (GET_CODE (x2) == PLUS)
01093     goto L1571;
01094   goto L3284;
01095 
01096  L1571: ATTRIBUTE_UNUSED_LABEL
01097   x3 = XEXP (x2, 0);
01098   if (register_operand (x3, SImode))
01099     {
01100       operands[1] = x3;
01101       goto L1572;
01102     }
01103   goto L3284;
01104 
01105  L1572: ATTRIBUTE_UNUSED_LABEL
01106   x3 = XEXP (x2, 1);
01107   if (register_operand (x3, SImode))
01108     {
01109       operands[2] = x3;
01110       goto L1573;
01111     }
01112   goto L3284;
01113 
01114  L1573: ATTRIBUTE_UNUSED_LABEL
01115   x1 = XEXP (x0, 1);
01116   if (register_operand (x1, SFmode))
01117     {
01118       operands[0] = x1;
01119       goto L1574;
01120     }
01121   x1 = XEXP (x0, 0);
01122   goto L3284;
01123 
01124  L1574: ATTRIBUTE_UNUSED_LABEL
01125   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT))
01126     {
01127       return 174;
01128     }
01129   x1 = XEXP (x0, 0);
01130   goto L3284;
01131 
01132  L3322: ATTRIBUTE_UNUSED_LABEL
01133   if (GET_CODE (x2) == PLUS)
01134     goto L1578;
01135   goto L3284;
01136 
01137  L1578: ATTRIBUTE_UNUSED_LABEL
01138   x3 = XEXP (x2, 0);
01139   if (se_register_operand (x3, DImode))
01140     {
01141       operands[1] = x3;
01142       goto L1579;
01143     }
01144   goto L3284;
01145 
01146  L1579: ATTRIBUTE_UNUSED_LABEL
01147   x3 = XEXP (x2, 1);
01148   if (se_register_operand (x3, DImode))
01149     {
01150       operands[2] = x3;
01151       goto L1580;
01152     }
01153   goto L3284;
01154 
01155  L1580: ATTRIBUTE_UNUSED_LABEL
01156   x1 = XEXP (x0, 1);
01157   if (register_operand (x1, SFmode))
01158     {
01159       operands[0] = x1;
01160       goto L1581;
01161     }
01162   x1 = XEXP (x0, 0);
01163   goto L3284;
01164 
01165  L1581: ATTRIBUTE_UNUSED_LABEL
01166   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT))
01167     {
01168       return 175;
01169     }
01170   x1 = XEXP (x0, 0);
01171   goto L3284;
01172 
01173  L16: ATTRIBUTE_UNUSED_LABEL
01174   x1 = XEXP (x0, 1);
01175   if (GET_MODE (x1) == SFmode)
01176     goto L3323;
01177   x1 = XEXP (x0, 0);
01178   goto L3284;
01179 
01180  L3323: ATTRIBUTE_UNUSED_LABEL
01181   switch (GET_CODE (x1))
01182     {
01183     case PLUS:
01184       goto L17;
01185     case MINUS:
01186       goto L109;
01187     case MULT:
01188       goto L207;
01189     case NEG:
01190       goto L737;
01191     case DIV:
01192       goto L768;
01193     case SQRT:
01194       goto L1047;
01195     case ABS:
01196       goto L1081;
01197     case FLOAT_TRUNCATE:
01198       goto L1257;
01199     case FLOAT:
01200       goto L1460;
01201     case MEM:
01202       goto L1543;
01203     case IF_THEN_ELSE:
01204       goto L2717;
01205     default:
01206      break;
01207    }
01208   x1 = XEXP (x0, 0);
01209   goto L3284;
01210 
01211  L17: ATTRIBUTE_UNUSED_LABEL
01212   x2 = XEXP (x1, 0);
01213   if (GET_MODE (x2) == SFmode)
01214     goto L3335;
01215   x1 = XEXP (x0, 0);
01216   goto L3284;
01217 
01218  L3335: ATTRIBUTE_UNUSED_LABEL
01219   if (GET_CODE (x2) == MULT)
01220     goto L705;
01221   if (register_operand (x2, SFmode))
01222     {
01223       operands[1] = x2;
01224       goto L18;
01225     }
01226   x1 = XEXP (x0, 0);
01227   goto L3284;
01228 
01229  L705: ATTRIBUTE_UNUSED_LABEL
01230   x3 = XEXP (x2, 0);
01231   if (register_operand (x3, SFmode))
01232     {
01233       operands[1] = x3;
01234       goto L706;
01235     }
01236   x1 = XEXP (x0, 0);
01237   goto L3284;
01238 
01239  L706: ATTRIBUTE_UNUSED_LABEL
01240   x3 = XEXP (x2, 1);
01241   if (register_operand (x3, SFmode))
01242     {
01243       operands[2] = x3;
01244       goto L707;
01245     }
01246   x1 = XEXP (x0, 0);
01247   goto L3284;
01248 
01249  L707: ATTRIBUTE_UNUSED_LABEL
01250   x2 = XEXP (x1, 1);
01251   if (register_operand (x2, SFmode))
01252     {
01253       operands[3] = x2;
01254       goto L708;
01255     }
01256   x1 = XEXP (x0, 0);
01257   goto L3284;
01258 
01259  L708: ATTRIBUTE_UNUSED_LABEL
01260   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_FUSED_MADD))
01261     {
01262       return 56;
01263     }
01264   x1 = XEXP (x0, 0);
01265   goto L3284;
01266 
01267  L18: ATTRIBUTE_UNUSED_LABEL
01268   x2 = XEXP (x1, 1);
01269   if (register_operand (x2, SFmode))
01270     {
01271       operands[2] = x2;
01272       goto L19;
01273     }
01274   x1 = XEXP (x0, 0);
01275   goto L3284;
01276 
01277  L19: ATTRIBUTE_UNUSED_LABEL
01278   if ((TARGET_HARD_FLOAT))
01279     {
01280       return 3;
01281     }
01282   x1 = XEXP (x0, 0);
01283   goto L3284;
01284 
01285  L109: ATTRIBUTE_UNUSED_LABEL
01286   x2 = XEXP (x1, 0);
01287   if (GET_MODE (x2) == SFmode)
01288     goto L3337;
01289   x1 = XEXP (x0, 0);
01290   goto L3284;
01291 
01292  L3337: ATTRIBUTE_UNUSED_LABEL
01293   if (GET_CODE (x2) == MULT)
01294     goto L721;
01295   if (register_operand (x2, SFmode))
01296     {
01297       operands[1] = x2;
01298       goto L110;
01299     }
01300   x1 = XEXP (x0, 0);
01301   goto L3284;
01302 
01303  L721: ATTRIBUTE_UNUSED_LABEL
01304   x3 = XEXP (x2, 0);
01305   if (register_operand (x3, SFmode))
01306     {
01307       operands[1] = x3;
01308       goto L722;
01309     }
01310   x1 = XEXP (x0, 0);
01311   goto L3284;
01312 
01313  L722: ATTRIBUTE_UNUSED_LABEL
01314   x3 = XEXP (x2, 1);
01315   if (register_operand (x3, SFmode))
01316     {
01317       operands[2] = x3;
01318       goto L723;
01319     }
01320   x1 = XEXP (x0, 0);
01321   goto L3284;
01322 
01323  L723: ATTRIBUTE_UNUSED_LABEL
01324   x2 = XEXP (x1, 1);
01325   if (register_operand (x2, SFmode))
01326     {
01327       operands[3] = x2;
01328       goto L724;
01329     }
01330   x1 = XEXP (x0, 0);
01331   goto L3284;
01332 
01333  L724: ATTRIBUTE_UNUSED_LABEL
01334   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && TARGET_FUSED_MADD))
01335     {
01336       return 58;
01337     }
01338   x1 = XEXP (x0, 0);
01339   goto L3284;
01340 
01341  L110: ATTRIBUTE_UNUSED_LABEL
01342   x2 = XEXP (x1, 1);
01343   if (GET_MODE (x2) == SFmode)
01344     goto L3339;
01345   x1 = XEXP (x0, 0);
01346   goto L3284;
01347 
01348  L3339: ATTRIBUTE_UNUSED_LABEL
01349   if (GET_CODE (x2) == MULT)
01350     goto L756;
01351   if (register_operand (x2, SFmode))
01352     {
01353       operands[2] = x2;
01354       goto L111;
01355     }
01356   x1 = XEXP (x0, 0);
01357   goto L3284;
01358 
01359  L756: ATTRIBUTE_UNUSED_LABEL
01360   x3 = XEXP (x2, 0);
01361   if (register_operand (x3, SFmode))
01362     {
01363       operands[2] = x3;
01364       goto L757;
01365     }
01366   x1 = XEXP (x0, 0);
01367   goto L3284;
01368 
01369  L757: ATTRIBUTE_UNUSED_LABEL
01370   x3 = XEXP (x2, 1);
01371   if (register_operand (x3, SFmode))
01372     {
01373       operands[3] = x3;
01374       goto L758;
01375     }
01376   x1 = XEXP (x0, 0);
01377   goto L3284;
01378 
01379  L758: ATTRIBUTE_UNUSED_LABEL
01380   if ((ISA_HAS_NMADD_NMSUB && TARGET_HARD_FLOAT && TARGET_FUSED_MADD))
01381     {
01382       return 62;
01383     }
01384   x1 = XEXP (x0, 0);
01385   goto L3284;
01386 
01387  L111: ATTRIBUTE_UNUSED_LABEL
01388   if ((TARGET_HARD_FLOAT))
01389     {
01390       return 17;
01391     }
01392   x1 = XEXP (x0, 0);
01393   goto L3284;
01394 
01395  L207: ATTRIBUTE_UNUSED_LABEL
01396   x2 = XEXP (x1, 0);
01397   if (register_operand (x2, SFmode))
01398     {
01399       operands[1] = x2;
01400       goto L208;
01401     }
01402   x1 = XEXP (x0, 0);
01403   goto L3284;
01404 
01405  L208: ATTRIBUTE_UNUSED_LABEL
01406   x2 = XEXP (x1, 1);
01407   if (register_operand (x2, SFmode))
01408     {
01409       operands[2] = x2;
01410       goto L209;
01411     }
01412   x1 = XEXP (x0, 0);
01413   goto L3284;
01414 
01415  L209: ATTRIBUTE_UNUSED_LABEL
01416   if ((TARGET_HARD_FLOAT && !TARGET_MIPS4300))
01417     {
01418       return 32;
01419     }
01420  L215: ATTRIBUTE_UNUSED_LABEL
01421   if ((TARGET_HARD_FLOAT && TARGET_MIPS4300))
01422     {
01423       return 33;
01424     }
01425   x1 = XEXP (x0, 0);
01426   goto L3284;
01427 
01428  L737: ATTRIBUTE_UNUSED_LABEL
01429   x2 = XEXP (x1, 0);
01430   if (GET_MODE (x2) == SFmode)
01431     goto L3340;
01432   x1 = XEXP (x0, 0);
01433   goto L3284;
01434 
01435  L3340: ATTRIBUTE_UNUSED_LABEL
01436   if (GET_CODE (x2) == PLUS)
01437     goto L738;
01438   if (register_operand (x2, SFmode))
01439     {
01440       operands[1] = x2;
01441       goto L1139;
01442     }
01443   x1 = XEXP (x0, 0);
01444   goto L3284;
01445 
01446  L738: ATTRIBUTE_UNUSED_LABEL
01447   x3 = XEXP (x2, 0);
01448   if (GET_MODE (x3) == SFmode
01449       && GET_CODE (x3) == MULT)
01450     goto L739;
01451   x1 = XEXP (x0, 0);
01452   goto L3284;
01453 
01454  L739: ATTRIBUTE_UNUSED_LABEL
01455   x4 = XEXP (x3, 0);
01456   if (register_operand (x4, SFmode))
01457     {
01458       operands[1] = x4;
01459       goto L740;
01460     }
01461   x1 = XEXP (x0, 0);
01462   goto L3284;
01463 
01464  L740: ATTRIBUTE_UNUSED_LABEL
01465   x4 = XEXP (x3, 1);
01466   if (register_operand (x4, SFmode))
01467     {
01468       operands[2] = x4;
01469       goto L741;
01470     }
01471   x1 = XEXP (x0, 0);
01472   goto L3284;
01473 
01474  L741: ATTRIBUTE_UNUSED_LABEL
01475   x3 = XEXP (x2, 1);
01476   if (register_operand (x3, SFmode))
01477     {
01478       operands[3] = x3;
01479       goto L742;
01480     }
01481   x1 = XEXP (x0, 0);
01482   goto L3284;
01483 
01484  L742: ATTRIBUTE_UNUSED_LABEL
01485   if ((ISA_HAS_NMADD_NMSUB && TARGET_HARD_FLOAT && TARGET_FUSED_MADD))
01486     {
01487       return 60;
01488     }
01489   x1 = XEXP (x0, 0);
01490   goto L3284;
01491 
01492  L1139: ATTRIBUTE_UNUSED_LABEL
01493   if ((TARGET_HARD_FLOAT))
01494     {
01495       return 95;
01496     }
01497   x1 = XEXP (x0, 0);
01498   goto L3284;
01499 
01500  L768: ATTRIBUTE_UNUSED_LABEL
01501   x2 = XEXP (x1, 0);
01502   if (GET_MODE (x2) == SFmode)
01503     goto L3343;
01504   x1 = XEXP (x0, 0);
01505   goto L3284;
01506 
01507  L3343: ATTRIBUTE_UNUSED_LABEL
01508   if (const_float_1_operand (x2, SFmode))
01509     {
01510       operands[1] = x2;
01511       goto L781;
01512     }
01513   if (register_operand (x2, SFmode))
01514     {
01515       operands[1] = x2;
01516       goto L769;
01517     }
01518   x1 = XEXP (x0, 0);
01519   goto L3284;
01520 
01521  L781: ATTRIBUTE_UNUSED_LABEL
01522   x2 = XEXP (x1, 1);
01523   if (GET_MODE (x2) == SFmode)
01524     goto L3345;
01525   x1 = XEXP (x0, 0);
01526   goto L3284;
01527 
01528  L3345: ATTRIBUTE_UNUSED_LABEL
01529   if (GET_CODE (x2) == SQRT)
01530     goto L1061;
01531   if (register_operand (x2, SFmode))
01532     {
01533       operands[2] = x2;
01534       goto L782;
01535     }
01536   x1 = XEXP (x0, 0);
01537   goto L3284;
01538 
01539  L1061: ATTRIBUTE_UNUSED_LABEL
01540   x3 = XEXP (x2, 0);
01541   if (register_operand (x3, SFmode))
01542     {
01543       operands[2] = x3;
01544       goto L1062;
01545     }
01546   x1 = XEXP (x0, 0);
01547   goto L3284;
01548 
01549  L1062: ATTRIBUTE_UNUSED_LABEL
01550   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && flag_unsafe_math_optimizations))
01551     {
01552       return 84;
01553     }
01554   x1 = XEXP (x0, 0);
01555   goto L3284;
01556 
01557  L782: ATTRIBUTE_UNUSED_LABEL
01558   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT && flag_unsafe_math_optimizations))
01559     {
01560       return 66;
01561     }
01562   x1 = XEXP (x0, 0);
01563   goto L3284;
01564 
01565  L769: ATTRIBUTE_UNUSED_LABEL
01566   x2 = XEXP (x1, 1);
01567   if (register_operand (x2, SFmode))
01568     {
01569       operands[2] = x2;
01570       goto L770;
01571     }
01572   x1 = XEXP (x0, 0);
01573   goto L3284;
01574 
01575  L770: ATTRIBUTE_UNUSED_LABEL
01576   if ((TARGET_HARD_FLOAT))
01577     {
01578       return 64;
01579     }
01580   x1 = XEXP (x0, 0);
01581   goto L3284;
01582 
01583  L1047: ATTRIBUTE_UNUSED_LABEL
01584   x2 = XEXP (x1, 0);
01585   if (register_operand (x2, SFmode))
01586     {
01587       operands[1] = x2;
01588       goto L1048;
01589     }
01590   x1 = XEXP (x0, 0);
01591   goto L3284;
01592 
01593  L1048: ATTRIBUTE_UNUSED_LABEL
01594   if ((TARGET_HARD_FLOAT && HAVE_SQRT_P()))
01595     {
01596       return 82;
01597     }
01598   x1 = XEXP (x0, 0);
01599   goto L3284;
01600 
01601  L1081: ATTRIBUTE_UNUSED_LABEL
01602   x2 = XEXP (x1, 0);
01603   if (register_operand (x2, SFmode))
01604     {
01605       operands[1] = x2;
01606       goto L1082;
01607     }
01608   x1 = XEXP (x0, 0);
01609   goto L3284;
01610 
01611  L1082: ATTRIBUTE_UNUSED_LABEL
01612   if ((TARGET_HARD_FLOAT))
01613     {
01614       return 88;
01615     }
01616   x1 = XEXP (x0, 0);
01617   goto L3284;
01618 
01619  L1257: ATTRIBUTE_UNUSED_LABEL
01620   x2 = XEXP (x1, 0);
01621   if (register_operand (x2, DFmode))
01622     {
01623       operands[1] = x2;
01624       goto L1258;
01625     }
01626   x1 = XEXP (x0, 0);
01627   goto L3284;
01628 
01629  L1258: ATTRIBUTE_UNUSED_LABEL
01630   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
01631     {
01632       return 115;
01633     }
01634   x1 = XEXP (x0, 0);
01635   goto L3284;
01636 
01637  L1460: ATTRIBUTE_UNUSED_LABEL
01638   x2 = XEXP (x1, 0);
01639   switch (GET_MODE (x2))
01640     {
01641     case SImode:
01642       goto L3346;
01643     case DImode:
01644       goto L3347;
01645     default:
01646       break;
01647     }
01648   x1 = XEXP (x0, 0);
01649   goto L3284;
01650 
01651  L3346: ATTRIBUTE_UNUSED_LABEL
01652   if (register_operand (x2, SImode))
01653     {
01654       operands[1] = x2;
01655       goto L1461;
01656     }
01657   x1 = XEXP (x0, 0);
01658   goto L3284;
01659 
01660  L1461: ATTRIBUTE_UNUSED_LABEL
01661   if ((TARGET_HARD_FLOAT))
01662     {
01663       return 151;
01664     }
01665   x1 = XEXP (x0, 0);
01666   goto L3284;
01667 
01668  L3347: ATTRIBUTE_UNUSED_LABEL
01669   if (register_operand (x2, DImode))
01670     {
01671       operands[1] = x2;
01672       goto L1466;
01673     }
01674   x1 = XEXP (x0, 0);
01675   goto L3284;
01676 
01677  L1466: ATTRIBUTE_UNUSED_LABEL
01678   if ((TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT))
01679     {
01680       return 152;
01681     }
01682   x1 = XEXP (x0, 0);
01683   goto L3284;
01684 
01685  L1543: ATTRIBUTE_UNUSED_LABEL
01686   x2 = XEXP (x1, 0);
01687   switch (GET_MODE (x2))
01688     {
01689     case SImode:
01690       goto L3348;
01691     case DImode:
01692       goto L3349;
01693     default:
01694       break;
01695     }
01696   x1 = XEXP (x0, 0);
01697   goto L3284;
01698 
01699  L3348: ATTRIBUTE_UNUSED_LABEL
01700   if (GET_CODE (x2) == PLUS)
01701     goto L1544;
01702   x1 = XEXP (x0, 0);
01703   goto L3284;
01704 
01705  L1544: ATTRIBUTE_UNUSED_LABEL
01706   x3 = XEXP (x2, 0);
01707   if (register_operand (x3, SImode))
01708     {
01709       operands[1] = x3;
01710       goto L1545;
01711     }
01712   x1 = XEXP (x0, 0);
01713   goto L3284;
01714 
01715  L1545: ATTRIBUTE_UNUSED_LABEL
01716   x3 = XEXP (x2, 1);
01717   if (register_operand (x3, SImode))
01718     {
01719       operands[2] = x3;
01720       goto L1546;
01721     }
01722   x1 = XEXP (x0, 0);
01723   goto L3284;
01724 
01725  L1546: ATTRIBUTE_UNUSED_LABEL
01726   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT))
01727     {
01728       return 170;
01729     }
01730   x1 = XEXP (x0, 0);
01731   goto L3284;
01732 
01733  L3349: ATTRIBUTE_UNUSED_LABEL
01734   if (GET_CODE (x2) == PLUS)
01735     goto L1551;
01736   x1 = XEXP (x0, 0);
01737   goto L3284;
01738 
01739  L1551: ATTRIBUTE_UNUSED_LABEL
01740   x3 = XEXP (x2, 0);
01741   if (se_register_operand (x3, DImode))
01742     {
01743       operands[1] = x3;
01744       goto L1552;
01745     }
01746   x1 = XEXP (x0, 0);
01747   goto L3284;
01748 
01749  L1552: ATTRIBUTE_UNUSED_LABEL
01750   x3 = XEXP (x2, 1);
01751   if (se_register_operand (x3, DImode))
01752     {
01753       operands[2] = x3;
01754       goto L1553;
01755     }
01756   x1 = XEXP (x0, 0);
01757   goto L3284;
01758 
01759  L1553: ATTRIBUTE_UNUSED_LABEL
01760   if ((ISA_HAS_FP4 && TARGET_HARD_FLOAT))
01761     {
01762       return 171;
01763     }
01764   x1 = XEXP (x0, 0);
01765   goto L3284;
01766 
01767  L2717: ATTRIBUTE_UNUSED_LABEL
01768   x2 = XEXP (x1, 0);
01769   if (equality_op (x2, VOIDmode))
01770     {
01771       operands[4] = x2;
01772       goto L2718;
01773     }
01774  L2735: ATTRIBUTE_UNUSED_LABEL
01775   if (equality_op (x2, VOIDmode))
01776     {
01777       operands[3] = x2;
01778       goto L2736;
01779     }
01780   x1 = XEXP (x0, 0);
01781   goto L3284;
01782 
01783  L2718: ATTRIBUTE_UNUSED_LABEL
01784   x3 = XEXP (x2, 0);
01785   switch (GET_MODE (x3))
01786     {
01787     case SImode:
01788       goto L3350;
01789     case DImode:
01790       goto L3351;
01791     default:
01792       break;
01793     }
01794   goto L2735;
01795 
01796  L3350: ATTRIBUTE_UNUSED_LABEL
01797   if (register_operand (x3, SImode))
01798     {
01799       operands[1] = x3;
01800       goto L2719;
01801     }
01802   goto L2735;
01803 
01804  L2719: ATTRIBUTE_UNUSED_LABEL
01805   x3 = XEXP (x2, 1);
01806   if (GET_CODE (x3) == CONST_INT
01807       && XWINT (x3, 0) == 0LL)
01808     goto L2720;
01809   goto L2735;
01810 
01811  L2720: ATTRIBUTE_UNUSED_LABEL
01812   x2 = XEXP (x1, 1);
01813   if (register_operand (x2, SFmode))
01814     {
01815       operands[2] = x2;
01816       goto L2721;
01817     }
01818   x2 = XEXP (x1, 0);
01819   goto L2735;
01820 
01821  L2721: ATTRIBUTE_UNUSED_LABEL
01822   x2 = XEXP (x1, 2);
01823   if (register_operand (x2, SFmode))
01824     {
01825       operands[3] = x2;
01826       goto L2722;
01827     }
01828   x2 = XEXP (x1, 0);
01829   goto L2735;
01830 
01831  L2722: ATTRIBUTE_UNUSED_LABEL
01832   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT))
01833     {
01834       return 325;
01835     }
01836   x1 = XEXP (x0, 1);
01837   x2 = XEXP (x1, 0);
01838   goto L2735;
01839 
01840  L3351: ATTRIBUTE_UNUSED_LABEL
01841   if (se_register_operand (x3, DImode))
01842     {
01843       operands[1] = x3;
01844       goto L2728;
01845     }
01846   goto L2735;
01847 
01848  L2728: ATTRIBUTE_UNUSED_LABEL
01849   x3 = XEXP (x2, 1);
01850   if (GET_CODE (x3) == CONST_INT
01851       && XWINT (x3, 0) == 0LL)
01852     goto L2729;
01853   goto L2735;
01854 
01855  L2729: ATTRIBUTE_UNUSED_LABEL
01856   x2 = XEXP (x1, 1);
01857   if (register_operand (x2, SFmode))
01858     {
01859       operands[2] = x2;
01860       goto L2730;
01861     }
01862   x2 = XEXP (x1, 0);
01863   goto L2735;
01864 
01865  L2730: ATTRIBUTE_UNUSED_LABEL
01866   x2 = XEXP (x1, 2);
01867   if (register_operand (x2, SFmode))
01868     {
01869       operands[3] = x2;
01870       goto L2731;
01871     }
01872   x2 = XEXP (x1, 0);
01873   goto L2735;
01874 
01875  L2731: ATTRIBUTE_UNUSED_LABEL
01876   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT))
01877     {
01878       return 326;
01879     }
01880   x1 = XEXP (x0, 1);
01881   x2 = XEXP (x1, 0);
01882   goto L2735;
01883 
01884  L2736: ATTRIBUTE_UNUSED_LABEL
01885   x3 = XEXP (x2, 0);
01886   if (register_operand (x3, CCmode))
01887     {
01888       operands[4] = x3;
01889       goto L2737;
01890     }
01891   x1 = XEXP (x0, 0);
01892   goto L3284;
01893 
01894  L2737: ATTRIBUTE_UNUSED_LABEL
01895   x3 = XEXP (x2, 1);
01896   if (GET_CODE (x3) == CONST_INT
01897       && XWINT (x3, 0) == 0LL)
01898     goto L2738;
01899   x1 = XEXP (x0, 0);
01900   goto L3284;
01901 
01902  L2738: ATTRIBUTE_UNUSED_LABEL
01903   x2 = XEXP (x1, 1);
01904   if (register_operand (x2, SFmode))
01905     {
01906       operands[1] = x2;
01907       goto L2739;
01908     }
01909   x1 = XEXP (x0, 0);
01910   goto L3284;
01911 
01912  L2739: ATTRIBUTE_UNUSED_LABEL
01913   x2 = XEXP (x1, 2);
01914   if (register_operand (x2, SFmode))
01915     {
01916       operands[2] = x2;
01917       goto L2740;
01918     }
01919   x1 = XEXP (x0, 0);
01920   goto L3284;
01921 
01922  L2740: ATTRIBUTE_UNUSED_LABEL
01923   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT))
01924     {
01925       return 327;
01926     }
01927   x1 = XEXP (x0, 0);
01928   goto L3284;
01929 
01930  L1614: ATTRIBUTE_UNUSED_LABEL
01931   x1 = XEXP (x0, 1);
01932   if (general_operand (x1, SFmode))
01933     {
01934       operands[1] = x1;
01935       goto L1615;
01936     }
01937  L1622: ATTRIBUTE_UNUSED_LABEL
01938   if (nonimmediate_operand (x1, SFmode))
01939     {
01940       operands[1] = x1;
01941       goto L1623;
01942     }
01943   goto ret0;
01944 
01945  L1615: ATTRIBUTE_UNUSED_LABEL
01946   if ((TARGET_HARD_FLOAT
01947    && (register_operand (operands[0], SFmode)
01948        || nonmemory_operand (operands[1], SFmode))))
01949     {
01950       return 182;
01951     }
01952  L1619: ATTRIBUTE_UNUSED_LABEL
01953   if ((TARGET_SOFT_FLOAT && !TARGET_MIPS16
01954    && (register_operand (operands[0], SFmode)
01955        || nonmemory_operand (operands[1], SFmode))))
01956     {
01957       return 183;
01958     }
01959   x1 = XEXP (x0, 1);
01960   goto L1622;
01961 
01962  L1623: ATTRIBUTE_UNUSED_LABEL
01963   if ((TARGET_MIPS16
01964    && (register_operand (operands[0], SFmode)
01965        || register_operand (operands[1], SFmode))))
01966     {
01967       return 184;
01968     }
01969   goto ret0;
01970  ret0:
01971   return -1;
01972 }
01973 
01974 static int recog_3 PARAMS ((rtx, rtx, int *));
01975 static int
01976 recog_3 (x0, insn, pnum_clobbers)
01977      rtx x0 ATTRIBUTE_UNUSED;
01978      rtx insn ATTRIBUTE_UNUSED;
01979      int *pnum_clobbers ATTRIBUTE_UNUSED;
01980 {
01981   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
01982   rtx x1 ATTRIBUTE_UNUSED;
01983   rtx x2 ATTRIBUTE_UNUSED;
01984   rtx x3 ATTRIBUTE_UNUSED;
01985   rtx x4 ATTRIBUTE_UNUSED;
01986   rtx x5 ATTRIBUTE_UNUSED;
01987   rtx x6 ATTRIBUTE_UNUSED;
01988   rtx x7 ATTRIBUTE_UNUSED;
01989   int tem ATTRIBUTE_UNUSED;
01990 
01991   x1 = XEXP (x0, 1);
01992   switch (GET_CODE (x1))
01993     {
01994     case MINUS:
01995       goto L127;
01996     case MULT:
01997       goto L232;
01998     case PLUS:
01999       goto L291;
02000     case NEG:
02001       goto L338;
02002     case TRUNCATE:
02003       goto L510;
02004     case DIV:
02005       goto L917;
02006     case MOD:
02007       goto L951;
02008     case UDIV:
02009       goto L985;
02010     case UMOD:
02011       goto L1019;
02012     case ABS:
02013       goto L1066;
02014     case FFS:
02015       goto L1096;
02016     case NOT:
02017       goto L1143;
02018     case AND:
02019       goto L1241;
02020     case IOR:
02021       goto L1181;
02022     case XOR:
02023       goto L1205;
02024     case ZERO_EXTEND:
02025       goto L1298;
02026     case SIGN_EXTEND:
02027       goto L1382;
02028     case FIX:
02029       goto L1404;
02030     case UNSPEC:
02031       goto L3390;
02032     case HIGH:
02033       goto L1488;
02034     case LO_SUM:
02035       goto L1493;
02036     case ASHIFT:
02037       goto L1747;
02038     case ASHIFTRT:
02039       goto L1798;
02040     case LSHIFTRT:
02041       goto L1849;
02042     case ROTATERT:
02043       goto L1906;
02044     case EQ:
02045       goto L2031;
02046     case NE:
02047       goto L2051;
02048     case GT:
02049       goto L2061;
02050     case LT:
02051       goto L2085;
02052     case LE:
02053       goto L2109;
02054     case GTU:
02055       goto L2133;
02056     case LTU:
02057       goto L2157;
02058     case LEU:
02059       goto L2181;
02060     case IF_THEN_ELSE:
02061       goto L2663;
02062     default:
02063      break;
02064    }
02065   goto ret0;
02066 
02067  L127: ATTRIBUTE_UNUSED_LABEL
02068   x2 = XEXP (x1, 0);
02069   if (GET_MODE (x2) == SImode)
02070     goto L3391;
02071   goto ret0;
02072 
02073  L3391: ATTRIBUTE_UNUSED_LABEL
02074   if (GET_CODE (x2) == REG
02075       && XINT (x2, 0) == 29)
02076     goto L128;
02077  L3392: ATTRIBUTE_UNUSED_LABEL
02078   if (register_operand (x2, SImode))
02079     {
02080       operands[1] = x2;
02081       goto L317;
02082     }
02083   goto ret0;
02084 
02085  L128: ATTRIBUTE_UNUSED_LABEL
02086   x2 = XEXP (x1, 1);
02087   if (small_int (x2, SImode))
02088     {
02089       operands[1] = x2;
02090       goto L129;
02091     }
02092   x2 = XEXP (x1, 0);
02093   goto L3392;
02094 
02095  L129: ATTRIBUTE_UNUSED_LABEL
02096   if ((TARGET_MIPS16
02097    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
02098     {
02099       return 20;
02100     }
02101   x1 = XEXP (x0, 1);
02102   x2 = XEXP (x1, 0);
02103   goto L3392;
02104 
02105  L317: ATTRIBUTE_UNUSED_LABEL
02106   x2 = XEXP (x1, 1);
02107   if (GET_MODE (x2) == SImode
02108       && GET_CODE (x2) == MULT)
02109     goto L318;
02110   if (arith_operand (x2, SImode))
02111     {
02112       operands[2] = x2;
02113       goto L135;
02114     }
02115   goto ret0;
02116 
02117  L318: ATTRIBUTE_UNUSED_LABEL
02118   x3 = XEXP (x2, 0);
02119   if (register_operand (x3, SImode))
02120     {
02121       operands[2] = x3;
02122       goto L319;
02123     }
02124   goto ret0;
02125 
02126  L319: ATTRIBUTE_UNUSED_LABEL
02127   x3 = XEXP (x2, 1);
02128   if (register_operand (x3, SImode))
02129     {
02130       operands[3] = x3;
02131       goto L320;
02132     }
02133   goto ret0;
02134 
02135  L320: ATTRIBUTE_UNUSED_LABEL
02136   if ((ISA_HAS_MADD_MSUB)
02137       && pnum_clobbers != NULL)
02138     {
02139       *pnum_clobbers = 4;
02140       return 38;
02141     }
02142  L366: ATTRIBUTE_UNUSED_LABEL
02143   if ((ISA_HAS_MSAC && TARGET_64BIT)
02144       && pnum_clobbers != NULL)
02145     {
02146       *pnum_clobbers = 4;
02147       return 40;
02148     }
02149   goto ret0;
02150 
02151  L135: ATTRIBUTE_UNUSED_LABEL
02152   if ((TARGET_MIPS16
02153    && (GET_CODE (operands[2]) != CONST_INT
02154        || (INTVAL (operands[2]) != -32768 && INTVAL (operands[2]) != -0x4000))))
02155     {
02156       return 21;
02157     }
02158   goto ret0;
02159 
02160  L232: ATTRIBUTE_UNUSED_LABEL
02161   x2 = XEXP (x1, 0);
02162   if (register_operand (x2, SImode))
02163     {
02164       operands[1] = x2;
02165       goto L233;
02166     }
02167   goto ret0;
02168 
02169  L233: ATTRIBUTE_UNUSED_LABEL
02170   x2 = XEXP (x1, 1);
02171   if (register_operand (x2, SImode))
02172     {
02173       operands[2] = x2;
02174       goto L234;
02175     }
02176   goto ret0;
02177 
02178  L234: ATTRIBUTE_UNUSED_LABEL
02179   if ((GENERATE_MULT3_SI
02180    || TARGET_MAD)
02181       && pnum_clobbers != NULL)
02182     {
02183       *pnum_clobbers = 3;
02184       return 34;
02185     }
02186  L251: ATTRIBUTE_UNUSED_LABEL
02187   if ((!TARGET_MIPS4000 || TARGET_MIPS16)
02188       && pnum_clobbers != NULL)
02189     {
02190       *pnum_clobbers = 2;
02191       return 35;
02192     }
02193  L270: ATTRIBUTE_UNUSED_LABEL
02194   if ((TARGET_MIPS4000 && !TARGET_MIPS16)
02195       && pnum_clobbers != NULL)
02196     {
02197       *pnum_clobbers = 3;
02198       return 36;
02199     }
02200   goto ret0;
02201 
02202  L291: ATTRIBUTE_UNUSED_LABEL
02203   x2 = XEXP (x1, 0);
02204   if (GET_MODE (x2) == SImode
02205       && GET_CODE (x2) == MULT)
02206     goto L292;
02207   goto ret0;
02208 
02209  L292: ATTRIBUTE_UNUSED_LABEL
02210   x3 = XEXP (x2, 0);
02211   if (register_operand (x3, SImode))
02212     {
02213       operands[1] = x3;
02214       goto L293;
02215     }
02216   goto ret0;
02217 
02218  L293: ATTRIBUTE_UNUSED_LABEL
02219   x3 = XEXP (x2, 1);
02220   if (register_operand (x3, SImode))
02221     {
02222       operands[2] = x3;
02223       goto L294;
02224     }
02225   goto ret0;
02226 
02227  L294: ATTRIBUTE_UNUSED_LABEL
02228   x2 = XEXP (x1, 1);
02229   if (register_operand (x2, SImode))
02230     {
02231       operands[3] = x2;
02232       goto L295;
02233     }
02234  L646: ATTRIBUTE_UNUSED_LABEL
02235   if (rtx_equal_p (x2, operands[0])
02236       && (TARGET_MAD)
02237       && pnum_clobbers != NULL)
02238     {
02239       *pnum_clobbers = 2;
02240       return 52;
02241     }
02242   goto ret0;
02243 
02244  L295: ATTRIBUTE_UNUSED_LABEL
02245   if (((TARGET_MIPS3900
02246    || TARGET_MIPS5400
02247    || TARGET_MIPS5500
02248    || ISA_HAS_MADD_MSUB)
02249    && !TARGET_MIPS16)
02250       && pnum_clobbers != NULL)
02251     {
02252       *pnum_clobbers = 4;
02253       return 37;
02254     }
02255   x1 = XEXP (x0, 1);
02256   x2 = XEXP (x1, 1);
02257   goto L646;
02258 
02259  L338: ATTRIBUTE_UNUSED_LABEL
02260   x2 = XEXP (x1, 0);
02261   if (GET_MODE (x2) == SImode)
02262     goto L3393;
02263   goto ret0;
02264 
02265  L3393: ATTRIBUTE_UNUSED_LABEL
02266   if (GET_CODE (x2) == MULT)
02267     goto L339;
02268   if (register_operand (x2, SImode))
02269     {
02270       operands[1] = x2;
02271       return 91;
02272     }
02273   goto ret0;
02274 
02275  L339: ATTRIBUTE_UNUSED_LABEL
02276   x3 = XEXP (x2, 0);
02277   if (register_operand (x3, SImode))
02278     {
02279       operands[1] = x3;
02280       goto L340;
02281     }
02282   goto ret0;
02283 
02284  L340: ATTRIBUTE_UNUSED_LABEL
02285   x3 = XEXP (x2, 1);
02286   if (register_operand (x3, SImode))
02287     {
02288       operands[2] = x3;
02289       goto L341;
02290     }
02291   goto ret0;
02292 
02293  L341: ATTRIBUTE_UNUSED_LABEL
02294   if ((ISA_HAS_MULS && TARGET_64BIT)
02295       && pnum_clobbers != NULL)
02296     {
02297       *pnum_clobbers = 3;
02298       return 39;
02299     }
02300   goto ret0;
02301 
02302  L510: ATTRIBUTE_UNUSED_LABEL
02303   x2 = XEXP (x1, 0);
02304   if (GET_MODE (x2) == DImode)
02305     goto L3397;
02306   goto ret0;
02307 
02308  L3397: ATTRIBUTE_UNUSED_LABEL
02309   switch (GET_CODE (x2))
02310     {
02311     case ASHIFTRT:
02312       goto L1278;
02313     case LSHIFTRT:
02314       goto L1285;
02315     case ASHIFT:
02316       goto L1292;
02317     default:
02318      break;
02319    }
02320  L3395: ATTRIBUTE_UNUSED_LABEL
02321   if (highpart_shift_operator (x2, DImode))
02322     {
02323       operands[5] = x2;
02324       goto L511;
02325     }
02326   if (se_register_operand (x2, DImode))
02327     {
02328       operands[1] = x2;
02329       goto L1263;
02330     }
02331   goto ret0;
02332 
02333  L1278: ATTRIBUTE_UNUSED_LABEL
02334   x3 = XEXP (x2, 0);
02335   if (se_register_operand (x3, DImode))
02336     {
02337       operands[1] = x3;
02338       goto L1279;
02339     }
02340   goto L3395;
02341 
02342  L1279: ATTRIBUTE_UNUSED_LABEL
02343   x3 = XEXP (x2, 1);
02344   if (small_int (x3, DImode))
02345     {
02346       operands[2] = x3;
02347       goto L1280;
02348     }
02349   goto L3395;
02350 
02351  L1280: ATTRIBUTE_UNUSED_LABEL
02352   if ((TARGET_64BIT && !TARGET_MIPS16))
02353     {
02354       return 119;
02355     }
02356   x1 = XEXP (x0, 1);
02357   x2 = XEXP (x1, 0);
02358   goto L3395;
02359 
02360  L1285: ATTRIBUTE_UNUSED_LABEL
02361   x3 = XEXP (x2, 0);
02362   if (se_register_operand (x3, DImode))
02363     {
02364       operands[1] = x3;
02365       goto L1286;
02366     }
02367   goto L3395;
02368 
02369  L1286: ATTRIBUTE_UNUSED_LABEL
02370   x3 = XEXP (x2, 1);
02371   if (small_int (x3, DImode))
02372     {
02373       operands[2] = x3;
02374       goto L1287;
02375     }
02376   goto L3395;
02377 
02378  L1287: ATTRIBUTE_UNUSED_LABEL
02379   if ((TARGET_64BIT && !TARGET_MIPS16))
02380     {
02381       return 120;
02382     }
02383   x1 = XEXP (x0, 1);
02384   x2 = XEXP (x1, 0);
02385   goto L3395;
02386 
02387  L1292: ATTRIBUTE_UNUSED_LABEL
02388   x3 = XEXP (x2, 0);
02389   if (se_register_operand (x3, DImode))
02390     {
02391       operands[1] = x3;
02392       goto L1293;
02393     }
02394   goto ret0;
02395 
02396  L1293: ATTRIBUTE_UNUSED_LABEL
02397   x3 = XEXP (x2, 1);
02398   if (small_int (x3, DImode))
02399     {
02400       operands[2] = x3;
02401       goto L1294;
02402     }
02403   goto ret0;
02404 
02405  L1294: ATTRIBUTE_UNUSED_LABEL
02406   if ((TARGET_64BIT))
02407     {
02408       return 121;
02409     }
02410   goto ret0;
02411 
02412  L511: ATTRIBUTE_UNUSED_LABEL
02413   x3 = XEXP (x2, 0);
02414   if (GET_MODE (x3) == DImode)
02415     goto L3400;
02416   goto ret0;
02417 
02418  L3400: ATTRIBUTE_UNUSED_LABEL
02419   switch (GET_CODE (x3))
02420     {
02421     case MULT:
02422       goto L512;
02423     case NEG:
02424       goto L569;
02425     default:
02426      break;
02427    }
02428   goto ret0;
02429 
02430  L512: ATTRIBUTE_UNUSED_LABEL
02431   x4 = XEXP (x3, 0);
02432   if (extend_operator (x4, DImode))
02433     {
02434       operands[3] = x4;
02435       goto L513;
02436     }
02437   goto ret0;
02438 
02439  L513: ATTRIBUTE_UNUSED_LABEL
02440   x5 = XEXP (x4, 0);
02441   if (register_operand (x5, SImode))
02442     {
02443       operands[1] = x5;
02444       goto L514;
02445     }
02446   goto ret0;
02447 
02448  L514: ATTRIBUTE_UNUSED_LABEL
02449   x4 = XEXP (x3, 1);
02450   if (extend_operator (x4, DImode))
02451     {
02452       operands[4] = x4;
02453       goto L515;
02454     }
02455   goto ret0;
02456 
02457  L515: ATTRIBUTE_UNUSED_LABEL
02458   x5 = XEXP (x4, 0);
02459   if (register_operand (x5, SImode))
02460     {
02461       operands[2] = x5;
02462       goto L516;
02463     }
02464   goto ret0;
02465 
02466  L516: ATTRIBUTE_UNUSED_LABEL
02467   x3 = XEXP (x2, 1);
02468   if (GET_CODE (x3) == CONST_INT)
02469     goto L3402;
02470   goto ret0;
02471 
02472  L3402: ATTRIBUTE_UNUSED_LABEL
02473   if (XWINT (x3, 0) == 32LL)
02474     goto L3404;
02475   goto ret0;
02476 
02477  L3404: ATTRIBUTE_UNUSED_LABEL
02478   if ((GET_CODE (operands[3]) == GET_CODE (operands[4]))
02479       && pnum_clobbers != NULL)
02480     {
02481       *pnum_clobbers = 2;
02482       return 47;
02483     }
02484  L3405: ATTRIBUTE_UNUSED_LABEL
02485   if ((ISA_HAS_MULHI
02486    && TARGET_64BIT
02487    && GET_CODE (operands[3]) == GET_CODE (operands[4]))
02488       && pnum_clobbers != NULL)
02489     {
02490       *pnum_clobbers = 3;
02491       return 48;
02492     }
02493   goto ret0;
02494 
02495  L569: ATTRIBUTE_UNUSED_LABEL
02496   x4 = XEXP (x3, 0);
02497   if (GET_MODE (x4) == DImode
02498       && GET_CODE (x4) == MULT)
02499     goto L570;
02500   goto ret0;
02501 
02502  L570: ATTRIBUTE_UNUSED_LABEL
02503   x5 = XEXP (x4, 0);
02504   if (extend_operator (x5, DImode))
02505     {
02506       operands[3] = x5;
02507       goto L571;
02508     }
02509   goto ret0;
02510 
02511  L571: ATTRIBUTE_UNUSED_LABEL
02512   x6 = XEXP (x5, 0);
02513   if (register_operand (x6, SImode))
02514     {
02515       operands[1] = x6;
02516       goto L572;
02517     }
02518   goto ret0;
02519 
02520  L572: ATTRIBUTE_UNUSED_LABEL
02521   x5 = XEXP (x4, 1);
02522   if (extend_operator (x5, DImode))
02523     {
02524       operands[4] = x5;
02525       goto L573;
02526     }
02527   goto ret0;
02528 
02529  L573: ATTRIBUTE_UNUSED_LABEL
02530   x6 = XEXP (x5, 0);
02531   if (register_operand (x6, SImode))
02532     {
02533       operands[2] = x6;
02534       goto L574;
02535     }
02536   goto ret0;
02537 
02538  L574: ATTRIBUTE_UNUSED_LABEL
02539   x3 = XEXP (x2, 1);
02540   if (GET_CODE (x3) == CONST_INT
02541       && XWINT (x3, 0) == 32LL
02542       && (ISA_HAS_MULHI
02543    && TARGET_64BIT
02544    && GET_CODE (operands[3]) == GET_CODE (operands[4]))
02545       && pnum_clobbers != NULL)
02546     {
02547       *pnum_clobbers = 3;
02548       return 49;
02549     }
02550   goto ret0;
02551 
02552  L1263: ATTRIBUTE_UNUSED_LABEL
02553   if ((TARGET_64BIT))
02554     {
02555       return 116;
02556     }
02557   goto ret0;
02558 
02559  L917: ATTRIBUTE_UNUSED_LABEL
02560   x2 = XEXP (x1, 0);
02561   if (register_operand (x2, SImode))
02562     {
02563       operands[1] = x2;
02564       goto L918;
02565     }
02566   goto ret0;
02567 
02568  L918: ATTRIBUTE_UNUSED_LABEL
02569   x2 = XEXP (x1, 1);
02570   if (nonmemory_operand (x2, SImode))
02571     {
02572       operands[2] = x2;
02573       goto L919;
02574     }
02575   goto ret0;
02576 
02577  L919: ATTRIBUTE_UNUSED_LABEL
02578   if ((!optimize)
02579       && pnum_clobbers != NULL)
02580     {
02581       *pnum_clobbers = 2;
02582       return 73;
02583     }
02584   goto ret0;
02585 
02586  L951: ATTRIBUTE_UNUSED_LABEL
02587   x2 = XEXP (x1, 0);
02588   if (register_operand (x2, SImode))
02589     {
02590       operands[1] = x2;
02591       goto L952;
02592     }
02593   goto ret0;
02594 
02595  L952: ATTRIBUTE_UNUSED_LABEL
02596   x2 = XEXP (x1, 1);
02597   if (nonmemory_operand (x2, SImode))
02598     {
02599       operands[2] = x2;
02600       goto L953;
02601     }
02602   goto ret0;
02603 
02604  L953: ATTRIBUTE_UNUSED_LABEL
02605   if ((!optimize)
02606       && pnum_clobbers != NULL)
02607     {
02608       *pnum_clobbers = 2;
02609       return 75;
02610     }
02611   goto ret0;
02612 
02613  L985: ATTRIBUTE_UNUSED_LABEL
02614   x2 = XEXP (x1, 0);
02615   if (register_operand (x2, SImode))
02616     {
02617       operands[1] = x2;
02618       goto L986;
02619     }
02620   goto ret0;
02621 
02622  L986: ATTRIBUTE_UNUSED_LABEL
02623   x2 = XEXP (x1, 1);
02624   if (nonmemory_operand (x2, SImode))
02625     {
02626       operands[2] = x2;
02627       goto L987;
02628     }
02629   goto ret0;
02630 
02631  L987: ATTRIBUTE_UNUSED_LABEL
02632   if ((!optimize)
02633       && pnum_clobbers != NULL)
02634     {
02635       *pnum_clobbers = 2;
02636       return 77;
02637     }
02638   goto ret0;
02639 
02640  L1019: ATTRIBUTE_UNUSED_LABEL
02641   x2 = XEXP (x1, 0);
02642   if (register_operand (x2, SImode))
02643     {
02644       operands[1] = x2;
02645       goto L1020;
02646     }
02647   goto ret0;
02648 
02649  L1020: ATTRIBUTE_UNUSED_LABEL
02650   x2 = XEXP (x1, 1);
02651   if (nonmemory_operand (x2, SImode))
02652     {
02653       operands[2] = x2;
02654       goto L1021;
02655     }
02656   goto ret0;
02657 
02658  L1021: ATTRIBUTE_UNUSED_LABEL
02659   if ((!optimize)
02660       && pnum_clobbers != NULL)
02661     {
02662       *pnum_clobbers = 2;
02663       return 79;
02664     }
02665   goto ret0;
02666 
02667  L1066: ATTRIBUTE_UNUSED_LABEL
02668   x2 = XEXP (x1, 0);
02669   if (register_operand (x2, SImode))
02670     {
02671       operands[1] = x2;
02672       goto L1067;
02673     }
02674   goto ret0;
02675 
02676  L1067: ATTRIBUTE_UNUSED_LABEL
02677   if ((!TARGET_MIPS16))
02678     {
02679       return 85;
02680     }
02681   goto ret0;
02682 
02683  L1096: ATTRIBUTE_UNUSED_LABEL
02684   x2 = XEXP (x1, 0);
02685   if (register_operand (x2, SImode))
02686     {
02687       operands[1] = x2;
02688       goto L1097;
02689     }
02690   goto ret0;
02691 
02692  L1097: ATTRIBUTE_UNUSED_LABEL
02693   if ((!TARGET_MIPS16)
02694       && pnum_clobbers != NULL)
02695     {
02696       *pnum_clobbers = 2;
02697       return 89;
02698     }
02699   goto ret0;
02700 
02701  L1143: ATTRIBUTE_UNUSED_LABEL
02702   x2 = XEXP (x1, 0);
02703   if (register_operand (x2, SImode))
02704     {
02705       operands[1] = x2;
02706       return 96;
02707     }
02708   goto ret0;
02709 
02710  L1241: ATTRIBUTE_UNUSED_LABEL
02711   x2 = XEXP (x1, 0);
02712   if (GET_MODE (x2) == SImode
02713       && GET_CODE (x2) == NOT)
02714     goto L1242;
02715   if (uns_arith_operand (x2, SImode))
02716     {
02717       operands[1] = x2;
02718       goto L1152;
02719     }
02720  L1157: ATTRIBUTE_UNUSED_LABEL
02721   if (register_operand (x2, SImode))
02722     {
02723       operands[1] = x2;
02724       goto L1158;
02725     }
02726   goto ret0;
02727 
02728  L1242: ATTRIBUTE_UNUSED_LABEL
02729   x3 = XEXP (x2, 0);
02730   if (register_operand (x3, SImode))
02731     {
02732       operands[1] = x3;
02733       goto L1243;
02734     }
02735   goto ret0;
02736 
02737  L1243: ATTRIBUTE_UNUSED_LABEL
02738   x2 = XEXP (x1, 1);
02739   if (GET_MODE (x2) == SImode
02740       && GET_CODE (x2) == NOT)
02741     goto L1244;
02742   goto ret0;
02743 
02744  L1244: ATTRIBUTE_UNUSED_LABEL
02745   x3 = XEXP (x2, 0);
02746   if (register_operand (x3, SImode))
02747     {
02748       operands[2] = x3;
02749       goto L1245;
02750     }
02751   goto ret0;
02752 
02753  L1245: ATTRIBUTE_UNUSED_LABEL
02754   if ((!TARGET_MIPS16))
02755     {
02756       return 113;
02757     }
02758   goto ret0;
02759 
02760  L1152: ATTRIBUTE_UNUSED_LABEL
02761   x2 = XEXP (x1, 1);
02762   if (uns_arith_operand (x2, SImode))
02763     {
02764       operands[2] = x2;
02765       goto L1153;
02766     }
02767   x2 = XEXP (x1, 0);
02768   goto L1157;
02769 
02770  L1153: ATTRIBUTE_UNUSED_LABEL
02771   if ((!TARGET_MIPS16))
02772     {
02773       return 98;
02774     }
02775   x1 = XEXP (x0, 1);
02776   x2 = XEXP (x1, 0);
02777   goto L1157;
02778 
02779  L1158: ATTRIBUTE_UNUSED_LABEL
02780   x2 = XEXP (x1, 1);
02781   if (register_operand (x2, SImode))
02782     {
02783       operands[2] = x2;
02784       goto L1159;
02785     }
02786   goto ret0;
02787 
02788  L1159: ATTRIBUTE_UNUSED_LABEL
02789   if ((TARGET_MIPS16))
02790     {
02791       return 99;
02792     }
02793   goto ret0;
02794 
02795  L1181: ATTRIBUTE_UNUSED_LABEL
02796   x2 = XEXP (x1, 0);
02797   if (uns_arith_operand (x2, SImode))
02798     {
02799       operands[1] = x2;
02800       goto L1182;
02801     }
02802  L1187: ATTRIBUTE_UNUSED_LABEL
02803   if (register_operand (x2, SImode))
02804     {
02805       operands[1] = x2;
02806       goto L1188;
02807     }
02808   goto ret0;
02809 
02810  L1182: ATTRIBUTE_UNUSED_LABEL
02811   x2 = XEXP (x1, 1);
02812   if (uns_arith_operand (x2, SImode))
02813     {
02814       operands[2] = x2;
02815       goto L1183;
02816     }
02817   x2 = XEXP (x1, 0);
02818   goto L1187;
02819 
02820  L1183: ATTRIBUTE_UNUSED_LABEL
02821   if ((!TARGET_MIPS16))
02822     {
02823       return 103;
02824     }
02825   x1 = XEXP (x0, 1);
02826   x2 = XEXP (x1, 0);
02827   goto L1187;
02828 
02829  L1188: ATTRIBUTE_UNUSED_LABEL
02830   x2 = XEXP (x1, 1);
02831   if (register_operand (x2, SImode))
02832     {
02833       operands[2] = x2;
02834       goto L1189;
02835     }
02836   goto ret0;
02837 
02838  L1189: ATTRIBUTE_UNUSED_LABEL
02839   if ((TARGET_MIPS16))
02840     {
02841       return 104;
02842     }
02843   goto ret0;
02844 
02845  L1205: ATTRIBUTE_UNUSED_LABEL
02846   x2 = XEXP (x1, 0);
02847   if (uns_arith_operand (x2, SImode))
02848     {
02849       operands[1] = x2;
02850       goto L1206;
02851     }
02852   goto ret0;
02853 
02854  L1206: ATTRIBUTE_UNUSED_LABEL
02855   x2 = XEXP (x1, 1);
02856   if (uns_arith_operand (x2, SImode))
02857     {
02858       operands[2] = x2;
02859       goto L1207;
02860     }
02861   goto ret0;
02862 
02863  L1207: ATTRIBUTE_UNUSED_LABEL
02864   if ((!TARGET_MIPS16))
02865     {
02866       return 107;
02867     }
02868  L1213: ATTRIBUTE_UNUSED_LABEL
02869   if ((TARGET_MIPS16))
02870     {
02871       return 108;
02872     }
02873   goto ret0;
02874 
02875  L1298: ATTRIBUTE_UNUSED_LABEL
02876   x2 = XEXP (x1, 0);
02877   switch (GET_MODE (x2))
02878     {
02879     case HImode:
02880       goto L3406;
02881     case QImode:
02882       goto L3407;
02883     default:
02884       break;
02885     }
02886   goto ret0;
02887 
02888  L3406: ATTRIBUTE_UNUSED_LABEL
02889   if (GET_CODE (x2) == TRUNCATE)
02890     goto L1299;
02891   if (nonimmediate_operand (x2, HImode))
02892     {
02893       operands[1] = x2;
02894       goto L1322;
02895     }
02896  L3409: ATTRIBUTE_UNUSED_LABEL
02897   if (memory_operand (x2, HImode))
02898     {
02899       operands[1] = x2;
02900       goto L1327;
02901     }
02902   goto ret0;
02903 
02904  L1299: ATTRIBUTE_UNUSED_LABEL
02905   x3 = XEXP (x2, 0);
02906   if (se_register_operand (x3, DImode))
02907     {
02908       operands[1] = x3;
02909       goto L1300;
02910     }
02911   goto ret0;
02912 
02913  L1300: ATTRIBUTE_UNUSED_LABEL
02914   if ((TARGET_64BIT && !TARGET_MIPS16))
02915     {
02916       return 122;
02917     }
02918   goto ret0;
02919 
02920  L1322: ATTRIBUTE_UNUSED_LABEL
02921   if ((!TARGET_MIPS16))
02922     {
02923       return 126;
02924     }
02925   x1 = XEXP (x0, 1);
02926   x2 = XEXP (x1, 0);
02927   goto L3409;
02928 
02929  L1327: ATTRIBUTE_UNUSED_LABEL
02930   if ((TARGET_MIPS16))
02931     {
02932       return 127;
02933     }
02934   goto ret0;
02935 
02936  L3407: ATTRIBUTE_UNUSED_LABEL
02937   if (GET_CODE (x2) == TRUNCATE)
02938     goto L1305;
02939   if (nonimmediate_operand (x2, QImode))
02940     {
02941       operands[1] = x2;
02942       goto L1352;
02943     }
02944  L3411: ATTRIBUTE_UNUSED_LABEL
02945   if (memory_operand (x2, QImode))
02946     {
02947       operands[1] = x2;
02948       goto L1357;
02949     }
02950   goto ret0;
02951 
02952  L1305: ATTRIBUTE_UNUSED_LABEL
02953   x3 = XEXP (x2, 0);
02954   if (se_register_operand (x3, DImode))
02955     {
02956       operands[1] = x3;
02957       goto L1306;
02958     }
02959   goto ret0;
02960 
02961  L1306: ATTRIBUTE_UNUSED_LABEL
02962   if ((TARGET_64BIT && !TARGET_MIPS16))
02963     {
02964       return 123;
02965     }
02966   goto ret0;
02967 
02968  L1352: ATTRIBUTE_UNUSED_LABEL
02969   if ((!TARGET_MIPS16))
02970     {
02971       return 132;
02972     }
02973   x1 = XEXP (x0, 1);
02974   x2 = XEXP (x1, 0);
02975   goto L3411;
02976 
02977  L1357: ATTRIBUTE_UNUSED_LABEL
02978   if ((TARGET_MIPS16))
02979     {
02980       return 133;
02981     }
02982   goto ret0;
02983 
02984  L1382: ATTRIBUTE_UNUSED_LABEL
02985   x2 = XEXP (x1, 0);
02986   switch (GET_MODE (x2))
02987     {
02988     case HImode:
02989       goto L3412;
02990     case QImode:
02991       goto L3413;
02992     default:
02993       break;
02994     }
02995   goto ret0;
02996 
02997  L3412: ATTRIBUTE_UNUSED_LABEL
02998   if (memory_operand (x2, HImode))
02999     {
03000       operands[1] = x2;
03001       return 138;
03002     }
03003   goto ret0;
03004 
03005  L3413: ATTRIBUTE_UNUSED_LABEL
03006   if (memory_operand (x2, QImode))
03007     {
03008       operands[1] = x2;
03009       return 140;
03010     }
03011   goto ret0;
03012 
03013  L1404: ATTRIBUTE_UNUSED_LABEL
03014   x2 = XEXP (x1, 0);
03015   switch (GET_MODE (x2))
03016     {
03017     case DFmode:
03018       goto L3414;
03019     case SFmode:
03020       goto L3415;
03021     default:
03022       break;
03023     }
03024   goto ret0;
03025 
03026  L3414: ATTRIBUTE_UNUSED_LABEL
03027   if (register_operand (x2, DFmode))
03028     {
03029       operands[1] = x2;
03030       goto L1405;
03031     }
03032   goto ret0;
03033 
03034  L1405: ATTRIBUTE_UNUSED_LABEL
03035   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && ISA_HAS_TRUNC_W))
03036     {
03037       return 143;
03038     }
03039  L1418: ATTRIBUTE_UNUSED_LABEL
03040   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !ISA_HAS_TRUNC_W)
03041       && pnum_clobbers != NULL)
03042     {
03043       *pnum_clobbers = 1;
03044       return 144;
03045     }
03046   goto ret0;
03047 
03048  L3415: ATTRIBUTE_UNUSED_LABEL
03049   if (register_operand (x2, SFmode))
03050     {
03051       operands[1] = x2;
03052       goto L1423;
03053     }
03054   goto ret0;
03055 
03056  L1423: ATTRIBUTE_UNUSED_LABEL
03057   if ((TARGET_HARD_FLOAT && ISA_HAS_TRUNC_W))
03058     {
03059       return 145;
03060     }
03061  L1436: ATTRIBUTE_UNUSED_LABEL
03062   if ((TARGET_HARD_FLOAT && !ISA_HAS_TRUNC_W)
03063       && pnum_clobbers != NULL)
03064     {
03065       *pnum_clobbers = 1;
03066       return 146;
03067     }
03068   goto ret0;
03069 
03070  L3390: ATTRIBUTE_UNUSED_LABEL
03071   if (XVECLEN (x1, 0) == 1
03072       && XINT (x1, 1) == 0)
03073     goto L1470;
03074   goto ret0;
03075 
03076  L1470: ATTRIBUTE_UNUSED_LABEL
03077   x2 = XVECEXP (x1, 0, 0);
03078   if (general_operand (x2, BLKmode))
03079     {
03080       operands[1] = x2;
03081       goto L1471;
03082     }
03083   goto ret0;
03084 
03085  L1471: ATTRIBUTE_UNUSED_LABEL
03086   if ((!TARGET_MIPS16))
03087     {
03088       return 153;
03089     }
03090   goto ret0;
03091 
03092  L1488: ATTRIBUTE_UNUSED_LABEL
03093   x2 = XEXP (x1, 0);
03094   if (immediate_operand (x2, SImode))
03095     {
03096       operands[1] = x2;
03097       goto L1489;
03098     }
03099   goto ret0;
03100 
03101  L1489: ATTRIBUTE_UNUSED_LABEL
03102   if ((mips_split_addresses && !TARGET_MIPS16))
03103     {
03104       return 157;
03105     }
03106   goto ret0;
03107 
03108  L1493: ATTRIBUTE_UNUSED_LABEL
03109   x2 = XEXP (x1, 0);
03110   if (register_operand (x2, SImode))
03111     {
03112       operands[1] = x2;
03113       goto L1494;
03114     }
03115   goto ret0;
03116 
03117  L1494: ATTRIBUTE_UNUSED_LABEL
03118   x2 = XEXP (x1, 1);
03119   if (immediate_operand (x2, SImode))
03120     {
03121       operands[2] = x2;
03122       goto L1495;
03123     }
03124   goto ret0;
03125 
03126  L1495: ATTRIBUTE_UNUSED_LABEL
03127   if ((mips_split_addresses && !TARGET_MIPS16))
03128     {
03129       return 158;
03130     }
03131   goto ret0;
03132 
03133  L1747: ATTRIBUTE_UNUSED_LABEL
03134   x2 = XEXP (x1, 0);
03135   if (register_operand (x2, SImode))
03136     {
03137       operands[1] = x2;
03138       goto L1748;
03139     }
03140   goto ret0;
03141 
03142  L1748: ATTRIBUTE_UNUSED_LABEL
03143   x2 = XEXP (x1, 1);
03144   if (arith_operand (x2, SImode))
03145     {
03146       operands[2] = x2;
03147       goto L1749;
03148     }
03149   goto ret0;
03150 
03151  L1749: ATTRIBUTE_UNUSED_LABEL
03152   if ((!TARGET_MIPS16))
03153     {
03154       return 195;
03155     }
03156  L1755: ATTRIBUTE_UNUSED_LABEL
03157   if ((TARGET_MIPS16))
03158     {
03159       return 196;
03160     }
03161   goto ret0;
03162 
03163  L1798: ATTRIBUTE_UNUSED_LABEL
03164   x2 = XEXP (x1, 0);
03165   if (register_operand (x2, SImode))
03166     {
03167       operands[1] = x2;
03168       goto L1799;
03169     }
03170   goto ret0;
03171 
03172  L1799: ATTRIBUTE_UNUSED_LABEL
03173   x2 = XEXP (x1, 1);
03174   if (arith_operand (x2, SImode))
03175     {
03176       operands[2] = x2;
03177       goto L1800;
03178     }
03179   goto ret0;
03180 
03181  L1800: ATTRIBUTE_UNUSED_LABEL
03182   if ((!TARGET_MIPS16))
03183     {
03184       return 202;
03185     }
03186  L1806: ATTRIBUTE_UNUSED_LABEL
03187   if ((TARGET_MIPS16))
03188     {
03189       return 203;
03190     }
03191   goto ret0;
03192 
03193  L1849: ATTRIBUTE_UNUSED_LABEL
03194   x2 = XEXP (x1, 0);
03195   if (GET_MODE (x2) == SImode)
03196     goto L3416;
03197   goto ret0;
03198 
03199  L3416: ATTRIBUTE_UNUSED_LABEL
03200   if (register_operand (x2, SImode))
03201     {
03202       operands[1] = x2;
03203       goto L1850;
03204     }
03205  L3417: ATTRIBUTE_UNUSED_LABEL
03206   if (memory_operand (x2, SImode))
03207     {
03208       operands[1] = x2;
03209       goto L1862;
03210     }
03211   goto ret0;
03212 
03213  L1850: ATTRIBUTE_UNUSED_LABEL
03214   x2 = XEXP (x1, 1);
03215   if (arith_operand (x2, SImode))
03216     {
03217       operands[2] = x2;
03218       goto L1851;
03219     }
03220   x2 = XEXP (x1, 0);
03221   goto L3417;
03222 
03223  L1851: ATTRIBUTE_UNUSED_LABEL
03224   if ((!TARGET_MIPS16))
03225     {
03226       return 209;
03227     }
03228  L1857: ATTRIBUTE_UNUSED_LABEL
03229   if ((TARGET_MIPS16))
03230     {
03231       return 210;
03232     }
03233   x1 = XEXP (x0, 1);
03234   x2 = XEXP (x1, 0);
03235   goto L3417;
03236 
03237  L1862: ATTRIBUTE_UNUSED_LABEL
03238   x2 = XEXP (x1, 1);
03239   if (immediate_operand (x2, SImode))
03240     {
03241       operands[2] = x2;
03242       goto L1863;
03243     }
03244   goto ret0;
03245 
03246  L1863: ATTRIBUTE_UNUSED_LABEL
03247   if ((TARGET_MIPS16))
03248     {
03249       return 211;
03250     }
03251   goto ret0;
03252 
03253  L1906: ATTRIBUTE_UNUSED_LABEL
03254   x2 = XEXP (x1, 0);
03255   if (register_operand (x2, SImode))
03256     {
03257       operands[1] = x2;
03258       goto L1907;
03259     }
03260   goto ret0;
03261 
03262  L1907: ATTRIBUTE_UNUSED_LABEL
03263   x2 = XEXP (x1, 1);
03264   if (arith_operand (x2, SImode))
03265     {
03266       operands[2] = x2;
03267       goto L1908;
03268     }
03269   goto ret0;
03270 
03271  L1908: ATTRIBUTE_UNUSED_LABEL
03272   if ((ISA_HAS_ROTR_SI))
03273     {
03274       return 217;
03275     }
03276   goto ret0;
03277 
03278  L2031: ATTRIBUTE_UNUSED_LABEL
03279   x2 = XEXP (x1, 0);
03280   if (register_operand (x2, SImode))
03281     {
03282       operands[1] = x2;
03283       goto L2032;
03284     }
03285   goto ret0;
03286 
03287  L2032: ATTRIBUTE_UNUSED_LABEL
03288   x2 = XEXP (x1, 1);
03289   if (GET_CODE (x2) == CONST_INT)
03290     goto L3418;
03291   goto ret0;
03292 
03293  L3418: ATTRIBUTE_UNUSED_LABEL
03294   if (XWINT (x2, 0) == 0LL)
03295     goto L3420;
03296   goto ret0;
03297 
03298  L3420: ATTRIBUTE_UNUSED_LABEL
03299   if ((!TARGET_MIPS16))
03300     {
03301       return 231;
03302     }
03303  L3421: ATTRIBUTE_UNUSED_LABEL
03304   if ((TARGET_MIPS16))
03305     {
03306       return 232;
03307     }
03308   goto ret0;
03309 
03310  L2051: ATTRIBUTE_UNUSED_LABEL
03311   x2 = XEXP (x1, 0);
03312   if (register_operand (x2, SImode))
03313     {
03314       operands[1] = x2;
03315       goto L2052;
03316     }
03317   goto ret0;
03318 
03319  L2052: ATTRIBUTE_UNUSED_LABEL
03320   x2 = XEXP (x1, 1);
03321   if (GET_CODE (x2) == CONST_INT
03322       && XWINT (x2, 0) == 0LL
03323       && (!TARGET_MIPS16))
03324     {
03325       return 235;
03326     }
03327   goto ret0;
03328 
03329  L2061: ATTRIBUTE_UNUSED_LABEL
03330   x2 = XEXP (x1, 0);
03331   if (register_operand (x2, SImode))
03332     {
03333       operands[1] = x2;
03334       goto L2062;
03335     }
03336   goto ret0;
03337 
03338  L2062: ATTRIBUTE_UNUSED_LABEL
03339   x2 = XEXP (x1, 1);
03340   if (reg_or_0_operand (x2, SImode))
03341     {
03342       operands[2] = x2;
03343       goto L2063;
03344     }
03345  L2068: ATTRIBUTE_UNUSED_LABEL
03346   if (register_operand (x2, SImode))
03347     {
03348       operands[2] = x2;
03349       goto L2069;
03350     }
03351   goto ret0;
03352 
03353  L2063: ATTRIBUTE_UNUSED_LABEL
03354   if ((!TARGET_MIPS16))
03355     {
03356       return 237;
03357     }
03358   x1 = XEXP (x0, 1);
03359   x2 = XEXP (x1, 1);
03360   goto L2068;
03361 
03362  L2069: ATTRIBUTE_UNUSED_LABEL
03363   if ((TARGET_MIPS16))
03364     {
03365       return 238;
03366     }
03367   goto ret0;
03368 
03369  L2085: ATTRIBUTE_UNUSED_LABEL
03370   x2 = XEXP (x1, 0);
03371   if (register_operand (x2, SImode))
03372     {
03373       operands[1] = x2;
03374       goto L2086;
03375     }
03376   goto ret0;
03377 
03378  L2086: ATTRIBUTE_UNUSED_LABEL
03379   x2 = XEXP (x1, 1);
03380   if (arith_operand (x2, SImode))
03381     {
03382       operands[2] = x2;
03383       goto L2087;
03384     }
03385   goto ret0;
03386 
03387  L2087: ATTRIBUTE_UNUSED_LABEL
03388   if ((!TARGET_MIPS16))
03389     {
03390       return 241;
03391     }
03392  L2093: ATTRIBUTE_UNUSED_LABEL
03393   if ((TARGET_MIPS16))
03394     {
03395       return 242;
03396     }
03397   goto ret0;
03398 
03399  L2109: ATTRIBUTE_UNUSED_LABEL
03400   x2 = XEXP (x1, 0);
03401   if (register_operand (x2, SImode))
03402     {
03403       operands[1] = x2;
03404       goto L2110;
03405     }
03406   goto ret0;
03407 
03408  L2110: ATTRIBUTE_UNUSED_LABEL
03409   x2 = XEXP (x1, 1);
03410   if (small_int (x2, SImode))
03411     {
03412       operands[2] = x2;
03413       goto L2111;
03414     }
03415   goto ret0;
03416 
03417  L2111: ATTRIBUTE_UNUSED_LABEL
03418   if ((!TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
03419     {
03420       return 245;
03421     }
03422  L2117: ATTRIBUTE_UNUSED_LABEL
03423   if ((TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
03424     {
03425       return 246;
03426     }
03427   goto ret0;
03428 
03429  L2133: ATTRIBUTE_UNUSED_LABEL
03430   x2 = XEXP (x1, 0);
03431   if (register_operand (x2, SImode))
03432     {
03433       operands[1] = x2;
03434       goto L2134;
03435     }
03436   goto ret0;
03437 
03438  L2134: ATTRIBUTE_UNUSED_LABEL
03439   x2 = XEXP (x1, 1);
03440   if (reg_or_0_operand (x2, SImode))
03441     {
03442       operands[2] = x2;
03443       goto L2135;
03444     }
03445  L2140: ATTRIBUTE_UNUSED_LABEL
03446   if (register_operand (x2, SImode))
03447     {
03448       operands[2] = x2;
03449       goto L2141;
03450     }
03451   goto ret0;
03452 
03453  L2135: ATTRIBUTE_UNUSED_LABEL
03454   if ((!TARGET_MIPS16))
03455     {
03456       return 249;
03457     }
03458   x1 = XEXP (x0, 1);
03459   x2 = XEXP (x1, 1);
03460   goto L2140;
03461 
03462  L2141: ATTRIBUTE_UNUSED_LABEL
03463   if ((TARGET_MIPS16))
03464     {
03465       return 250;
03466     }
03467   goto ret0;
03468 
03469  L2157: ATTRIBUTE_UNUSED_LABEL
03470   x2 = XEXP (x1, 0);
03471   if (register_operand (x2, SImode))
03472     {
03473       operands[1] = x2;
03474       goto L2158;
03475     }
03476   goto ret0;
03477 
03478  L2158: ATTRIBUTE_UNUSED_LABEL
03479   x2 = XEXP (x1, 1);
03480   if (arith_operand (x2, SImode))
03481     {
03482       operands[2] = x2;
03483       goto L2159;
03484     }
03485   goto ret0;
03486 
03487  L2159: ATTRIBUTE_UNUSED_LABEL
03488   if ((!TARGET_MIPS16))
03489     {
03490       return 253;
03491     }
03492  L2165: ATTRIBUTE_UNUSED_LABEL
03493   if ((TARGET_MIPS16))
03494     {
03495       return 254;
03496     }
03497   goto ret0;
03498 
03499  L2181: ATTRIBUTE_UNUSED_LABEL
03500   x2 = XEXP (x1, 0);
03501   if (register_operand (x2, SImode))
03502     {
03503       operands[1] = x2;
03504       goto L2182;
03505     }
03506   goto ret0;
03507 
03508  L2182: ATTRIBUTE_UNUSED_LABEL
03509   x2 = XEXP (x1, 1);
03510   if (small_int (x2, SImode))
03511     {
03512       operands[2] = x2;
03513       goto L2183;
03514     }
03515   goto ret0;
03516 
03517  L2183: ATTRIBUTE_UNUSED_LABEL
03518   if ((!TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
03519     {
03520       return 257;
03521     }
03522  L2189: ATTRIBUTE_UNUSED_LABEL
03523   if ((TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
03524     {
03525       return 258;
03526     }
03527   goto ret0;
03528 
03529  L2663: ATTRIBUTE_UNUSED_LABEL
03530   x2 = XEXP (x1, 0);
03531   if (equality_op (x2, VOIDmode))
03532     {
03533       operands[4] = x2;
03534       goto L2664;
03535     }
03536  L2681: ATTRIBUTE_UNUSED_LABEL
03537   if (equality_op (x2, VOIDmode))
03538     {
03539       operands[3] = x2;
03540       goto L2682;
03541     }
03542   goto ret0;
03543 
03544  L2664: ATTRIBUTE_UNUSED_LABEL
03545   x3 = XEXP (x2, 0);
03546   switch (GET_MODE (x3))
03547     {
03548     case SImode:
03549       goto L3422;
03550     case DImode:
03551       goto L3423;
03552     default:
03553       break;
03554     }
03555   goto L2681;
03556 
03557  L3422: ATTRIBUTE_UNUSED_LABEL
03558   if (register_operand (x3, SImode))
03559     {
03560       operands[1] = x3;
03561       goto L2665;
03562     }
03563   goto L2681;
03564 
03565  L2665: ATTRIBUTE_UNUSED_LABEL
03566   x3 = XEXP (x2, 1);
03567   if (GET_CODE (x3) == CONST_INT
03568       && XWINT (x3, 0) == 0LL)
03569     goto L2666;
03570   goto L2681;
03571 
03572  L2666: ATTRIBUTE_UNUSED_LABEL
03573   x2 = XEXP (x1, 1);
03574   if (reg_or_0_operand (x2, SImode))
03575     {
03576       operands[2] = x2;
03577       goto L2667;
03578     }
03579   x2 = XEXP (x1, 0);
03580   goto L2681;
03581 
03582  L2667: ATTRIBUTE_UNUSED_LABEL
03583   x2 = XEXP (x1, 2);
03584   if (reg_or_0_operand (x2, SImode))
03585     {
03586       operands[3] = x2;
03587       goto L2668;
03588     }
03589   x2 = XEXP (x1, 0);
03590   goto L2681;
03591 
03592  L2668: ATTRIBUTE_UNUSED_LABEL
03593   if ((ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE))
03594     {
03595       return 319;
03596     }
03597   x1 = XEXP (x0, 1);
03598   x2 = XEXP (x1, 0);
03599   goto L2681;
03600 
03601  L3423: ATTRIBUTE_UNUSED_LABEL
03602   if (se_register_operand (x3, DImode))
03603     {
03604       operands[1] = x3;
03605       goto L2674;
03606     }
03607   goto L2681;
03608 
03609  L2674: ATTRIBUTE_UNUSED_LABEL
03610   x3 = XEXP (x2, 1);
03611   if (GET_CODE (x3) == CONST_INT
03612       && XWINT (x3, 0) == 0LL)
03613     goto L2675;
03614   goto L2681;
03615 
03616  L2675: ATTRIBUTE_UNUSED_LABEL
03617   x2 = XEXP (x1, 1);
03618   if (reg_or_0_operand (x2, SImode))
03619     {
03620       operands[2] = x2;
03621       goto L2676;
03622     }
03623   x2 = XEXP (x1, 0);
03624   goto L2681;
03625 
03626  L2676: ATTRIBUTE_UNUSED_LABEL
03627   x2 = XEXP (x1, 2);
03628   if (reg_or_0_operand (x2, SImode))
03629     {
03630       operands[3] = x2;
03631       goto L2677;
03632     }
03633   x2 = XEXP (x1, 0);
03634   goto L2681;
03635 
03636  L2677: ATTRIBUTE_UNUSED_LABEL
03637   if ((ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE))
03638     {
03639       return 320;
03640     }
03641   x1 = XEXP (x0, 1);
03642   x2 = XEXP (x1, 0);
03643   goto L2681;
03644 
03645  L2682: ATTRIBUTE_UNUSED_LABEL
03646   x3 = XEXP (x2, 0);
03647   if (register_operand (x3, CCmode))
03648     {
03649       operands[4] = x3;
03650       goto L2683;
03651     }
03652   goto ret0;
03653 
03654  L2683: ATTRIBUTE_UNUSED_LABEL
03655   x3 = XEXP (x2, 1);
03656   if (GET_CODE (x3) == CONST_INT
03657       && XWINT (x3, 0) == 0LL)
03658     goto L2684;
03659   goto ret0;
03660 
03661  L2684: ATTRIBUTE_UNUSED_LABEL
03662   x2 = XEXP (x1, 1);
03663   if (reg_or_0_operand (x2, SImode))
03664     {
03665       operands[1] = x2;
03666       goto L2685;
03667     }
03668   goto ret0;
03669 
03670  L2685: ATTRIBUTE_UNUSED_LABEL
03671   x2 = XEXP (x1, 2);
03672   if (reg_or_0_operand (x2, SImode))
03673     {
03674       operands[2] = x2;
03675       goto L2686;
03676     }
03677   goto ret0;
03678 
03679  L2686: ATTRIBUTE_UNUSED_LABEL
03680   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT))
03681     {
03682       return 321;
03683     }
03684   goto ret0;
03685  ret0:
03686   return -1;
03687 }
03688 
03689 static int recog_4 PARAMS ((rtx, rtx, int *));
03690 static int
03691 recog_4 (x0, insn, pnum_clobbers)
03692      rtx x0 ATTRIBUTE_UNUSED;
03693      rtx insn ATTRIBUTE_UNUSED;
03694      int *pnum_clobbers ATTRIBUTE_UNUSED;
03695 {
03696   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
03697   rtx x1 ATTRIBUTE_UNUSED;
03698   rtx x2 ATTRIBUTE_UNUSED;
03699   rtx x3 ATTRIBUTE_UNUSED;
03700   rtx x4 ATTRIBUTE_UNUSED;
03701   rtx x5 ATTRIBUTE_UNUSED;
03702   rtx x6 ATTRIBUTE_UNUSED;
03703   rtx x7 ATTRIBUTE_UNUSED;
03704   int tem ATTRIBUTE_UNUSED;
03705 
03706   x1 = XEXP (x0, 1);
03707   switch (GET_CODE (x1))
03708     {
03709     case MINUS:
03710       goto L169;
03711     case SIGN_EXTEND:
03712       goto L181;
03713     case MULT:
03714       goto L381;
03715     case NEG:
03716       goto L460;
03717     case TRUNCATE:
03718       goto L594;
03719     case PLUS:
03720       goto L663;
03721     case DIV:
03722       goto L934;
03723     case MOD:
03724       goto L968;
03725     case UDIV:
03726       goto L1002;
03727     case UMOD:
03728       goto L1036;
03729     case ABS:
03730       goto L1071;
03731     case FFS:
03732       goto L1111;
03733     case NOT:
03734       goto L1147;
03735     case AND:
03736       goto L1163;
03737     case IOR:
03738       goto L1193;
03739     case XOR:
03740       goto L1217;
03741     case ZERO_EXTEND:
03742       goto L1316;
03743     case FIX:
03744       goto L1440;
03745     case UNSPEC:
03746       goto L3461;
03747     case ASHIFT:
03748       goto L1786;
03749     case ASHIFTRT:
03750       goto L1837;
03751     case LSHIFTRT:
03752       goto L1894;
03753     case ROTATERT:
03754       goto L1912;
03755     case EQ:
03756       goto L2041;
03757     case NE:
03758       goto L2056;
03759     case GT:
03760       goto L2073;
03761     case LT:
03762       goto L2097;
03763     case LE:
03764       goto L2121;
03765     case GTU:
03766       goto L2145;
03767     case LTU:
03768       goto L2169;
03769     case LEU:
03770       goto L2193;
03771     case IF_THEN_ELSE:
03772       goto L2690;
03773     default:
03774      break;
03775    }
03776   goto ret0;
03777 
03778  L169: ATTRIBUTE_UNUSED_LABEL
03779   x2 = XEXP (x1, 0);
03780   if (GET_MODE (x2) == DImode)
03781     goto L3462;
03782   goto ret0;
03783 
03784  L3462: ATTRIBUTE_UNUSED_LABEL
03785   if (GET_CODE (x2) == REG
03786       && XINT (x2, 0) == 29)
03787     goto L170;
03788  L3463: ATTRIBUTE_UNUSED_LABEL
03789   if (register_operand (x2, DImode))
03790     {
03791       operands[1] = x2;
03792       goto L176;
03793     }
03794  L3464: ATTRIBUTE_UNUSED_LABEL
03795   if (register_operand (x2, DImode))
03796     {
03797       operands[3] = x2;
03798       goto L485;
03799     }
03800   goto ret0;
03801 
03802  L170: ATTRIBUTE_UNUSED_LABEL
03803   x2 = XEXP (x1, 1);
03804   if (small_int (x2, DImode))
03805     {
03806       operands[1] = x2;
03807       goto L171;
03808     }
03809   x2 = XEXP (x1, 0);
03810   goto L3463;
03811 
03812  L171: ATTRIBUTE_UNUSED_LABEL
03813   if ((TARGET_MIPS16
03814    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
03815     {
03816       return 26;
03817     }
03818   x1 = XEXP (x0, 1);
03819   x2 = XEXP (x1, 0);
03820   goto L3463;
03821 
03822  L176: ATTRIBUTE_UNUSED_LABEL
03823   x2 = XEXP (x1, 1);
03824   if (arith_operand (x2, DImode))
03825     {
03826       operands[2] = x2;
03827       goto L177;
03828     }
03829   x2 = XEXP (x1, 0);
03830   goto L3464;
03831 
03832  L177: ATTRIBUTE_UNUSED_LABEL
03833   if ((TARGET_MIPS16
03834    && (GET_CODE (operands[2]) != CONST_INT
03835        || (INTVAL (operands[2]) != -32768 && INTVAL (operands[2]) != -0x4000))))
03836     {
03837       return 27;
03838     }
03839   x1 = XEXP (x0, 1);
03840   x2 = XEXP (x1, 0);
03841   goto L3464;
03842 
03843  L485: ATTRIBUTE_UNUSED_LABEL
03844   x2 = XEXP (x1, 1);
03845   if (GET_MODE (x2) == DImode
03846       && GET_CODE (x2) == MULT)
03847     goto L486;
03848   goto ret0;
03849 
03850  L486: ATTRIBUTE_UNUSED_LABEL
03851   x3 = XEXP (x2, 0);
03852   if (extend_operator (x3, DImode))
03853     {
03854       operands[4] = x3;
03855       goto L487;
03856     }
03857   goto ret0;
03858 
03859  L487: ATTRIBUTE_UNUSED_LABEL
03860   x4 = XEXP (x3, 0);
03861   if (register_operand (x4, SImode))
03862     {
03863       operands[1] = x4;
03864       goto L488;
03865     }
03866   goto ret0;
03867 
03868  L488: ATTRIBUTE_UNUSED_LABEL
03869   x3 = XEXP (x2, 1);
03870   if (extend_operator (x3, DImode))
03871     {
03872       operands[5] = x3;
03873       goto L489;
03874     }
03875   goto ret0;
03876 
03877  L489: ATTRIBUTE_UNUSED_LABEL
03878   x4 = XEXP (x3, 0);
03879   if (register_operand (x4, SImode))
03880     {
03881       operands[2] = x4;
03882       goto L490;
03883     }
03884   goto ret0;
03885 
03886  L490: ATTRIBUTE_UNUSED_LABEL
03887   if ((TARGET_64BIT
03888    && ISA_HAS_MSAC
03889    && GET_CODE (operands[4]) == GET_CODE (operands[5]))
03890       && pnum_clobbers != NULL)
03891     {
03892       *pnum_clobbers = 2;
03893       return 46;
03894     }
03895   goto ret0;
03896 
03897  L181: ATTRIBUTE_UNUSED_LABEL
03898   x2 = XEXP (x1, 0);
03899   switch (GET_MODE (x2))
03900     {
03901     case SImode:
03902       goto L3465;
03903     case HImode:
03904       goto L3467;
03905     case QImode:
03906       goto L3468;
03907     default:
03908       break;
03909     }
03910   goto ret0;
03911 
03912  L3465: ATTRIBUTE_UNUSED_LABEL
03913   switch (GET_CODE (x2))
03914     {
03915     case MINUS:
03916       goto L182;
03917     case SUBREG:
03918       goto L3469;
03919     default:
03920      break;
03921    }
03922   goto ret0;
03923 
03924  L182: ATTRIBUTE_UNUSED_LABEL
03925   x3 = XEXP (x2, 0);
03926   if (reg_or_0_operand (x3, SImode))
03927     {
03928       operands[1] = x3;
03929       goto L183;
03930     }
03931  L189: ATTRIBUTE_UNUSED_LABEL
03932   if (register_operand (x3, SImode))
03933     {
03934       operands[1] = x3;
03935       goto L190;
03936     }
03937   goto ret0;
03938 
03939  L183: ATTRIBUTE_UNUSED_LABEL
03940   x3 = XEXP (x2, 1);
03941   if (arith_operand (x3, SImode))
03942     {
03943       operands[2] = x3;
03944       goto L184;
03945     }
03946   x3 = XEXP (x2, 0);
03947   goto L189;
03948 
03949  L184: ATTRIBUTE_UNUSED_LABEL
03950   if ((TARGET_64BIT && !TARGET_MIPS16
03951    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
03952     {
03953       return 28;
03954     }
03955   x1 = XEXP (x0, 1);
03956   x2 = XEXP (x1, 0);
03957   x3 = XEXP (x2, 0);
03958   goto L189;
03959 
03960  L190: ATTRIBUTE_UNUSED_LABEL
03961   x3 = XEXP (x2, 1);
03962   if (arith_operand (x3, SImode))
03963     {
03964       operands[2] = x3;
03965       goto L191;
03966     }
03967   goto ret0;
03968 
03969  L191: ATTRIBUTE_UNUSED_LABEL
03970   if ((TARGET_64BIT && TARGET_MIPS16
03971    && (GET_CODE (operands[2]) != CONST_INT
03972        || (INTVAL (operands[2]) != -32768 && INTVAL (operands[2]) != -0x4000))))
03973     {
03974       return 29;
03975     }
03976   goto ret0;
03977 
03978  L3469: ATTRIBUTE_UNUSED_LABEL
03979   if (XINT (x2, 1) == 0)
03980     goto L1367;
03981   goto ret0;
03982 
03983  L1367: ATTRIBUTE_UNUSED_LABEL
03984   x3 = XEXP (x2, 0);
03985   if (memory_operand (x3, HImode))
03986     {
03987       operands[1] = x3;
03988       goto L1368;
03989     }
03990   goto ret0;
03991 
03992  L1368: ATTRIBUTE_UNUSED_LABEL
03993   if ((TARGET_64BIT))
03994     {
03995       return 135;
03996     }
03997   goto ret0;
03998 
03999  L3467: ATTRIBUTE_UNUSED_LABEL
04000   if (memory_operand (x2, HImode))
04001     {
04002       operands[1] = x2;
04003       goto L1378;
04004     }
04005   goto ret0;
04006 
04007  L1378: ATTRIBUTE_UNUSED_LABEL
04008   if ((TARGET_64BIT))
04009     {
04010       return 137;
04011     }
04012   goto ret0;
04013 
04014  L3468: ATTRIBUTE_UNUSED_LABEL
04015   if (memory_operand (x2, QImode))
04016     {
04017       operands[1] = x2;
04018       goto L1395;
04019     }
04020   goto ret0;
04021 
04022  L1395: ATTRIBUTE_UNUSED_LABEL
04023   if ((TARGET_64BIT))
04024     {
04025       return 141;
04026     }
04027   goto ret0;
04028 
04029  L381: ATTRIBUTE_UNUSED_LABEL
04030   x2 = XEXP (x1, 0);
04031   if (GET_MODE (x2) == DImode)
04032     goto L3470;
04033   goto ret0;
04034 
04035  L3470: ATTRIBUTE_UNUSED_LABEL
04036   if (se_register_operand (x2, DImode))
04037     {
04038       operands[1] = x2;
04039       goto L382;
04040     }
04041  L3471: ATTRIBUTE_UNUSED_LABEL
04042   if (extend_operator (x2, DImode))
04043     {
04044       operands[3] = x2;
04045       goto L418;
04046     }
04047   goto ret0;
04048 
04049  L382: ATTRIBUTE_UNUSED_LABEL
04050   x2 = XEXP (x1, 1);
04051   if (register_operand (x2, DImode))
04052     {
04053       operands[2] = x2;
04054       goto L383;
04055     }
04056   x2 = XEXP (x1, 0);
04057   goto L3471;
04058 
04059  L383: ATTRIBUTE_UNUSED_LABEL
04060   if ((TARGET_64BIT && !TARGET_MIPS4000 && !TARGET_MIPS16)
04061       && pnum_clobbers != NULL)
04062     {
04063       *pnum_clobbers = 2;
04064       return 41;
04065     }
04066  L402: ATTRIBUTE_UNUSED_LABEL
04067   if ((TARGET_64BIT && (GENERATE_MULT3_DI || TARGET_MIPS4000 || TARGET_MIPS16))
04068       && pnum_clobbers != NULL)
04069     {
04070       *pnum_clobbers = 3;
04071       return 42;
04072     }
04073   x1 = XEXP (x0, 1);
04074   x2 = XEXP (x1, 0);
04075   goto L3471;
04076 
04077  L418: ATTRIBUTE_UNUSED_LABEL
04078   x3 = XEXP (x2, 0);
04079   if (register_operand (x3, SImode))
04080     {
04081       operands[1] = x3;
04082       goto L419;
04083     }
04084   goto ret0;
04085 
04086  L419: ATTRIBUTE_UNUSED_LABEL
04087   x2 = XEXP (x1, 1);
04088   if (extend_operator (x2, DImode))
04089     {
04090       operands[4] = x2;
04091       goto L420;
04092     }
04093   goto ret0;
04094 
04095  L420: ATTRIBUTE_UNUSED_LABEL
04096   x3 = XEXP (x2, 0);
04097   if (register_operand (x3, SImode))
04098     {
04099       operands[2] = x3;
04100       goto L421;
04101     }
04102   goto ret0;
04103 
04104  L421: ATTRIBUTE_UNUSED_LABEL
04105   if ((!TARGET_64BIT && GET_CODE (operands[3]) == GET_CODE (operands[4]))
04106       && pnum_clobbers != NULL)
04107     {
04108       *pnum_clobbers = 1;
04109       return 43;
04110     }
04111  L442: ATTRIBUTE_UNUSED_LABEL
04112   if ((TARGET_64BIT && GET_CODE (operands[3]) == GET_CODE (operands[4]))
04113       && pnum_clobbers != NULL)
04114     {
04115       *pnum_clobbers = 2;
04116       return 44;
04117     }
04118   goto ret0;
04119 
04120  L460: ATTRIBUTE_UNUSED_LABEL
04121   x2 = XEXP (x1, 0);
04122   if (GET_MODE (x2) == DImode)
04123     goto L3472;
04124   goto ret0;
04125 
04126  L3472: ATTRIBUTE_UNUSED_LABEL
04127   if (GET_CODE (x2) == MULT)
04128     goto L461;
04129   if (se_register_operand (x2, DImode))
04130     {
04131       operands[1] = x2;
04132       goto L1129;
04133     }
04134   goto ret0;
04135 
04136  L461: ATTRIBUTE_UNUSED_LABEL
04137   x3 = XEXP (x2, 0);
04138   if (extend_operator (x3, DImode))
04139     {
04140       operands[3] = x3;
04141       goto L462;
04142     }
04143   goto ret0;
04144 
04145  L462: ATTRIBUTE_UNUSED_LABEL
04146   x4 = XEXP (x3, 0);
04147   if (register_operand (x4, SImode))
04148     {
04149       operands[1] = x4;
04150       goto L463;
04151     }
04152   goto ret0;
04153 
04154  L463: ATTRIBUTE_UNUSED_LABEL
04155   x3 = XEXP (x2, 1);
04156   if (extend_operator (x3, DImode))
04157     {
04158       operands[4] = x3;
04159       goto L464;
04160     }
04161   goto ret0;
04162 
04163  L464: ATTRIBUTE_UNUSED_LABEL
04164   x4 = XEXP (x3, 0);
04165   if (register_operand (x4, SImode))
04166     {
04167       operands[2] = x4;
04168       goto L465;
04169     }
04170   goto ret0;
04171 
04172  L465: ATTRIBUTE_UNUSED_LABEL
04173   if ((TARGET_64BIT
04174    && ISA_HAS_MULS
04175    && GET_CODE (operands[3]) == GET_CODE (operands[4]))
04176       && pnum_clobbers != NULL)
04177     {
04178       *pnum_clobbers = 2;
04179       return 45;
04180     }
04181   goto ret0;
04182 
04183  L1129: ATTRIBUTE_UNUSED_LABEL
04184   if ((TARGET_64BIT && !TARGET_MIPS16))
04185     {
04186       return 93;
04187     }
04188   goto ret0;
04189 
04190  L594: ATTRIBUTE_UNUSED_LABEL
04191   x2 = XEXP (x1, 0);
04192   if (GET_MODE (x2) == TImode
04193       && GET_CODE (x2) == LSHIFTRT)
04194     goto L595;
04195   goto ret0;
04196 
04197  L595: ATTRIBUTE_UNUSED_LABEL
04198   x3 = XEXP (x2, 0);
04199   if (GET_MODE (x3) == TImode
04200       && GET_CODE (x3) == MULT)
04201     goto L596;
04202   goto ret0;
04203 
04204  L596: ATTRIBUTE_UNUSED_LABEL
04205   x4 = XEXP (x3, 0);
04206   if (GET_MODE (x4) == TImode)
04207     goto L3474;
04208   goto ret0;
04209 
04210  L3474: ATTRIBUTE_UNUSED_LABEL
04211   switch (GET_CODE (x4))
04212     {
04213     case SIGN_EXTEND:
04214       goto L597;
04215     case ZERO_EXTEND:
04216       goto L623;
04217     default:
04218      break;
04219    }
04220   goto ret0;
04221 
04222  L597: ATTRIBUTE_UNUSED_LABEL
04223   x5 = XEXP (x4, 0);
04224   if (se_register_operand (x5, DImode))
04225     {
04226       operands[1] = x5;
04227       goto L598;
04228     }
04229   goto ret0;
04230 
04231  L598: ATTRIBUTE_UNUSED_LABEL
04232   x4 = XEXP (x3, 1);
04233   if (GET_MODE (x4) == TImode
04234       && GET_CODE (x4) == SIGN_EXTEND)
04235     goto L599;
04236   goto ret0;
04237 
04238  L599: ATTRIBUTE_UNUSED_LABEL
04239   x5 = XEXP (x4, 0);
04240   if (se_register_operand (x5, DImode))
04241     {
04242       operands[2] = x5;
04243       goto L600;
04244     }
04245   goto ret0;
04246 
04247  L600: ATTRIBUTE_UNUSED_LABEL
04248   x3 = XEXP (x2, 1);
04249   if (GET_CODE (x3) == CONST_INT
04250       && XWINT (x3, 0) == 64LL
04251       && (TARGET_64BIT)
04252       && pnum_clobbers != NULL)
04253     {
04254       *pnum_clobbers = 2;
04255       return 50;
04256     }
04257   goto ret0;
04258 
04259  L623: ATTRIBUTE_UNUSED_LABEL
04260   x5 = XEXP (x4, 0);
04261   if (se_register_operand (x5, DImode))
04262     {
04263       operands[1] = x5;
04264       goto L624;
04265     }
04266   goto ret0;
04267 
04268  L624: ATTRIBUTE_UNUSED_LABEL
04269   x4 = XEXP (x3, 1);
04270   if (GET_MODE (x4) == TImode
04271       && GET_CODE (x4) == ZERO_EXTEND)
04272     goto L625;
04273   goto ret0;
04274 
04275  L625: ATTRIBUTE_UNUSED_LABEL
04276   x5 = XEXP (x4, 0);
04277   if (se_register_operand (x5, DImode))
04278     {
04279       operands[2] = x5;
04280       goto L626;
04281     }
04282   goto ret0;
04283 
04284  L626: ATTRIBUTE_UNUSED_LABEL
04285   x3 = XEXP (x2, 1);
04286   if (GET_CODE (x3) == CONST_INT
04287       && XWINT (x3, 0) == 64LL
04288       && (TARGET_64BIT)
04289       && pnum_clobbers != NULL)
04290     {
04291       *pnum_clobbers = 2;
04292       return 51;
04293     }
04294   goto ret0;
04295 
04296  L663: ATTRIBUTE_UNUSED_LABEL
04297   x2 = XEXP (x1, 0);
04298   if (GET_MODE (x2) == DImode
04299       && GET_CODE (x2) == MULT)
04300     goto L664;
04301   goto ret0;
04302 
04303  L664: ATTRIBUTE_UNUSED_LABEL
04304   x3 = XEXP (x2, 0);
04305   if (extend_operator (x3, DImode))
04306     {
04307       operands[3] = x3;
04308       goto L665;
04309     }
04310   goto ret0;
04311 
04312  L665: ATTRIBUTE_UNUSED_LABEL
04313   x4 = XEXP (x3, 0);
04314   if (register_operand (x4, SImode))
04315     {
04316       operands[1] = x4;
04317       goto L666;
04318     }
04319   goto ret0;
04320 
04321  L666: ATTRIBUTE_UNUSED_LABEL
04322   x3 = XEXP (x2, 1);
04323   if (extend_operator (x3, DImode))
04324     {
04325       operands[4] = x3;
04326       goto L667;
04327     }
04328   goto ret0;
04329 
04330  L667: ATTRIBUTE_UNUSED_LABEL
04331   x4 = XEXP (x3, 0);
04332   if (register_operand (x4, SImode))
04333     {
04334       operands[2] = x4;
04335       goto L668;
04336     }
04337   goto ret0;
04338 
04339  L668: ATTRIBUTE_UNUSED_LABEL
04340   x2 = XEXP (x1, 1);
04341   if (rtx_equal_p (x2, operands[0])
04342       && (TARGET_MAD
04343    && ! TARGET_64BIT
04344    && GET_CODE (operands[3]) == GET_CODE (operands[4]))
04345       && pnum_clobbers != NULL)
04346     {
04347       *pnum_clobbers = 1;
04348       return 53;
04349     }
04350  L692: ATTRIBUTE_UNUSED_LABEL
04351   if (rtx_equal_p (x2, operands[0])
04352       && (TARGET_MAD
04353    && TARGET_64BIT
04354    && GET_CODE (operands[3]) == GET_CODE (operands[4]))
04355       && pnum_clobbers != NULL)
04356     {
04357       *pnum_clobbers = 2;
04358       return 54;
04359     }
04360   goto ret0;
04361 
04362  L934: ATTRIBUTE_UNUSED_LABEL
04363   x2 = XEXP (x1, 0);
04364   if (se_register_operand (x2, DImode))
04365     {
04366       operands[1] = x2;
04367       goto L935;
04368     }
04369   goto ret0;
04370 
04371  L935: ATTRIBUTE_UNUSED_LABEL
04372   x2 = XEXP (x1, 1);
04373   if (se_nonmemory_operand (x2, DImode))
04374     {
04375       operands[2] = x2;
04376       goto L936;
04377     }
04378   goto ret0;
04379 
04380  L936: ATTRIBUTE_UNUSED_LABEL
04381   if ((TARGET_64BIT && !optimize)
04382       && pnum_clobbers != NULL)
04383     {
04384       *pnum_clobbers = 2;
04385       return 74;
04386     }
04387   goto ret0;
04388 
04389  L968: ATTRIBUTE_UNUSED_LABEL
04390   x2 = XEXP (x1, 0);
04391   if (se_register_operand (x2, DImode))
04392     {
04393       operands[1] = x2;
04394       goto L969;
04395     }
04396   goto ret0;
04397 
04398  L969: ATTRIBUTE_UNUSED_LABEL
04399   x2 = XEXP (x1, 1);
04400   if (se_nonmemory_operand (x2, DImode))
04401     {
04402       operands[2] = x2;
04403       goto L970;
04404     }
04405   goto ret0;
04406 
04407  L970: ATTRIBUTE_UNUSED_LABEL
04408   if ((TARGET_64BIT && !optimize)
04409       && pnum_clobbers != NULL)
04410     {
04411       *pnum_clobbers = 2;
04412       return 76;
04413     }
04414   goto ret0;
04415 
04416  L1002: ATTRIBUTE_UNUSED_LABEL
04417   x2 = XEXP (x1, 0);
04418   if (se_register_operand (x2, DImode))
04419     {
04420       operands[1] = x2;
04421       goto L1003;
04422     }
04423   goto ret0;
04424 
04425  L1003: ATTRIBUTE_UNUSED_LABEL
04426   x2 = XEXP (x1, 1);
04427   if (se_nonmemory_operand (x2, DImode))
04428     {
04429       operands[2] = x2;
04430       goto L1004;
04431     }
04432   goto ret0;
04433 
04434  L1004: ATTRIBUTE_UNUSED_LABEL
04435   if ((TARGET_64BIT && !optimize)
04436       && pnum_clobbers != NULL)
04437     {
04438       *pnum_clobbers = 2;
04439       return 78;
04440     }
04441   goto ret0;
04442 
04443  L1036: ATTRIBUTE_UNUSED_LABEL
04444   x2 = XEXP (x1, 0);
04445   if (se_register_operand (x2, DImode))
04446     {
04447       operands[1] = x2;
04448       goto L1037;
04449     }
04450   goto ret0;
04451 
04452  L1037: ATTRIBUTE_UNUSED_LABEL
04453   x2 = XEXP (x1, 1);
04454   if (se_nonmemory_operand (x2, DImode))
04455     {
04456       operands[2] = x2;
04457       goto L1038;
04458     }
04459   goto ret0;
04460 
04461  L1038: ATTRIBUTE_UNUSED_LABEL
04462   if ((TARGET_64BIT && !optimize)
04463       && pnum_clobbers != NULL)
04464     {
04465       *pnum_clobbers = 2;
04466       return 80;
04467     }
04468   goto ret0;
04469 
04470  L1071: ATTRIBUTE_UNUSED_LABEL
04471   x2 = XEXP (x1, 0);
04472   if (se_register_operand (x2, DImode))
04473     {
04474       operands[1] = x2;
04475       goto L1072;
04476     }
04477   goto ret0;
04478 
04479  L1072: ATTRIBUTE_UNUSED_LABEL
04480   if ((TARGET_64BIT && !TARGET_MIPS16))
04481     {
04482       return 86;
04483     }
04484   goto ret0;
04485 
04486  L1111: ATTRIBUTE_UNUSED_LABEL
04487   x2 = XEXP (x1, 0);
04488   if (se_register_operand (x2, DImode))
04489     {
04490       operands[1] = x2;
04491       goto L1112;
04492     }
04493   goto ret0;
04494 
04495  L1112: ATTRIBUTE_UNUSED_LABEL
04496   if ((TARGET_64BIT && !TARGET_MIPS16)
04497       && pnum_clobbers != NULL)
04498     {
04499       *pnum_clobbers = 2;
04500       return 90;
04501     }
04502   goto ret0;
04503 
04504  L1147: ATTRIBUTE_UNUSED_LABEL
04505   x2 = XEXP (x1, 0);
04506   if (se_register_operand (x2, DImode))
04507     {
04508       operands[1] = x2;
04509       return 97;
04510     }
04511   goto ret0;
04512 
04513  L1163: ATTRIBUTE_UNUSED_LABEL
04514   x2 = XEXP (x1, 0);
04515   if (GET_MODE (x2) == DImode)
04516     goto L3477;
04517   goto ret0;
04518 
04519  L3477: ATTRIBUTE_UNUSED_LABEL
04520   if (GET_CODE (x2) == NOT)
04521     goto L1250;
04522   if (se_register_operand (x2, DImode))
04523     {
04524       operands[1] = x2;
04525       goto L1164;
04526     }
04527   goto ret0;
04528 
04529  L1250: ATTRIBUTE_UNUSED_LABEL
04530   x3 = XEXP (x2, 0);
04531   if (se_register_operand (x3, DImode))
04532     {
04533       operands[1] = x3;
04534       goto L1251;
04535     }
04536   goto ret0;
04537 
04538  L1251: ATTRIBUTE_UNUSED_LABEL
04539   x2 = XEXP (x1, 1);
04540   if (GET_MODE (x2) == DImode
04541       && GET_CODE (x2) == NOT)
04542     goto L1252;
04543   goto ret0;
04544 
04545  L1252: ATTRIBUTE_UNUSED_LABEL
04546   x3 = XEXP (x2, 0);
04547   if (se_register_operand (x3, DImode))
04548     {
04549       operands[2] = x3;
04550       goto L1253;
04551     }
04552   goto ret0;
04553 
04554  L1253: ATTRIBUTE_UNUSED_LABEL
04555   if ((!TARGET_MIPS16))
04556     {
04557       return 114;
04558     }
04559   goto ret0;
04560 
04561  L1164: ATTRIBUTE_UNUSED_LABEL
04562   x2 = XEXP (x1, 1);
04563   if (se_register_operand (x2, DImode))
04564     {
04565       operands[2] = x2;
04566       goto L1165;
04567     }
04568  L1176: ATTRIBUTE_UNUSED_LABEL
04569   if (se_uns_arith_operand (x2, DImode))
04570     {
04571       operands[2] = x2;
04572       goto L1177;
04573     }
04574   goto ret0;
04575 
04576  L1165: ATTRIBUTE_UNUSED_LABEL
04577   if (((TARGET_64BIT || !TARGET_DEBUG_G_MODE) && !TARGET_MIPS16))
04578     {
04579       return 100;
04580     }
04581  L1171: ATTRIBUTE_UNUSED_LABEL
04582   if (((TARGET_64BIT || !TARGET_DEBUG_G_MODE) && TARGET_MIPS16))
04583     {
04584       return 101;
04585     }
04586   x1 = XEXP (x0, 1);
04587   x2 = XEXP (x1, 1);
04588   goto L1176;
04589 
04590  L1177: ATTRIBUTE_UNUSED_LABEL
04591   if ((TARGET_64BIT && !TARGET_MIPS16))
04592     {
04593       return 102;
04594     }
04595   goto ret0;
04596 
04597  L1193: ATTRIBUTE_UNUSED_LABEL
04598   x2 = XEXP (x1, 0);
04599   if (se_register_operand (x2, DImode))
04600     {
04601       operands[1] = x2;
04602       goto L1194;
04603     }
04604   goto ret0;
04605 
04606  L1194: ATTRIBUTE_UNUSED_LABEL
04607   x2 = XEXP (x1, 1);
04608   if (se_register_operand (x2, DImode))
04609     {
04610       operands[2] = x2;
04611       goto L1195;
04612     }
04613   goto ret0;
04614 
04615  L1195: ATTRIBUTE_UNUSED_LABEL
04616   if (((TARGET_64BIT || !TARGET_DEBUG_G_MODE) && !TARGET_MIPS16))
04617     {
04618       return 105;
04619     }
04620  L1201: ATTRIBUTE_UNUSED_LABEL
04621   if (((TARGET_64BIT || !TARGET_DEBUG_G_MODE) && TARGET_MIPS16))
04622     {
04623       return 106;
04624     }
04625   goto ret0;
04626 
04627  L1217: ATTRIBUTE_UNUSED_LABEL
04628   x2 = XEXP (x1, 0);
04629   if (se_register_operand (x2, DImode))
04630     {
04631       operands[1] = x2;
04632       goto L1218;
04633     }
04634   goto ret0;
04635 
04636  L1218: ATTRIBUTE_UNUSED_LABEL
04637   x2 = XEXP (x1, 1);
04638   if (se_register_operand (x2, DImode))
04639     {
04640       operands[2] = x2;
04641       goto L1219;
04642     }
04643  L1230: ATTRIBUTE_UNUSED_LABEL
04644   if (se_uns_arith_operand (x2, DImode))
04645     {
04646       operands[2] = x2;
04647       goto L1231;
04648     }
04649   goto ret0;
04650 
04651  L1219: ATTRIBUTE_UNUSED_LABEL
04652   if (((TARGET_64BIT || !TARGET_DEBUG_G_MODE) && !TARGET_MIPS16))
04653     {
04654       return 109;
04655     }
04656  L1225: ATTRIBUTE_UNUSED_LABEL
04657   if ((!TARGET_64BIT && TARGET_MIPS16))
04658     {
04659       return 110;
04660     }
04661   x1 = XEXP (x0, 1);
04662   x2 = XEXP (x1, 1);
04663   goto L1230;
04664 
04665  L1231: ATTRIBUTE_UNUSED_LABEL
04666   if ((TARGET_64BIT && TARGET_MIPS16))
04667     {
04668       return 111;
04669     }
04670  L1237: ATTRIBUTE_UNUSED_LABEL
04671   if ((TARGET_64BIT && !TARGET_MIPS16))
04672     {
04673       return 112;
04674     }
04675   goto ret0;
04676 
04677  L1316: ATTRIBUTE_UNUSED_LABEL
04678   x2 = XEXP (x1, 0);
04679   switch (GET_MODE (x2))
04680     {
04681     case SImode:
04682       goto L3478;
04683     case HImode:
04684       goto L3479;
04685     case QImode:
04686       goto L3481;
04687     default:
04688       break;
04689     }
04690   goto ret0;
04691 
04692  L3478: ATTRIBUTE_UNUSED_LABEL
04693   if (memory_operand (x2, SImode))
04694     {
04695       operands[1] = x2;
04696       goto L1317;
04697     }
04698   goto ret0;
04699 
04700  L1317: ATTRIBUTE_UNUSED_LABEL
04701   if ((TARGET_64BIT && !TARGET_MIPS16))
04702     {
04703       return 125;
04704     }
04705   goto ret0;
04706 
04707  L3479: ATTRIBUTE_UNUSED_LABEL
04708   if (nonimmediate_operand (x2, HImode))
04709     {
04710       operands[1] = x2;
04711       goto L1332;
04712     }
04713  L3480: ATTRIBUTE_UNUSED_LABEL
04714   if (memory_operand (x2, HImode))
04715     {
04716       operands[1] = x2;
04717       goto L1337;
04718     }
04719   goto ret0;
04720 
04721  L1332: ATTRIBUTE_UNUSED_LABEL
04722   if ((TARGET_64BIT && !TARGET_MIPS16))
04723     {
04724       return 128;
04725     }
04726   x1 = XEXP (x0, 1);
04727   x2 = XEXP (x1, 0);
04728   goto L3480;
04729 
04730  L1337: ATTRIBUTE_UNUSED_LABEL
04731   if ((TARGET_64BIT && TARGET_MIPS16))
04732     {
04733       return 129;
04734     }
04735   goto ret0;
04736 
04737  L3481: ATTRIBUTE_UNUSED_LABEL
04738   if (nonimmediate_operand (x2, QImode))
04739     {
04740       operands[1] = x2;
04741       goto L1362;
04742     }
04743  L3482: ATTRIBUTE_UNUSED_LABEL
04744   if (memory_operand (x2, QImode))
04745     {
04746       operands[1] = x2;
04747       goto L1373;
04748     }
04749   goto ret0;
04750 
04751  L1362: ATTRIBUTE_UNUSED_LABEL
04752   if ((TARGET_64BIT && !TARGET_MIPS16))
04753     {
04754       return 134;
04755     }
04756   x1 = XEXP (x0, 1);
04757   x2 = XEXP (x1, 0);
04758   goto L3482;
04759 
04760  L1373: ATTRIBUTE_UNUSED_LABEL
04761   if ((TARGET_64BIT && TARGET_MIPS16))
04762     {
04763       return 136;
04764     }
04765   goto ret0;
04766 
04767  L1440: ATTRIBUTE_UNUSED_LABEL
04768   x2 = XEXP (x1, 0);
04769   switch (GET_MODE (x2))
04770     {
04771     case DFmode:
04772       goto L3483;
04773     case SFmode:
04774       goto L3484;
04775     default:
04776       break;
04777     }
04778   goto ret0;
04779 
04780  L3483: ATTRIBUTE_UNUSED_LABEL
04781   if (register_operand (x2, DFmode))
04782     {
04783       operands[1] = x2;
04784       goto L1441;
04785     }
04786   goto ret0;
04787 
04788  L1441: ATTRIBUTE_UNUSED_LABEL
04789   if ((TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT))
04790     {
04791       return 147;
04792     }
04793   goto ret0;
04794 
04795  L3484: ATTRIBUTE_UNUSED_LABEL
04796   if (register_operand (x2, SFmode))
04797     {
04798       operands[1] = x2;
04799       goto L1446;
04800     }
04801   goto ret0;
04802 
04803  L1446: ATTRIBUTE_UNUSED_LABEL
04804   if ((TARGET_HARD_FLOAT && TARGET_FLOAT64 && TARGET_DOUBLE_FLOAT))
04805     {
04806       return 148;
04807     }
04808   goto ret0;
04809 
04810  L3461: ATTRIBUTE_UNUSED_LABEL
04811   if (XVECLEN (x1, 0) == 1
04812       && XINT (x1, 1) == 2)
04813     goto L1480;
04814   goto ret0;
04815 
04816  L1480: ATTRIBUTE_UNUSED_LABEL
04817   x2 = XVECEXP (x1, 0, 0);
04818   if (general_operand (x2, BLKmode))
04819     {
04820       operands[1] = x2;
04821       return 155;
04822     }
04823   goto ret0;
04824 
04825  L1786: ATTRIBUTE_UNUSED_LABEL
04826   x2 = XEXP (x1, 0);
04827   if (se_register_operand (x2, DImode))
04828     {
04829       operands[1] = x2;
04830       goto L1787;
04831     }
04832   goto ret0;
04833 
04834  L1787: ATTRIBUTE_UNUSED_LABEL
04835   x2 = XEXP (x1, 1);
04836   if (arith_operand (x2, SImode))
04837     {
04838       operands[2] = x2;
04839       goto L1788;
04840     }
04841   goto ret0;
04842 
04843  L1788: ATTRIBUTE_UNUSED_LABEL
04844   if ((TARGET_64BIT && !TARGET_MIPS16))
04845     {
04846       return 200;
04847     }
04848  L1794: ATTRIBUTE_UNUSED_LABEL
04849   if ((TARGET_64BIT && TARGET_MIPS16))
04850     {
04851       return 201;
04852     }
04853   goto ret0;
04854 
04855  L1837: ATTRIBUTE_UNUSED_LABEL
04856   x2 = XEXP (x1, 0);
04857   if (se_register_operand (x2, DImode))
04858     {
04859       operands[1] = x2;
04860       goto L1838;
04861     }
04862   goto ret0;
04863 
04864  L1838: ATTRIBUTE_UNUSED_LABEL
04865   x2 = XEXP (x1, 1);
04866   if (arith_operand (x2, SImode))
04867     {
04868       operands[2] = x2;
04869       goto L1839;
04870     }
04871   goto ret0;
04872 
04873  L1839: ATTRIBUTE_UNUSED_LABEL
04874   if ((TARGET_64BIT && !TARGET_MIPS16))
04875     {
04876       return 207;
04877     }
04878  L1845: ATTRIBUTE_UNUSED_LABEL
04879   if ((TARGET_64BIT && TARGET_MIPS16))
04880     {
04881       return 208;
04882     }
04883   goto ret0;
04884 
04885  L1894: ATTRIBUTE_UNUSED_LABEL
04886   x2 = XEXP (x1, 0);
04887   if (se_register_operand (x2, DImode))
04888     {
04889       operands[1] = x2;
04890       goto L1895;
04891     }
04892   goto ret0;
04893 
04894  L1895: ATTRIBUTE_UNUSED_LABEL
04895   x2 = XEXP (x1, 1);
04896   if (arith_operand (x2, SImode))
04897     {
04898       operands[2] = x2;
04899       goto L1896;
04900     }
04901   goto ret0;
04902 
04903  L1896: ATTRIBUTE_UNUSED_LABEL
04904   if ((TARGET_64BIT && !TARGET_MIPS16))
04905     {
04906       return 215;
04907     }
04908  L1902: ATTRIBUTE_UNUSED_LABEL
04909   if ((TARGET_64BIT && TARGET_MIPS16))
04910     {
04911       return 216;
04912     }
04913   goto ret0;
04914 
04915  L1912: ATTRIBUTE_UNUSED_LABEL
04916   x2 = XEXP (x1, 0);
04917   if (register_operand (x2, DImode))
04918     {
04919       operands[1] = x2;
04920       goto L1913;
04921     }
04922   goto ret0;
04923 
04924  L1913: ATTRIBUTE_UNUSED_LABEL
04925   x2 = XEXP (x1, 1);
04926   if (arith_operand (x2, DImode))
04927     {
04928       operands[2] = x2;
04929       goto L1914;
04930     }
04931   goto ret0;
04932 
04933  L1914: ATTRIBUTE_UNUSED_LABEL
04934   if ((ISA_HAS_ROTR_DI))
04935     {
04936       return 218;
04937     }
04938   goto ret0;
04939 
04940  L2041: ATTRIBUTE_UNUSED_LABEL
04941   x2 = XEXP (x1, 0);
04942   if (se_register_operand (x2, DImode))
04943     {
04944       operands[1] = x2;
04945       goto L2042;
04946     }
04947   goto ret0;
04948 
04949  L2042: ATTRIBUTE_UNUSED_LABEL
04950   x2 = XEXP (x1, 1);
04951   if (GET_CODE (x2) == CONST_INT)
04952     goto L3485;
04953   goto ret0;
04954 
04955  L3485: ATTRIBUTE_UNUSED_LABEL
04956   if (XWINT (x2, 0) == 0LL)
04957     goto L3487;
04958   goto ret0;
04959 
04960  L3487: ATTRIBUTE_UNUSED_LABEL
04961   if ((TARGET_64BIT && !TARGET_MIPS16))
04962     {
04963       return 233;
04964     }
04965  L3488: ATTRIBUTE_UNUSED_LABEL
04966   if ((TARGET_64BIT && TARGET_MIPS16))
04967     {
04968       return 234;
04969     }
04970   goto ret0;
04971 
04972  L2056: ATTRIBUTE_UNUSED_LABEL
04973   x2 = XEXP (x1, 0);
04974   if (se_register_operand (x2, DImode))
04975     {
04976       operands[1] = x2;
04977       goto L2057;
04978     }
04979   goto ret0;
04980 
04981  L2057: ATTRIBUTE_UNUSED_LABEL
04982   x2 = XEXP (x1, 1);
04983   if (GET_CODE (x2) == CONST_INT
04984       && XWINT (x2, 0) == 0LL
04985       && (TARGET_64BIT && !TARGET_MIPS16))
04986     {
04987       return 236;
04988     }
04989   goto ret0;
04990 
04991  L2073: ATTRIBUTE_UNUSED_LABEL
04992   x2 = XEXP (x1, 0);
04993   if (se_register_operand (x2, DImode))
04994     {
04995       operands[1] = x2;
04996       goto L2074;
04997     }
04998   goto ret0;
04999 
05000  L2074: ATTRIBUTE_UNUSED_LABEL
05001   x2 = XEXP (x1, 1);
05002   if (se_reg_or_0_operand (x2, DImode))
05003     {
05004       operands[2] = x2;
05005       goto L2075;
05006     }
05007  L2080: ATTRIBUTE_UNUSED_LABEL
05008   if (se_register_operand (x2, DImode))
05009     {
05010       operands[2] = x2;
05011       goto L2081;
05012     }
05013   goto ret0;
05014 
05015  L2075: ATTRIBUTE_UNUSED_LABEL
05016   if ((TARGET_64BIT && !TARGET_MIPS16))
05017     {
05018       return 239;
05019     }
05020   x1 = XEXP (x0, 1);
05021   x2 = XEXP (x1, 1);
05022   goto L2080;
05023 
05024  L2081: ATTRIBUTE_UNUSED_LABEL
05025   if ((TARGET_64BIT && TARGET_MIPS16))
05026     {
05027       return 240;
05028     }
05029   goto ret0;
05030 
05031  L2097: ATTRIBUTE_UNUSED_LABEL
05032   x2 = XEXP (x1, 0);
05033   if (se_register_operand (x2, DImode))
05034     {
05035       operands[1] = x2;
05036       goto L2098;
05037     }
05038   goto ret0;
05039 
05040  L2098: ATTRIBUTE_UNUSED_LABEL
05041   x2 = XEXP (x1, 1);
05042   if (se_arith_operand (x2, DImode))
05043     {
05044       operands[2] = x2;
05045       goto L2099;
05046     }
05047   goto ret0;
05048 
05049  L2099: ATTRIBUTE_UNUSED_LABEL
05050   if ((TARGET_64BIT && !TARGET_MIPS16))
05051     {
05052       return 243;
05053     }
05054  L2105: ATTRIBUTE_UNUSED_LABEL
05055   if ((TARGET_64BIT && TARGET_MIPS16))
05056     {
05057       return 244;
05058     }
05059   goto ret0;
05060 
05061  L2121: ATTRIBUTE_UNUSED_LABEL
05062   x2 = XEXP (x1, 0);
05063   if (se_register_operand (x2, DImode))
05064     {
05065       operands[1] = x2;
05066       goto L2122;
05067     }
05068   goto ret0;
05069 
05070  L2122: ATTRIBUTE_UNUSED_LABEL
05071   x2 = XEXP (x1, 1);
05072   if (small_int (x2, DImode))
05073     {
05074       operands[2] = x2;
05075       goto L2123;
05076     }
05077   goto ret0;
05078 
05079  L2123: ATTRIBUTE_UNUSED_LABEL
05080   if ((TARGET_64BIT && !TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
05081     {
05082       return 247;
05083     }
05084  L2129: ATTRIBUTE_UNUSED_LABEL
05085   if ((TARGET_64BIT && TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
05086     {
05087       return 248;
05088     }
05089   goto ret0;
05090 
05091  L2145: ATTRIBUTE_UNUSED_LABEL
05092   x2 = XEXP (x1, 0);
05093   if (se_register_operand (x2, DImode))
05094     {
05095       operands[1] = x2;
05096       goto L2146;
05097     }
05098   goto ret0;
05099 
05100  L2146: ATTRIBUTE_UNUSED_LABEL
05101   x2 = XEXP (x1, 1);
05102   if (se_reg_or_0_operand (x2, DImode))
05103     {
05104       operands[2] = x2;
05105       goto L2147;
05106     }
05107  L2152: ATTRIBUTE_UNUSED_LABEL
05108   if (se_register_operand (x2, DImode))
05109     {
05110       operands[2] = x2;
05111       goto L2153;
05112     }
05113   goto ret0;
05114 
05115  L2147: ATTRIBUTE_UNUSED_LABEL
05116   if ((TARGET_64BIT && !TARGET_MIPS16))
05117     {
05118       return 251;
05119     }
05120   x1 = XEXP (x0, 1);
05121   x2 = XEXP (x1, 1);
05122   goto L2152;
05123 
05124  L2153: ATTRIBUTE_UNUSED_LABEL
05125   if ((TARGET_64BIT && TARGET_MIPS16))
05126     {
05127       return 252;
05128     }
05129   goto ret0;
05130 
05131  L2169: ATTRIBUTE_UNUSED_LABEL
05132   x2 = XEXP (x1, 0);
05133   if (se_register_operand (x2, DImode))
05134     {
05135       operands[1] = x2;
05136       goto L2170;
05137     }
05138   goto ret0;
05139 
05140  L2170: ATTRIBUTE_UNUSED_LABEL
05141   x2 = XEXP (x1, 1);
05142   if (se_arith_operand (x2, DImode))
05143     {
05144       operands[2] = x2;
05145       goto L2171;
05146     }
05147   goto ret0;
05148 
05149  L2171: ATTRIBUTE_UNUSED_LABEL
05150   if ((TARGET_64BIT && !TARGET_MIPS16))
05151     {
05152       return 255;
05153     }
05154  L2177: ATTRIBUTE_UNUSED_LABEL
05155   if ((TARGET_64BIT && TARGET_MIPS16))
05156     {
05157       return 256;
05158     }
05159   goto ret0;
05160 
05161  L2193: ATTRIBUTE_UNUSED_LABEL
05162   x2 = XEXP (x1, 0);
05163   if (se_register_operand (x2, DImode))
05164     {
05165       operands[1] = x2;
05166       goto L2194;
05167     }
05168   goto ret0;
05169 
05170  L2194: ATTRIBUTE_UNUSED_LABEL
05171   x2 = XEXP (x1, 1);
05172   if (small_int (x2, DImode))
05173     {
05174       operands[2] = x2;
05175       goto L2195;
05176     }
05177   goto ret0;
05178 
05179  L2195: ATTRIBUTE_UNUSED_LABEL
05180   if ((TARGET_64BIT && !TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
05181     {
05182       return 259;
05183     }
05184  L2201: ATTRIBUTE_UNUSED_LABEL
05185   if ((TARGET_64BIT && TARGET_MIPS16 && INTVAL (operands[2]) < 32767))
05186     {
05187       return 260;
05188     }
05189   goto ret0;
05190 
05191  L2690: ATTRIBUTE_UNUSED_LABEL
05192   x2 = XEXP (x1, 0);
05193   if (equality_op (x2, VOIDmode))
05194     {
05195       operands[4] = x2;
05196       goto L2691;
05197     }
05198  L2708: ATTRIBUTE_UNUSED_LABEL
05199   if (equality_op (x2, VOIDmode))
05200     {
05201       operands[3] = x2;
05202       goto L2709;
05203     }
05204   goto ret0;
05205 
05206  L2691: ATTRIBUTE_UNUSED_LABEL
05207   x3 = XEXP (x2, 0);
05208   switch (GET_MODE (x3))
05209     {
05210     case SImode:
05211       goto L3489;
05212     case DImode:
05213       goto L3490;
05214     default:
05215       break;
05216     }
05217   goto L2708;
05218 
05219  L3489: ATTRIBUTE_UNUSED_LABEL
05220   if (register_operand (x3, SImode))
05221     {
05222       operands[1] = x3;
05223       goto L2692;
05224     }
05225   goto L2708;
05226 
05227  L2692: ATTRIBUTE_UNUSED_LABEL
05228   x3 = XEXP (x2, 1);
05229   if (GET_CODE (x3) == CONST_INT
05230       && XWINT (x3, 0) == 0LL)
05231     goto L2693;
05232   goto L2708;
05233 
05234  L2693: ATTRIBUTE_UNUSED_LABEL
05235   x2 = XEXP (x1, 1);
05236   if (se_reg_or_0_operand (x2, DImode))
05237     {
05238       operands[2] = x2;
05239       goto L2694;
05240     }
05241   x2 = XEXP (x1, 0);
05242   goto L2708;
05243 
05244  L2694: ATTRIBUTE_UNUSED_LABEL
05245   x2 = XEXP (x1, 2);
05246   if (se_reg_or_0_operand (x2, DImode))
05247     {
05248       operands[3] = x2;
05249       goto L2695;
05250     }
05251   x2 = XEXP (x1, 0);
05252   goto L2708;
05253 
05254  L2695: ATTRIBUTE_UNUSED_LABEL
05255   if (((ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE) && TARGET_64BIT))
05256     {
05257       return 322;
05258     }
05259   x1 = XEXP (x0, 1);
05260   x2 = XEXP (x1, 0);
05261   goto L2708;
05262 
05263  L3490: ATTRIBUTE_UNUSED_LABEL
05264   if (se_register_operand (x3, DImode))
05265     {
05266       operands[1] = x3;
05267       goto L2701;
05268     }
05269   goto L2708;
05270 
05271  L2701: ATTRIBUTE_UNUSED_LABEL
05272   x3 = XEXP (x2, 1);
05273   if (GET_CODE (x3) == CONST_INT
05274       && XWINT (x3, 0) == 0LL)
05275     goto L2702;
05276   goto L2708;
05277 
05278  L2702: ATTRIBUTE_UNUSED_LABEL
05279   x2 = XEXP (x1, 1);
05280   if (se_reg_or_0_operand (x2, DImode))
05281     {
05282       operands[2] = x2;
05283       goto L2703;
05284     }
05285   x2 = XEXP (x1, 0);
05286   goto L2708;
05287 
05288  L2703: ATTRIBUTE_UNUSED_LABEL
05289   x2 = XEXP (x1, 2);
05290   if (se_reg_or_0_operand (x2, DImode))
05291     {
05292       operands[3] = x2;
05293       goto L2704;
05294     }
05295   x2 = XEXP (x1, 0);
05296   goto L2708;
05297 
05298  L2704: ATTRIBUTE_UNUSED_LABEL
05299   if (((ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE) && TARGET_64BIT))
05300     {
05301       return 323;
05302     }
05303   x1 = XEXP (x0, 1);
05304   x2 = XEXP (x1, 0);
05305   goto L2708;
05306 
05307  L2709: ATTRIBUTE_UNUSED_LABEL
05308   x3 = XEXP (x2, 0);
05309   if (register_operand (x3, CCmode))
05310     {
05311       operands[4] = x3;
05312       goto L2710;
05313     }
05314   goto ret0;
05315 
05316  L2710: ATTRIBUTE_UNUSED_LABEL
05317   x3 = XEXP (x2, 1);
05318   if (GET_CODE (x3) == CONST_INT
05319       && XWINT (x3, 0) == 0LL)
05320     goto L2711;
05321   goto ret0;
05322 
05323  L2711: ATTRIBUTE_UNUSED_LABEL
05324   x2 = XEXP (x1, 1);
05325   if (se_reg_or_0_operand (x2, DImode))
05326     {
05327       operands[1] = x2;
05328       goto L2712;
05329     }
05330   goto ret0;
05331 
05332  L2712: ATTRIBUTE_UNUSED_LABEL
05333   x2 = XEXP (x1, 2);
05334   if (se_reg_or_0_operand (x2, DImode))
05335     {
05336       operands[2] = x2;
05337       goto L2713;
05338     }
05339   goto ret0;
05340 
05341  L2713: ATTRIBUTE_UNUSED_LABEL
05342   if ((ISA_HAS_CONDMOVE && TARGET_HARD_FLOAT && TARGET_64BIT))
05343     {
05344       return 324;
05345     }
05346   goto ret0;
05347  ret0:
05348   return -1;
05349 }
05350 
05351 static int recog_5 PARAMS ((rtx, rtx, int *));
05352 static int
05353 recog_5 (x0, insn, pnum_clobbers)
05354      rtx x0 ATTRIBUTE_UNUSED;
05355      rtx insn ATTRIBUTE_UNUSED;
05356      int *pnum_clobbers ATTRIBUTE_UNUSED;
05357 {
05358   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
05359   rtx x1 ATTRIBUTE_UNUSED;
05360   rtx x2 ATTRIBUTE_UNUSED;
05361   rtx x3 ATTRIBUTE_UNUSED;
05362   rtx x4 ATTRIBUTE_UNUSED;
05363   rtx x5 ATTRIBUTE_UNUSED;
05364   rtx x6 ATTRIBUTE_UNUSED;
05365   rtx x7 ATTRIBUTE_UNUSED;
05366   int tem ATTRIBUTE_UNUSED;
05367 
05368   x1 = XEXP (x0, 0);
05369   switch (GET_MODE (x1))
05370     {
05371     case DFmode:
05372       goto L3281;
05373     case SFmode:
05374       goto L3280;
05375     case SImode:
05376       goto L3277;
05377     case DImode:
05378       goto L3286;
05379     case HImode:
05380       goto L3272;
05381     case QImode:
05382       goto L3273;
05383     case BLKmode:
05384       goto L3274;
05385     case CCmode:
05386       goto L3279;
05387     default:
05388       break;
05389     }
05390  L1916: ATTRIBUTE_UNUSED_LABEL
05391   if (GET_CODE (x1) == PC)
05392     goto L2322;
05393   if (register_operand (x1, VOIDmode))
05394     {
05395       operands[0] = x1;
05396       goto L2436;
05397     }
05398   goto ret0;
05399 
05400  L3281: ATTRIBUTE_UNUSED_LABEL
05401   tem = recog_1 (x0, insn, pnum_clobbers);
05402   if (tem >= 0)
05403     return tem;
05404   goto L1916;
05405 
05406  L3280: ATTRIBUTE_UNUSED_LABEL
05407   tem = recog_2 (x0, insn, pnum_clobbers);
05408   if (tem >= 0)
05409     return tem;
05410   goto L1916;
05411 
05412  L3277: ATTRIBUTE_UNUSED_LABEL
05413   if (GET_CODE (x1) == MEM)
05414     goto L1522;
05415   if (register_operand (x1, SImode))
05416     {
05417       operands[0] = x1;
05418       goto L22;
05419     }
05420  L3263: ATTRIBUTE_UNUSED_LABEL
05421   if (GET_CODE (x1) == REG
05422       && XINT (x1, 0) == 29)
05423     goto L28;
05424  L3264: ATTRIBUTE_UNUSED_LABEL
05425   if (register_operand (x1, SImode))
05426     {
05427       operands[0] = x1;
05428       goto L34;
05429     }
05430  L3268: ATTRIBUTE_UNUSED_LABEL
05431   if (GET_CODE (x1) == REG
05432       && XINT (x1, 0) == 29)
05433     goto L120;
05434  L3269: ATTRIBUTE_UNUSED_LABEL
05435   if (register_operand (x1, SImode))
05436     {
05437       operands[0] = x1;
05438       goto L126;
05439     }
05440  L3278: ATTRIBUTE_UNUSED_LABEL
05441   if (nonimmediate_operand (x1, SImode))
05442     {
05443       operands[0] = x1;
05444       goto L1528;
05445     }
05446  L3288: ATTRIBUTE_UNUSED_LABEL
05447   if (register_operand (x1, SImode))
05448     {
05449       operands[0] = x1;
05450       goto L2794;
05451     }
05452   goto L1916;
05453 
05454  L1522: ATTRIBUTE_UNUSED_LABEL
05455   x2 = XEXP (x1, 0);
05456   if (GET_MODE (x2) == SImode
05457       && GET_CODE (x2) == PLUS)
05458     goto L1523;
05459   goto L3278;
05460 
05461  L1523: ATTRIBUTE_UNUSED_LABEL
05462   x3 = XEXP (x2, 0);
05463   if (GET_MODE (x3) == SImode
05464       && GET_CODE (x3) == REG
05465       && XINT (x3, 0) == 29)
05466     goto L1524;
05467   goto L3278;
05468 
05469  L1524: ATTRIBUTE_UNUSED_LABEL
05470   x3 = XEXP (x2, 1);
05471   if (small_int (x3, SImode))
05472     {
05473       operands[0] = x3;
05474       goto L1525;
05475     }
05476   goto L3278;
05477 
05478  L1525: ATTRIBUTE_UNUSED_LABEL
05479   x1 = XEXP (x0, 1);
05480   if (GET_MODE (x1) == SImode
05481       && GET_CODE (x1) == REG
05482       && XINT (x1, 0) == 31
05483       && (TARGET_MIPS16))
05484     {
05485       return 165;
05486     }
05487   x1 = XEXP (x0, 0);
05488   goto L3278;
05489 
05490  L22: ATTRIBUTE_UNUSED_LABEL
05491   x1 = XEXP (x0, 1);
05492   if (GET_MODE (x1) == SImode
05493       && GET_CODE (x1) == PLUS)
05494     goto L23;
05495   x1 = XEXP (x0, 0);
05496   goto L3263;
05497 
05498  L23: ATTRIBUTE_UNUSED_LABEL
05499   x2 = XEXP (x1, 0);
05500   if (reg_or_0_operand (x2, SImode))
05501     {
05502       operands[1] = x2;
05503       goto L24;
05504     }
05505   x1 = XEXP (x0, 0);
05506   goto L3263;
05507 
05508  L24: ATTRIBUTE_UNUSED_LABEL
05509   x2 = XEXP (x1, 1);
05510   if (arith_operand (x2, SImode))
05511     {
05512       operands[2] = x2;
05513       goto L25;
05514     }
05515   x1 = XEXP (x0, 0);
05516   goto L3263;
05517 
05518  L25: ATTRIBUTE_UNUSED_LABEL
05519   if ((! TARGET_MIPS16
05520    && (TARGET_GAS
05521        || GET_CODE (operands[2]) != CONST_INT
05522        || INTVAL (operands[2]) != -32768)))
05523     {
05524       return 4;
05525     }
05526   x1 = XEXP (x0, 0);
05527   goto L3263;
05528 
05529  L28: ATTRIBUTE_UNUSED_LABEL
05530   x1 = XEXP (x0, 1);
05531   if (GET_MODE (x1) == SImode
05532       && GET_CODE (x1) == PLUS)
05533     goto L29;
05534   x1 = XEXP (x0, 0);
05535   goto L3264;
05536 
05537  L29: ATTRIBUTE_UNUSED_LABEL
05538   x2 = XEXP (x1, 0);
05539   if (GET_MODE (x2) == SImode
05540       && GET_CODE (x2) == REG
05541       && XINT (x2, 0) == 29)
05542     goto L30;
05543   x1 = XEXP (x0, 0);
05544   goto L3264;
05545 
05546  L30: ATTRIBUTE_UNUSED_LABEL
05547   x2 = XEXP (x1, 1);
05548   if (small_int (x2, SImode))
05549     {
05550       operands[0] = x2;
05551       goto L31;
05552     }
05553   x1 = XEXP (x0, 0);
05554   goto L3264;
05555 
05556  L31: ATTRIBUTE_UNUSED_LABEL
05557   if ((TARGET_MIPS16))
05558     {
05559       return 5;
05560     }
05561   x1 = XEXP (x0, 0);
05562   goto L3264;
05563 
05564  L34: ATTRIBUTE_UNUSED_LABEL
05565   x1 = XEXP (x0, 1);
05566   if (GET_MODE (x1) == SImode)
05567     goto L3352;
05568   x1 = XEXP (x0, 0);
05569   goto L3268;
05570 
05571  L3352: ATTRIBUTE_UNUSED_LABEL
05572   switch (GET_CODE (x1))
05573     {
05574     case PLUS:
05575       goto L35;
05576     case MINUS:
05577       goto L115;
05578     default:
05579      break;
05580    }
05581   x1 = XEXP (x0, 0);
05582   goto L3268;
05583 
05584  L35: ATTRIBUTE_UNUSED_LABEL
05585   x2 = XEXP (x1, 0);
05586   if (GET_MODE (x2) == SImode)
05587     goto L3354;
05588   x1 = XEXP (x0, 0);
05589   goto L3268;
05590 
05591  L3354: ATTRIBUTE_UNUSED_LABEL
05592   if (GET_CODE (x2) == REG
05593       && XINT (x2, 0) == 29)
05594     goto L36;
05595  L3355: ATTRIBUTE_UNUSED_LABEL
05596   if (register_operand (x2, SImode))
05597     {
05598       operands[1] = x2;
05599       goto L42;
05600     }
05601   x1 = XEXP (x0, 0);
05602   goto L3268;
05603 
05604  L36: ATTRIBUTE_UNUSED_LABEL
05605   x2 = XEXP (x1, 1);
05606   if (small_int (x2, SImode))
05607     {
05608       operands[1] = x2;
05609       goto L37;
05610     }
05611   x2 = XEXP (x1, 0);
05612   goto L3355;
05613 
05614  L37: ATTRIBUTE_UNUSED_LABEL
05615   if ((TARGET_MIPS16))
05616     {
05617       return 6;
05618     }
05619   x1 = XEXP (x0, 1);
05620   x2 = XEXP (x1, 0);
05621   goto L3355;
05622 
05623  L42: ATTRIBUTE_UNUSED_LABEL
05624   x2 = XEXP (x1, 1);
05625   if (arith_operand (x2, SImode))
05626     {
05627       operands[2] = x2;
05628       goto L43;
05629     }
05630   x1 = XEXP (x0, 0);
05631   goto L3268;
05632 
05633  L43: ATTRIBUTE_UNUSED_LABEL
05634   if ((TARGET_MIPS16
05635    && (GET_CODE (operands[1]) != REG
05636        || REGNO (operands[1]) >= FIRST_PSEUDO_REGISTER
05637        || M16_REG_P (REGNO (operands[1]))
05638        || REGNO (operands[1]) == ARG_POINTER_REGNUM
05639        || REGNO (operands[1]) == FRAME_POINTER_REGNUM
05640        || REGNO (operands[1]) == STACK_POINTER_REGNUM)
05641    && (GET_CODE (operands[2]) != REG
05642        || REGNO (operands[2]) >= FIRST_PSEUDO_REGISTER
05643        || M16_REG_P (REGNO (operands[2]))
05644        || REGNO (operands[2]) == ARG_POINTER_REGNUM
05645        || REGNO (operands[2]) == FRAME_POINTER_REGNUM
05646        || REGNO (operands[2]) == STACK_POINTER_REGNUM)))
05647     {
05648       return 7;
05649     }
05650   x1 = XEXP (x0, 0);
05651   goto L3268;
05652 
05653  L115: ATTRIBUTE_UNUSED_LABEL
05654   x2 = XEXP (x1, 0);
05655   if (reg_or_0_operand (x2, SImode))
05656     {
05657       operands[1] = x2;
05658       goto L116;
05659     }
05660   x1 = XEXP (x0, 0);
05661   goto L3268;
05662 
05663  L116: ATTRIBUTE_UNUSED_LABEL
05664   x2 = XEXP (x1, 1);
05665   if (arith_operand (x2, SImode))
05666     {
05667       operands[2] = x2;
05668       goto L117;
05669     }
05670   x1 = XEXP (x0, 0);
05671   goto L3268;
05672 
05673  L117: ATTRIBUTE_UNUSED_LABEL
05674   if ((!TARGET_MIPS16
05675    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
05676     {
05677       return 18;
05678     }
05679   x1 = XEXP (x0, 0);
05680   goto L3268;
05681 
05682  L120: ATTRIBUTE_UNUSED_LABEL
05683   x1 = XEXP (x0, 1);
05684   if (GET_MODE (x1) == SImode
05685       && GET_CODE (x1) == MINUS)
05686     goto L121;
05687   x1 = XEXP (x0, 0);
05688   goto L3269;
05689 
05690  L121: ATTRIBUTE_UNUSED_LABEL
05691   x2 = XEXP (x1, 0);
05692   if (GET_MODE (x2) == SImode
05693       && GET_CODE (x2) == REG
05694       && XINT (x2, 0) == 29)
05695     goto L122;
05696   x1 = XEXP (x0, 0);
05697   goto L3269;
05698 
05699  L122: ATTRIBUTE_UNUSED_LABEL
05700   x2 = XEXP (x1, 1);
05701   if (small_int (x2, SImode))
05702     {
05703       operands[0] = x2;
05704       goto L123;
05705     }
05706   x1 = XEXP (x0, 0);
05707   goto L3269;
05708 
05709  L123: ATTRIBUTE_UNUSED_LABEL
05710   if ((TARGET_MIPS16
05711    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
05712     {
05713       return 19;
05714     }
05715   x1 = XEXP (x0, 0);
05716   goto L3269;
05717 
05718  L126: ATTRIBUTE_UNUSED_LABEL
05719   x1 = XEXP (x0, 1);
05720   if (GET_MODE (x1) == SImode)
05721     goto L3356;
05722   x1 = XEXP (x0, 0);
05723   goto L3278;
05724 
05725  L3356: ATTRIBUTE_UNUSED_LABEL
05726   tem = recog_3 (x0, insn, pnum_clobbers);
05727   if (tem >= 0)
05728     return tem;
05729   x1 = XEXP (x0, 0);
05730   goto L3278;
05731 
05732  L1528: ATTRIBUTE_UNUSED_LABEL
05733   x1 = XEXP (x0, 1);
05734   if (move_operand (x1, SImode))
05735     {
05736       operands[1] = x1;
05737       goto L1529;
05738     }
05739   x1 = XEXP (x0, 0);
05740   goto L3288;
05741 
05742  L1529: ATTRIBUTE_UNUSED_LABEL
05743   if ((!TARGET_MIPS16
05744    && (register_operand (operands[0], SImode)
05745        || register_operand (operands[1], SImode)
05746        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0))))
05747     {
05748       return 166;
05749     }
05750  L1533: ATTRIBUTE_UNUSED_LABEL
05751   if ((TARGET_MIPS16
05752    && (register_operand (operands[0], SImode)
05753        || register_operand (operands[1], SImode)
05754        || (GET_CODE (operands[0]) == MEM
05755      && GET_CODE (XEXP (operands[0], 0)) == PLUS
05756      && GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == CONST
05757      && mips16_gp_offset_p (XEXP (XEXP (operands[0], 0), 1))
05758      && GET_CODE (operands[1]) == CONST_INT
05759      && (SMALL_INT (operands[1])
05760          || SMALL_INT_UNSIGNED (operands[1]))))))
05761     {
05762       return 167;
05763     }
05764   x1 = XEXP (x0, 0);
05765   goto L3288;
05766 
05767  L2794: ATTRIBUTE_UNUSED_LABEL
05768   x1 = XEXP (x0, 1);
05769   if (address_operand (x1, SImode))
05770     {
05771       operands[1] = x1;
05772       goto L2795;
05773     }
05774   x1 = XEXP (x0, 0);
05775   goto L1916;
05776 
05777  L2795: ATTRIBUTE_UNUSED_LABEL
05778   if ((Pmode == SImode))
05779     {
05780       return 340;
05781     }
05782   x1 = XEXP (x0, 0);
05783   goto L1916;
05784 
05785  L3286: ATTRIBUTE_UNUSED_LABEL
05786   if (GET_CODE (x1) == REG
05787       && XINT (x1, 0) == 28)
05788     goto L1650;
05789  L3265: ATTRIBUTE_UNUSED_LABEL
05790   if (register_operand (x1, DImode))
05791     {
05792       operands[0] = x1;
05793       goto L64;
05794     }
05795  L3266: ATTRIBUTE_UNUSED_LABEL
05796   if (GET_CODE (x1) == REG
05797       && XINT (x1, 0) == 29)
05798     goto L70;
05799  L3267: ATTRIBUTE_UNUSED_LABEL
05800   if (register_operand (x1, DImode))
05801     {
05802       operands[0] = x1;
05803       goto L76;
05804     }
05805  L3270: ATTRIBUTE_UNUSED_LABEL
05806   if (GET_CODE (x1) == REG
05807       && XINT (x1, 0) == 29)
05808     goto L162;
05809  L3271: ATTRIBUTE_UNUSED_LABEL
05810   if (register_operand (x1, DImode))
05811     {
05812       operands[0] = x1;
05813       goto L168;
05814     }
05815  L3275: ATTRIBUTE_UNUSED_LABEL
05816   if (memory_operand (x1, DImode))
05817     {
05818       operands[0] = x1;
05819       goto L1498;
05820     }
05821  L3276: ATTRIBUTE_UNUSED_LABEL
05822   if (nonimmediate_operand (x1, DImode))
05823     {
05824       operands[0] = x1;
05825       goto L1513;
05826     }
05827  L3289: ATTRIBUTE_UNUSED_LABEL
05828   if (register_operand (x1, DImode))
05829     {
05830       operands[0] = x1;
05831       goto L2798;
05832     }
05833   goto L1916;
05834 
05835  L1650: ATTRIBUTE_UNUSED_LABEL
05836   x1 = XEXP (x0, 1);
05837   if (GET_MODE (x1) == DImode
05838       && GET_CODE (x1) == UNSPEC_VOLATILE
05839       && XVECLEN (x1, 0) == 2
05840       && XINT (x1, 1) == 7)
05841     goto L1651;
05842   x1 = XEXP (x0, 0);
05843   goto L3265;
05844 
05845  L1651: ATTRIBUTE_UNUSED_LABEL
05846   x2 = XVECEXP (x1, 0, 0);
05847   if (address_operand (x2, DImode))
05848     {
05849       operands[0] = x2;
05850       goto L1652;
05851     }
05852   x1 = XEXP (x0, 0);
05853   goto L3265;
05854 
05855  L1652: ATTRIBUTE_UNUSED_LABEL
05856   x2 = XVECEXP (x1, 0, 1);
05857   if (register_operand (x2, DImode))
05858     {
05859       operands[1] = x2;
05860       goto L1653;
05861     }
05862   x1 = XEXP (x0, 0);
05863   goto L3265;
05864 
05865  L1653: ATTRIBUTE_UNUSED_LABEL
05866   if (pnum_clobbers != NULL)
05867     {
05868       *pnum_clobbers = 1;
05869       return 189;
05870     }
05871   x1 = XEXP (x0, 0);
05872   goto L3265;
05873 
05874  L64: ATTRIBUTE_UNUSED_LABEL
05875   x1 = XEXP (x0, 1);
05876   if (GET_MODE (x1) == DImode
05877       && GET_CODE (x1) == PLUS)
05878     goto L65;
05879   x1 = XEXP (x0, 0);
05880   goto L3266;
05881 
05882  L65: ATTRIBUTE_UNUSED_LABEL
05883   x2 = XEXP (x1, 0);
05884   if (se_reg_or_0_operand (x2, DImode))
05885     {
05886       operands[1] = x2;
05887       goto L66;
05888     }
05889   x1 = XEXP (x0, 0);
05890   goto L3266;
05891 
05892  L66: ATTRIBUTE_UNUSED_LABEL
05893   x2 = XEXP (x1, 1);
05894   if (se_arith_operand (x2, DImode))
05895     {
05896       operands[2] = x2;
05897       goto L67;
05898     }
05899   x1 = XEXP (x0, 0);
05900   goto L3266;
05901 
05902  L67: ATTRIBUTE_UNUSED_LABEL
05903   if ((TARGET_64BIT
05904    && !TARGET_MIPS16
05905    && (TARGET_GAS
05906        || GET_CODE (operands[2]) != CONST_INT
05907        || INTVAL (operands[2]) != -32768)))
05908     {
05909       return 10;
05910     }
05911   x1 = XEXP (x0, 0);
05912   goto L3266;
05913 
05914  L70: ATTRIBUTE_UNUSED_LABEL
05915   x1 = XEXP (x0, 1);
05916   if (GET_MODE (x1) == DImode
05917       && GET_CODE (x1) == PLUS)
05918     goto L71;
05919   x1 = XEXP (x0, 0);
05920   goto L3267;
05921 
05922  L71: ATTRIBUTE_UNUSED_LABEL
05923   x2 = XEXP (x1, 0);
05924   if (GET_MODE (x2) == DImode
05925       && GET_CODE (x2) == REG
05926       && XINT (x2, 0) == 29)
05927     goto L72;
05928   x1 = XEXP (x0, 0);
05929   goto L3267;
05930 
05931  L72: ATTRIBUTE_UNUSED_LABEL
05932   x2 = XEXP (x1, 1);
05933   if (small_int (x2, DImode))
05934     {
05935       operands[0] = x2;
05936       goto L73;
05937     }
05938   x1 = XEXP (x0, 0);
05939   goto L3267;
05940 
05941  L73: ATTRIBUTE_UNUSED_LABEL
05942   if ((TARGET_MIPS16 && TARGET_64BIT))
05943     {
05944       return 11;
05945     }
05946   x1 = XEXP (x0, 0);
05947   goto L3267;
05948 
05949  L76: ATTRIBUTE_UNUSED_LABEL
05950   x1 = XEXP (x0, 1);
05951   if (GET_MODE (x1) == DImode)
05952     goto L3424;
05953   x1 = XEXP (x0, 0);
05954   goto L3270;
05955 
05956  L3424: ATTRIBUTE_UNUSED_LABEL
05957   switch (GET_CODE (x1))
05958     {
05959     case PLUS:
05960       goto L77;
05961     case SIGN_EXTEND:
05962       goto L89;
05963     case MINUS:
05964       goto L157;
05965     default:
05966      break;
05967    }
05968   x1 = XEXP (x0, 0);
05969   goto L3270;
05970 
05971  L77: ATTRIBUTE_UNUSED_LABEL
05972   x2 = XEXP (x1, 0);
05973   if (GET_MODE (x2) == DImode)
05974     goto L3427;
05975   x1 = XEXP (x0, 0);
05976   goto L3270;
05977 
05978  L3427: ATTRIBUTE_UNUSED_LABEL
05979   if (GET_CODE (x2) == REG
05980       && XINT (x2, 0) == 29)
05981     goto L78;
05982  L3428: ATTRIBUTE_UNUSED_LABEL
05983   if (register_operand (x2, DImode))
05984     {
05985       operands[1] = x2;
05986       goto L84;
05987     }
05988   x1 = XEXP (x0, 0);
05989   goto L3270;
05990 
05991  L78: ATTRIBUTE_UNUSED_LABEL
05992   x2 = XEXP (x1, 1);
05993   if (small_int (x2, DImode))
05994     {
05995       operands[1] = x2;
05996       goto L79;
05997     }
05998   x2 = XEXP (x1, 0);
05999   goto L3428;
06000 
06001  L79: ATTRIBUTE_UNUSED_LABEL
06002   if ((TARGET_MIPS16 && TARGET_64BIT))
06003     {
06004       return 12;
06005     }
06006   x1 = XEXP (x0, 1);
06007   x2 = XEXP (x1, 0);
06008   goto L3428;
06009 
06010  L84: ATTRIBUTE_UNUSED_LABEL
06011   x2 = XEXP (x1, 1);
06012   if (arith_operand (x2, DImode))
06013     {
06014       operands[2] = x2;
06015       goto L85;
06016     }
06017   x1 = XEXP (x0, 0);
06018   goto L3270;
06019 
06020  L85: ATTRIBUTE_UNUSED_LABEL
06021   if ((TARGET_MIPS16 && TARGET_64BIT
06022    && (GET_CODE (operands[1]) != REG
06023        || REGNO (operands[1]) >= FIRST_PSEUDO_REGISTER
06024        || M16_REG_P (REGNO (operands[1]))
06025        || REGNO (operands[1]) == ARG_POINTER_REGNUM
06026        || REGNO (operands[1]) == FRAME_POINTER_REGNUM
06027        || REGNO (operands[1]) == STACK_POINTER_REGNUM)
06028    && (GET_CODE (operands[2]) != REG
06029        || REGNO (operands[2]) >= FIRST_PSEUDO_REGISTER
06030        || M16_REG_P (REGNO (operands[2]))
06031        || REGNO (operands[2]) == ARG_POINTER_REGNUM
06032        || REGNO (operands[2]) == FRAME_POINTER_REGNUM
06033        || REGNO (operands[2]) == STACK_POINTER_REGNUM)))
06034     {
06035       return 13;
06036     }
06037   x1 = XEXP (x0, 0);
06038   goto L3270;
06039 
06040  L89: ATTRIBUTE_UNUSED_LABEL
06041   x2 = XEXP (x1, 0);
06042   if (GET_MODE (x2) == SImode
06043       && GET_CODE (x2) == PLUS)
06044     goto L90;
06045   x1 = XEXP (x0, 0);
06046   goto L3270;
06047 
06048  L90: ATTRIBUTE_UNUSED_LABEL
06049   x3 = XEXP (x2, 0);
06050   if (reg_or_0_operand (x3, SImode))
06051     {
06052       operands[1] = x3;
06053       goto L91;
06054     }
06055  L97: ATTRIBUTE_UNUSED_LABEL
06056   if (register_operand (x3, SImode))
06057     {
06058       operands[1] = x3;
06059       goto L98;
06060     }
06061   x1 = XEXP (x0, 0);
06062   goto L3270;
06063 
06064  L91: ATTRIBUTE_UNUSED_LABEL
06065   x3 = XEXP (x2, 1);
06066   if (arith_operand (x3, SImode))
06067     {
06068       operands[2] = x3;
06069       goto L92;
06070     }
06071   x3 = XEXP (x2, 0);
06072   goto L97;
06073 
06074  L92: ATTRIBUTE_UNUSED_LABEL
06075   if ((TARGET_64BIT
06076    && !TARGET_MIPS16
06077    && (TARGET_GAS
06078        || GET_CODE (operands[2]) != CONST_INT
06079        || INTVAL (operands[2]) != -32768)))
06080     {
06081       return 14;
06082     }
06083   x1 = XEXP (x0, 1);
06084   x2 = XEXP (x1, 0);
06085   x3 = XEXP (x2, 0);
06086   goto L97;
06087 
06088  L98: ATTRIBUTE_UNUSED_LABEL
06089   x3 = XEXP (x2, 1);
06090   if (arith_operand (x3, SImode))
06091     {
06092       operands[2] = x3;
06093       goto L99;
06094     }
06095   x1 = XEXP (x0, 0);
06096   goto L3270;
06097 
06098  L99: ATTRIBUTE_UNUSED_LABEL
06099   if ((TARGET_MIPS16 && TARGET_64BIT))
06100     {
06101       return 15;
06102     }
06103   x1 = XEXP (x0, 0);
06104   goto L3270;
06105 
06106  L157: ATTRIBUTE_UNUSED_LABEL
06107   x2 = XEXP (x1, 0);
06108   if (se_reg_or_0_operand (x2, DImode))
06109     {
06110       operands[1] = x2;
06111       goto L158;
06112     }
06113   x1 = XEXP (x0, 0);
06114   goto L3270;
06115 
06116  L158: ATTRIBUTE_UNUSED_LABEL
06117   x2 = XEXP (x1, 1);
06118   if (se_arith_operand (x2, DImode))
06119     {
06120       operands[2] = x2;
06121       goto L159;
06122     }
06123   x1 = XEXP (x0, 0);
06124   goto L3270;
06125 
06126  L159: ATTRIBUTE_UNUSED_LABEL
06127   if ((TARGET_64BIT && !TARGET_MIPS16
06128    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
06129     {
06130       return 24;
06131     }
06132   x1 = XEXP (x0, 0);
06133   goto L3270;
06134 
06135  L162: ATTRIBUTE_UNUSED_LABEL
06136   x1 = XEXP (x0, 1);
06137   if (GET_MODE (x1) == DImode
06138       && GET_CODE (x1) == MINUS)
06139     goto L163;
06140   x1 = XEXP (x0, 0);
06141   goto L3271;
06142 
06143  L163: ATTRIBUTE_UNUSED_LABEL
06144   x2 = XEXP (x1, 0);
06145   if (GET_MODE (x2) == DImode
06146       && GET_CODE (x2) == REG
06147       && XINT (x2, 0) == 29)
06148     goto L164;
06149   x1 = XEXP (x0, 0);
06150   goto L3271;
06151 
06152  L164: ATTRIBUTE_UNUSED_LABEL
06153   x2 = XEXP (x1, 1);
06154   if (small_int (x2, DImode))
06155     {
06156       operands[0] = x2;
06157       goto L165;
06158     }
06159   x1 = XEXP (x0, 0);
06160   goto L3271;
06161 
06162  L165: ATTRIBUTE_UNUSED_LABEL
06163   if ((TARGET_MIPS16
06164    && (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768)))
06165     {
06166       return 25;
06167     }
06168   x1 = XEXP (x0, 0);
06169   goto L3271;
06170 
06171  L168: ATTRIBUTE_UNUSED_LABEL
06172   x1 = XEXP (x0, 1);
06173   if (GET_MODE (x1) == DImode)
06174     goto L3429;
06175   x1 = XEXP (x0, 0);
06176   goto L3275;
06177 
06178  L3429: ATTRIBUTE_UNUSED_LABEL
06179   tem = recog_4 (x0, insn, pnum_clobbers);
06180   if (tem >= 0)
06181     return tem;
06182   x1 = XEXP (x0, 0);
06183   goto L3275;
06184 
06185  L1498: ATTRIBUTE_UNUSED_LABEL
06186   x1 = XEXP (x0, 1);
06187   if (GET_MODE (x1) == DImode
06188       && GET_CODE (x1) == REG
06189       && XINT (x1, 0) == 31
06190       && (TARGET_MIPS16 && TARGET_64BIT))
06191     {
06192       return 159;
06193     }
06194   x1 = XEXP (x0, 0);
06195   goto L3276;
06196 
06197  L1513: ATTRIBUTE_UNUSED_LABEL
06198   x1 = XEXP (x0, 1);
06199   if (GET_MODE (x1) == DImode
06200       && GET_CODE (x1) == SIGN_EXTEND)
06201     goto L1514;
06202   if (general_operand (x1, DImode))
06203     {
06204       operands[1] = x1;
06205       goto L1502;
06206     }
06207  L1509: ATTRIBUTE_UNUSED_LABEL
06208   if (move_operand (x1, DImode))
06209     {
06210       operands[1] = x1;
06211       goto L1510;
06212     }
06213  L1518: ATTRIBUTE_UNUSED_LABEL
06214   if (movdi_operand (x1, DImode))
06215     {
06216       operands[1] = x1;
06217       goto L1519;
06218     }
06219   x1 = XEXP (x0, 0);
06220   goto L3289;
06221 
06222  L1514: ATTRIBUTE_UNUSED_LABEL
06223   x2 = XEXP (x1, 0);
06224   if (move_operand (x2, SImode))
06225     {
06226       operands[1] = x2;
06227       goto L1515;
06228     }
06229   goto L1518;
06230 
06231  L1515: ATTRIBUTE_UNUSED_LABEL
06232   if ((TARGET_64BIT && !TARGET_MIPS16
06233    && (register_operand (operands[0], DImode)
06234        || register_operand (operands[1], DImode)
06235        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0)
06236        || operands[1] == CONST0_RTX (DImode))))
06237     {
06238       return 163;
06239     }
06240   x1 = XEXP (x0, 1);
06241   goto L1518;
06242 
06243  L1502: ATTRIBUTE_UNUSED_LABEL
06244   if ((!TARGET_64BIT && !TARGET_MIPS16
06245    && (register_operand (operands[0], DImode)
06246        || register_operand (operands[1], DImode)
06247        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0)
06248        || operands[1] == CONST0_RTX (DImode))))
06249     {
06250       return 160;
06251     }
06252  L1506: ATTRIBUTE_UNUSED_LABEL
06253   if ((!TARGET_64BIT && TARGET_MIPS16
06254    && (register_operand (operands[0], DImode)
06255        || register_operand (operands[1], DImode))))
06256     {
06257       return 161;
06258     }
06259   x1 = XEXP (x0, 1);
06260   goto L1509;
06261 
06262  L1510: ATTRIBUTE_UNUSED_LABEL
06263   if ((TARGET_64BIT && !TARGET_MIPS16
06264    && (register_operand (operands[0], DImode)
06265        || register_operand (operands[1], DImode)
06266        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0)
06267        || operands[1] == CONST0_RTX (DImode))))
06268     {
06269       return 162;
06270     }
06271   x1 = XEXP (x0, 1);
06272   goto L1518;
06273 
06274  L1519: ATTRIBUTE_UNUSED_LABEL
06275   if ((TARGET_64BIT && TARGET_MIPS16
06276    && (register_operand (operands[0], DImode)
06277        || se_register_operand (operands[1], DImode))))
06278     {
06279       return 164;
06280     }
06281   x1 = XEXP (x0, 0);
06282   goto L3289;
06283 
06284  L2798: ATTRIBUTE_UNUSED_LABEL
06285   x1 = XEXP (x0, 1);
06286   if (address_operand (x1, DImode))
06287     {
06288       operands[1] = x1;
06289       goto L2799;
06290     }
06291   x1 = XEXP (x0, 0);
06292   goto L1916;
06293 
06294  L2799: ATTRIBUTE_UNUSED_LABEL
06295   if ((Pmode == DImode))
06296     {
06297       return 341;
06298     }
06299   x1 = XEXP (x0, 0);
06300   goto L1916;
06301 
06302  L3272: ATTRIBUTE_UNUSED_LABEL
06303   if (register_operand (x1, HImode))
06304     {
06305       operands[0] = x1;
06306       goto L1266;
06307     }
06308  L3282: ATTRIBUTE_UNUSED_LABEL
06309   if (nonimmediate_operand (x1, HImode))
06310     {
06311       operands[0] = x1;
06312       goto L1598;
06313     }
06314   goto L1916;
06315 
06316  L1266: ATTRIBUTE_UNUSED_LABEL
06317   x1 = XEXP (x0, 1);
06318   if (GET_MODE (x1) == HImode)
06319     goto L3491;
06320   x1 = XEXP (x0, 0);
06321   goto L3282;
06322 
06323  L3491: ATTRIBUTE_UNUSED_LABEL
06324   switch (GET_CODE (x1))
06325     {
06326     case TRUNCATE:
06327       goto L1267;
06328     case ZERO_EXTEND:
06329       goto L1310;
06330     case SIGN_EXTEND:
06331       goto L1386;
06332     default:
06333      break;
06334    }
06335   x1 = XEXP (x0, 0);
06336   goto L3282;
06337 
06338  L1267: ATTRIBUTE_UNUSED_LABEL
06339   x2 = XEXP (x1, 0);
06340   if (se_register_operand (x2, DImode))
06341     {
06342       operands[1] = x2;
06343       goto L1268;
06344     }
06345   x1 = XEXP (x0, 0);
06346   goto L3282;
06347 
06348  L1268: ATTRIBUTE_UNUSED_LABEL
06349   if ((TARGET_64BIT))
06350     {
06351       return 117;
06352     }
06353   x1 = XEXP (x0, 0);
06354   goto L3282;
06355 
06356  L1310: ATTRIBUTE_UNUSED_LABEL
06357   x2 = XEXP (x1, 0);
06358   if (GET_MODE (x2) == QImode)
06359     goto L3494;
06360   x1 = XEXP (x0, 0);
06361   goto L3282;
06362 
06363  L3494: ATTRIBUTE_UNUSED_LABEL
06364   if (GET_CODE (x2) == TRUNCATE)
06365     goto L1311;
06366   if (nonimmediate_operand (x2, QImode))
06367     {
06368       operands[1] = x2;
06369       goto L1342;
06370     }
06371  L3496: ATTRIBUTE_UNUSED_LABEL
06372   if (memory_operand (x2, QImode))
06373     {
06374       operands[1] = x2;
06375       goto L1347;
06376     }
06377   x1 = XEXP (x0, 0);
06378   goto L3282;
06379 
06380  L1311: ATTRIBUTE_UNUSED_LABEL
06381   x3 = XEXP (x2, 0);
06382   if (se_register_operand (x3, DImode))
06383     {
06384       operands[1] = x3;
06385       goto L1312;
06386     }
06387   x1 = XEXP (x0, 0);
06388   goto L3282;
06389 
06390  L1312: ATTRIBUTE_UNUSED_LABEL
06391   if ((TARGET_64BIT && !TARGET_MIPS16))
06392     {
06393       return 124;
06394     }
06395   x1 = XEXP (x0, 0);
06396   goto L3282;
06397 
06398  L1342: ATTRIBUTE_UNUSED_LABEL
06399   if ((!TARGET_MIPS16))
06400     {
06401       return 130;
06402     }
06403   x1 = XEXP (x0, 1);
06404   x2 = XEXP (x1, 0);
06405   goto L3496;
06406 
06407  L1347: ATTRIBUTE_UNUSED_LABEL
06408   if ((TARGET_MIPS16))
06409     {
06410       return 131;
06411     }
06412   x1 = XEXP (x0, 0);
06413   goto L3282;
06414 
06415  L1386: ATTRIBUTE_UNUSED_LABEL
06416   x2 = XEXP (x1, 0);
06417   if (memory_operand (x2, QImode))
06418     {
06419       operands[1] = x2;
06420       return 139;
06421     }
06422   x1 = XEXP (x0, 0);
06423   goto L3282;
06424 
06425  L1598: ATTRIBUTE_UNUSED_LABEL
06426   x1 = XEXP (x0, 1);
06427   if (general_operand (x1, HImode))
06428     {
06429       operands[1] = x1;
06430       goto L1599;
06431     }
06432   x1 = XEXP (x0, 0);
06433   goto L1916;
06434 
06435  L1599: ATTRIBUTE_UNUSED_LABEL
06436   if ((!TARGET_MIPS16
06437    && (register_operand (operands[0], HImode)
06438        || register_operand (operands[1], HImode)
06439        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0))))
06440     {
06441       return 178;
06442     }
06443  L1603: ATTRIBUTE_UNUSED_LABEL
06444   if ((TARGET_MIPS16
06445    && (register_operand (operands[0], HImode)
06446        || register_operand (operands[1], HImode))))
06447     {
06448       return 179;
06449     }
06450   x1 = XEXP (x0, 0);
06451   goto L1916;
06452 
06453  L3273: ATTRIBUTE_UNUSED_LABEL
06454   if (register_operand (x1, QImode))
06455     {
06456       operands[0] = x1;
06457       goto L1271;
06458     }
06459  L3283: ATTRIBUTE_UNUSED_LABEL
06460   if (nonimmediate_operand (x1, QImode))
06461     {
06462       operands[0] = x1;
06463       goto L1606;
06464     }
06465   goto L1916;
06466 
06467  L1271: ATTRIBUTE_UNUSED_LABEL
06468   x1 = XEXP (x0, 1);
06469   if (GET_MODE (x1) == QImode
06470       && GET_CODE (x1) == TRUNCATE)
06471     goto L1272;
06472   x1 = XEXP (x0, 0);
06473   goto L3283;
06474 
06475  L1272: ATTRIBUTE_UNUSED_LABEL
06476   x2 = XEXP (x1, 0);
06477   if (se_register_operand (x2, DImode))
06478     {
06479       operands[1] = x2;
06480       goto L1273;
06481     }
06482   x1 = XEXP (x0, 0);
06483   goto L3283;
06484 
06485  L1273: ATTRIBUTE_UNUSED_LABEL
06486   if ((TARGET_64BIT))
06487     {
06488       return 118;
06489     }
06490   x1 = XEXP (x0, 0);
06491   goto L3283;
06492 
06493  L1606: ATTRIBUTE_UNUSED_LABEL
06494   x1 = XEXP (x0, 1);
06495   if (general_operand (x1, QImode))
06496     {
06497       operands[1] = x1;
06498       goto L1607;
06499     }
06500   x1 = XEXP (x0, 0);
06501   goto L1916;
06502 
06503  L1607: ATTRIBUTE_UNUSED_LABEL
06504   if ((!TARGET_MIPS16
06505    && (register_operand (operands[0], QImode)
06506        || register_operand (operands[1], QImode)
06507        || (GET_CODE (operands[1]) == CONST_INT && INTVAL (operands[1]) == 0))))
06508     {
06509       return 180;
06510     }
06511  L1611: ATTRIBUTE_UNUSED_LABEL
06512   if ((TARGET_MIPS16
06513    && (register_operand (operands[0], QImode)
06514        || register_operand (operands[1], QImode))))
06515     {
06516       return 181;
06517     }
06518   x1 = XEXP (x0, 0);
06519   goto L1916;
06520 
06521  L3274: ATTRIBUTE_UNUSED_LABEL
06522   if (memory_operand (x1, BLKmode))
06523     {
06524       operands[0] = x1;
06525       goto L1474;
06526     }
06527   goto L1916;
06528 
06529  L1474: ATTRIBUTE_UNUSED_LABEL
06530   x1 = XEXP (x0, 1);
06531   if (GET_MODE (x1) == BLKmode)
06532     goto L3497;
06533   x1 = XEXP (x0, 0);
06534   goto L1916;
06535 
06536  L3497: ATTRIBUTE_UNUSED_LABEL
06537   if (GET_CODE (x1) == UNSPEC)
06538     goto L3499;
06539   x1 = XEXP (x0, 0);
06540   goto L1916;
06541 
06542  L3499: ATTRIBUTE_UNUSED_LABEL
06543   if (XVECLEN (x1, 0) == 1)
06544     goto L3501;
06545   x1 = XEXP (x0, 0);
06546   goto L1916;
06547 
06548  L3501: ATTRIBUTE_UNUSED_LABEL
06549   switch (XINT (x1, 1))
06550     {
06551     case 1LL:
06552       goto L1475;
06553     case 3LL:
06554       goto L1484;
06555     default:
06556       break;
06557     }
06558   x1 = XEXP (x0, 0);
06559   goto L1916;
06560 
06561  L1475: ATTRIBUTE_UNUSED_LABEL
06562   x2 = XVECEXP (x1, 0, 0);
06563   if (reg_or_0_operand (x2, SImode))
06564     {
06565       operands[1] = x2;
06566       goto L1476;
06567     }
06568   x1 = XEXP (x0, 0);
06569   goto L1916;
06570 
06571  L1476: ATTRIBUTE_UNUSED_LABEL
06572   if ((!TARGET_MIPS16))
06573     {
06574       return 154;
06575     }
06576   x1 = XEXP (x0, 0);
06577   goto L1916;
06578 
06579  L1484: ATTRIBUTE_UNUSED_LABEL
06580   x2 = XVECEXP (x1, 0, 0);
06581   if (reg_or_0_operand (x2, DImode))
06582     {
06583       operands[1] = x2;
06584       return 156;
06585     }
06586   x1 = XEXP (x0, 0);
06587   goto L1916;
06588 
06589  L3279: ATTRIBUTE_UNUSED_LABEL
06590   if (nonimmediate_operand (x1, CCmode))
06591     {
06592       operands[0] = x1;
06593       goto L1538;
06594     }
06595  L3287: ATTRIBUTE_UNUSED_LABEL
06596   if (register_operand (x1, CCmode))
06597     {
06598       operands[0] = x1;
06599       goto L2204;
06600     }
06601   goto L1916;
06602 
06603  L1538: ATTRIBUTE_UNUSED_LABEL
06604   x1 = XEXP (x0, 1);
06605   if (general_operand (x1, CCmode))
06606     {
06607       operands[1] = x1;
06608       goto L1539;
06609     }
06610   x1 = XEXP (x0, 0);
06611   goto L3287;
06612 
06613  L1539: ATTRIBUTE_UNUSED_LABEL
06614   if ((ISA_HAS_8CC && TARGET_HARD_FLOAT))
06615     {
06616       return 169;
06617     }
06618   x1 = XEXP (x0, 0);
06619   goto L3287;
06620 
06621  L2204: ATTRIBUTE_UNUSED_LABEL
06622   x1 = XEXP (x0, 1);
06623   if (GET_MODE (x1) == CCmode)
06624     goto L3503;
06625   x1 = XEXP (x0, 0);
06626   goto L1916;
06627 
06628  L3503: ATTRIBUTE_UNUSED_LABEL
06629   switch (GET_CODE (x1))
06630     {
06631     case UNORDERED:
06632       goto L2205;
06633     case UNLT:
06634       goto L2211;
06635     case UNEQ:
06636       goto L2217;
06637     case UNLE:
06638       goto L2223;
06639     case EQ:
06640       goto L2229;
06641     case LT:
06642       goto L2235;
06643     case LE:
06644       goto L2241;
06645     case GT:
06646       goto L2247;
06647     case GE:
06648       goto L2253;
06649     default:
06650      break;
06651    }
06652   x1 = XEXP (x0, 0);
06653   goto L1916;
06654 
06655  L2205: ATTRIBUTE_UNUSED_LABEL
06656   x2 = XEXP (x1, 0);
06657   switch (GET_MODE (x2))
06658     {
06659     case DFmode:
06660       goto L3512;
06661     case SFmode:
06662       goto L3513;
06663     default:
06664       break;
06665     }
06666   x1 = XEXP (x0, 0);
06667   goto L1916;
06668 
06669  L3512: ATTRIBUTE_UNUSED_LABEL
06670   if (register_operand (x2, DFmode))
06671     {
06672       operands[1] = x2;
06673       goto L2206;
06674     }
06675   x1 = XEXP (x0, 0);
06676   goto L1916;
06677 
06678  L2206: ATTRIBUTE_UNUSED_LABEL
06679   x2 = XEXP (x1, 1);
06680   if (register_operand (x2, DFmode))
06681     {
06682       operands[2] = x2;
06683       goto L2207;
06684     }
06685   x1 = XEXP (x0, 0);
06686   goto L1916;
06687 
06688  L2207: ATTRIBUTE_UNUSED_LABEL
06689   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
06690     {
06691       return 261;
06692     }
06693   x1 = XEXP (x0, 0);
06694   goto L1916;
06695 
06696  L3513: ATTRIBUTE_UNUSED_LABEL
06697   if (register_operand (x2, SFmode))
06698     {
06699       operands[1] = x2;
06700       goto L2260;
06701     }
06702   x1 = XEXP (x0, 0);
06703   goto L1916;
06704 
06705  L2260: ATTRIBUTE_UNUSED_LABEL
06706   x2 = XEXP (x1, 1);
06707   if (register_operand (x2, SFmode))
06708     {
06709       operands[2] = x2;
06710       goto L2261;
06711     }
06712   x1 = XEXP (x0, 0);
06713   goto L1916;
06714 
06715  L2261: ATTRIBUTE_UNUSED_LABEL
06716   if ((TARGET_HARD_FLOAT))
06717     {
06718       return 270;
06719     }
06720   x1 = XEXP (x0, 0);
06721   goto L1916;
06722 
06723  L2211: ATTRIBUTE_UNUSED_LABEL
06724   x2 = XEXP (x1, 0);
06725   switch (GET_MODE (x2))
06726     {
06727     case DFmode:
06728       goto L3514;
06729     case SFmode:
06730       goto L3515;
06731     default:
06732       break;
06733     }
06734   x1 = XEXP (x0, 0);
06735   goto L1916;
06736 
06737  L3514: ATTRIBUTE_UNUSED_LABEL
06738   if (register_operand (x2, DFmode))
06739     {
06740       operands[1] = x2;
06741       goto L2212;
06742     }
06743   x1 = XEXP (x0, 0);
06744   goto L1916;
06745 
06746  L2212: ATTRIBUTE_UNUSED_LABEL
06747   x2 = XEXP (x1, 1);
06748   if (register_operand (x2, DFmode))
06749     {
06750       operands[2] = x2;
06751       goto L2213;
06752     }
06753   x1 = XEXP (x0, 0);
06754   goto L1916;
06755 
06756  L2213: ATTRIBUTE_UNUSED_LABEL
06757   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
06758     {
06759       return 262;
06760     }
06761   x1 = XEXP (x0, 0);
06762   goto L1916;
06763 
06764  L3515: ATTRIBUTE_UNUSED_LABEL
06765   if (register_operand (x2, SFmode))
06766     {
06767       operands[1] = x2;
06768       goto L2266;
06769     }
06770   x1 = XEXP (x0, 0);
06771   goto L1916;
06772 
06773  L2266: ATTRIBUTE_UNUSED_LABEL
06774   x2 = XEXP (x1, 1);
06775   if (register_operand (x2, SFmode))
06776     {
06777       operands[2] = x2;
06778       goto L2267;
06779     }
06780   x1 = XEXP (x0, 0);
06781   goto L1916;
06782 
06783  L2267: ATTRIBUTE_UNUSED_LABEL
06784   if ((TARGET_HARD_FLOAT))
06785     {
06786       return 271;
06787     }
06788   x1 = XEXP (x0, 0);
06789   goto L1916;
06790 
06791  L2217: ATTRIBUTE_UNUSED_LABEL
06792   x2 = XEXP (x1, 0);
06793   switch (GET_MODE (x2))
06794     {
06795     case DFmode:
06796       goto L3516;
06797     case SFmode:
06798       goto L3517;
06799     default:
06800       break;
06801     }
06802   x1 = XEXP (x0, 0);
06803   goto L1916;
06804 
06805  L3516: ATTRIBUTE_UNUSED_LABEL
06806   if (register_operand (x2, DFmode))
06807     {
06808       operands[1] = x2;
06809       goto L2218;
06810     }
06811   x1 = XEXP (x0, 0);
06812   goto L1916;
06813 
06814  L2218: ATTRIBUTE_UNUSED_LABEL
06815   x2 = XEXP (x1, 1);
06816   if (register_operand (x2, DFmode))
06817     {
06818       operands[2] = x2;
06819       goto L2219;
06820     }
06821   x1 = XEXP (x0, 0);
06822   goto L1916;
06823 
06824  L2219: ATTRIBUTE_UNUSED_LABEL
06825   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
06826     {
06827       return 263;
06828     }
06829   x1 = XEXP (x0, 0);
06830   goto L1916;
06831 
06832  L3517: ATTRIBUTE_UNUSED_LABEL
06833   if (register_operand (x2, SFmode))
06834     {
06835       operands[1] = x2;
06836       goto L2272;
06837     }
06838   x1 = XEXP (x0, 0);
06839   goto L1916;
06840 
06841  L2272: ATTRIBUTE_UNUSED_LABEL
06842   x2 = XEXP (x1, 1);
06843   if (register_operand (x2, SFmode))
06844     {
06845       operands[2] = x2;
06846       goto L2273;
06847     }
06848   x1 = XEXP (x0, 0);
06849   goto L1916;
06850 
06851  L2273: ATTRIBUTE_UNUSED_LABEL
06852   if ((TARGET_HARD_FLOAT))
06853     {
06854       return 272;
06855     }
06856   x1 = XEXP (x0, 0);
06857   goto L1916;
06858 
06859  L2223: ATTRIBUTE_UNUSED_LABEL
06860   x2 = XEXP (x1, 0);
06861   switch (GET_MODE (x2))
06862     {
06863     case DFmode:
06864       goto L3518;
06865     case SFmode:
06866       goto L3519;
06867     default:
06868       break;
06869     }
06870   x1 = XEXP (x0, 0);
06871   goto L1916;
06872 
06873  L3518: ATTRIBUTE_UNUSED_LABEL
06874   if (register_operand (x2, DFmode))
06875     {
06876       operands[1] = x2;
06877       goto L2224;
06878     }
06879   x1 = XEXP (x0, 0);
06880   goto L1916;
06881 
06882  L2224: ATTRIBUTE_UNUSED_LABEL
06883   x2 = XEXP (x1, 1);
06884   if (register_operand (x2, DFmode))
06885     {
06886       operands[2] = x2;
06887       goto L2225;
06888     }
06889   x1 = XEXP (x0, 0);
06890   goto L1916;
06891 
06892  L2225: ATTRIBUTE_UNUSED_LABEL
06893   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
06894     {
06895       return 264;
06896     }
06897   x1 = XEXP (x0, 0);
06898   goto L1916;
06899 
06900  L3519: ATTRIBUTE_UNUSED_LABEL
06901   if (register_operand (x2, SFmode))
06902     {
06903       operands[1] = x2;
06904       goto L2278;
06905     }
06906   x1 = XEXP (x0, 0);
06907   goto L1916;
06908 
06909  L2278: ATTRIBUTE_UNUSED_LABEL
06910   x2 = XEXP (x1, 1);
06911   if (register_operand (x2, SFmode))
06912     {
06913       operands[2] = x2;
06914       goto L2279;
06915     }
06916   x1 = XEXP (x0, 0);
06917   goto L1916;
06918 
06919  L2279: ATTRIBUTE_UNUSED_LABEL
06920   if ((TARGET_HARD_FLOAT))
06921     {
06922       return 273;
06923     }
06924   x1 = XEXP (x0, 0);
06925   goto L1916;
06926 
06927  L2229: ATTRIBUTE_UNUSED_LABEL
06928   x2 = XEXP (x1, 0);
06929   switch (GET_MODE (x2))
06930     {
06931     case DFmode:
06932       goto L3520;
06933     case SFmode:
06934       goto L3521;
06935     default:
06936       break;
06937     }
06938   x1 = XEXP (x0, 0);
06939   goto L1916;
06940 
06941  L3520: ATTRIBUTE_UNUSED_LABEL
06942   if (register_operand (x2, DFmode))
06943     {
06944       operands[1] = x2;
06945       goto L2230;
06946     }
06947   x1 = XEXP (x0, 0);
06948   goto L1916;
06949 
06950  L2230: ATTRIBUTE_UNUSED_LABEL
06951   x2 = XEXP (x1, 1);
06952   if (register_operand (x2, DFmode))
06953     {
06954       operands[2] = x2;
06955       goto L2231;
06956     }
06957   x1 = XEXP (x0, 0);
06958   goto L1916;
06959 
06960  L2231: ATTRIBUTE_UNUSED_LABEL
06961   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
06962     {
06963       return 265;
06964     }
06965   x1 = XEXP (x0, 0);
06966   goto L1916;
06967 
06968  L3521: ATTRIBUTE_UNUSED_LABEL
06969   if (register_operand (x2, SFmode))
06970     {
06971       operands[1] = x2;
06972       goto L2284;
06973     }
06974   x1 = XEXP (x0, 0);
06975   goto L1916;
06976 
06977  L2284: ATTRIBUTE_UNUSED_LABEL
06978   x2 = XEXP (x1, 1);
06979   if (register_operand (x2, SFmode))
06980     {
06981       operands[2] = x2;
06982       goto L2285;
06983     }
06984   x1 = XEXP (x0, 0);
06985   goto L1916;
06986 
06987  L2285: ATTRIBUTE_UNUSED_LABEL
06988   if ((TARGET_HARD_FLOAT))
06989     {
06990       return 274;
06991     }
06992   x1 = XEXP (x0, 0);
06993   goto L1916;
06994 
06995  L2235: ATTRIBUTE_UNUSED_LABEL
06996   x2 = XEXP (x1, 0);
06997   switch (GET_MODE (x2))
06998     {
06999     case DFmode:
07000       goto L3522;
07001     case SFmode:
07002       goto L3523;
07003     default:
07004       break;
07005     }
07006   x1 = XEXP (x0, 0);
07007   goto L1916;
07008 
07009  L3522: ATTRIBUTE_UNUSED_LABEL
07010   if (register_operand (x2, DFmode))
07011     {
07012       operands[1] = x2;
07013       goto L2236;
07014     }
07015   x1 = XEXP (x0, 0);
07016   goto L1916;
07017 
07018  L2236: ATTRIBUTE_UNUSED_LABEL
07019   x2 = XEXP (x1, 1);
07020   if (register_operand (x2, DFmode))
07021     {
07022       operands[2] = x2;
07023       goto L2237;
07024     }
07025   x1 = XEXP (x0, 0);
07026   goto L1916;
07027 
07028  L2237: ATTRIBUTE_UNUSED_LABEL
07029   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
07030     {
07031       return 266;
07032     }
07033   x1 = XEXP (x0, 0);
07034   goto L1916;
07035 
07036  L3523: ATTRIBUTE_UNUSED_LABEL
07037   if (register_operand (x2, SFmode))
07038     {
07039       operands[1] = x2;
07040       goto L2290;
07041     }
07042   x1 = XEXP (x0, 0);
07043   goto L1916;
07044 
07045  L2290: ATTRIBUTE_UNUSED_LABEL
07046   x2 = XEXP (x1, 1);
07047   if (register_operand (x2, SFmode))
07048     {
07049       operands[2] = x2;
07050       goto L2291;
07051     }
07052   x1 = XEXP (x0, 0);
07053   goto L1916;
07054 
07055  L2291: ATTRIBUTE_UNUSED_LABEL
07056   if ((TARGET_HARD_FLOAT))
07057     {
07058       return 275;
07059     }
07060   x1 = XEXP (x0, 0);
07061   goto L1916;
07062 
07063  L2241: ATTRIBUTE_UNUSED_LABEL
07064   x2 = XEXP (x1, 0);
07065   switch (GET_MODE (x2))
07066     {
07067     case DFmode:
07068       goto L3524;
07069     case SFmode:
07070       goto L3525;
07071     default:
07072       break;
07073     }
07074   x1 = XEXP (x0, 0);
07075   goto L1916;
07076 
07077  L3524: ATTRIBUTE_UNUSED_LABEL
07078   if (register_operand (x2, DFmode))
07079     {
07080       operands[1] = x2;
07081       goto L2242;
07082     }
07083   x1 = XEXP (x0, 0);
07084   goto L1916;
07085 
07086  L2242: ATTRIBUTE_UNUSED_LABEL
07087   x2 = XEXP (x1, 1);
07088   if (register_operand (x2, DFmode))
07089     {
07090       operands[2] = x2;
07091       goto L2243;
07092     }
07093   x1 = XEXP (x0, 0);
07094   goto L1916;
07095 
07096  L2243: ATTRIBUTE_UNUSED_LABEL
07097   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
07098     {
07099       return 267;
07100     }
07101   x1 = XEXP (x0, 0);
07102   goto L1916;
07103 
07104  L3525: ATTRIBUTE_UNUSED_LABEL
07105   if (register_operand (x2, SFmode))
07106     {
07107       operands[1] = x2;
07108       goto L2296;
07109     }
07110   x1 = XEXP (x0, 0);
07111   goto L1916;
07112 
07113  L2296: ATTRIBUTE_UNUSED_LABEL
07114   x2 = XEXP (x1, 1);
07115   if (register_operand (x2, SFmode))
07116     {
07117       operands[2] = x2;
07118       goto L2297;
07119     }
07120   x1 = XEXP (x0, 0);
07121   goto L1916;
07122 
07123  L2297: ATTRIBUTE_UNUSED_LABEL
07124   if ((TARGET_HARD_FLOAT))
07125     {
07126       return 276;
07127     }
07128   x1 = XEXP (x0, 0);
07129   goto L1916;
07130 
07131  L2247: ATTRIBUTE_UNUSED_LABEL
07132   x2 = XEXP (x1, 0);
07133   switch (GET_MODE (x2))
07134     {
07135     case DFmode:
07136       goto L3526;
07137     case SFmode:
07138       goto L3527;
07139     default:
07140       break;
07141     }
07142   x1 = XEXP (x0, 0);
07143   goto L1916;
07144 
07145  L3526: ATTRIBUTE_UNUSED_LABEL
07146   if (register_operand (x2, DFmode))
07147     {
07148       operands[1] = x2;
07149       goto L2248;
07150     }
07151   x1 = XEXP (x0, 0);
07152   goto L1916;
07153 
07154  L2248: ATTRIBUTE_UNUSED_LABEL
07155   x2 = XEXP (x1, 1);
07156   if (register_operand (x2, DFmode))
07157     {
07158       operands[2] = x2;
07159       goto L2249;
07160     }
07161   x1 = XEXP (x0, 0);
07162   goto L1916;
07163 
07164  L2249: ATTRIBUTE_UNUSED_LABEL
07165   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
07166     {
07167       return 268;
07168     }
07169   x1 = XEXP (x0, 0);
07170   goto L1916;
07171 
07172  L3527: ATTRIBUTE_UNUSED_LABEL
07173   if (register_operand (x2, SFmode))
07174     {
07175       operands[1] = x2;
07176       goto L2302;
07177     }
07178   x1 = XEXP (x0, 0);
07179   goto L1916;
07180 
07181  L2302: ATTRIBUTE_UNUSED_LABEL
07182   x2 = XEXP (x1, 1);
07183   if (register_operand (x2, SFmode))
07184     {
07185       operands[2] = x2;
07186       goto L2303;
07187     }
07188   x1 = XEXP (x0, 0);
07189   goto L1916;
07190 
07191  L2303: ATTRIBUTE_UNUSED_LABEL
07192   if ((TARGET_HARD_FLOAT))
07193     {
07194       return 277;
07195     }
07196   x1 = XEXP (x0, 0);
07197   goto L1916;
07198 
07199  L2253: ATTRIBUTE_UNUSED_LABEL
07200   x2 = XEXP (x1, 0);
07201   switch (GET_MODE (x2))
07202     {
07203     case DFmode:
07204       goto L3528;
07205     case SFmode:
07206       goto L3529;
07207     default:
07208       break;
07209     }
07210   x1 = XEXP (x0, 0);
07211   goto L1916;
07212 
07213  L3528: ATTRIBUTE_UNUSED_LABEL
07214   if (register_operand (x2, DFmode))
07215     {
07216       operands[1] = x2;
07217       goto L2254;
07218     }
07219   x1 = XEXP (x0, 0);
07220   goto L1916;
07221 
07222  L2254: ATTRIBUTE_UNUSED_LABEL
07223   x2 = XEXP (x1, 1);
07224   if (register_operand (x2, DFmode))
07225     {
07226       operands[2] = x2;
07227       goto L2255;
07228     }
07229   x1 = XEXP (x0, 0);
07230   goto L1916;
07231 
07232  L2255: ATTRIBUTE_UNUSED_LABEL
07233   if ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT))
07234     {
07235       return 269;
07236     }
07237   x1 = XEXP (x0, 0);
07238   goto L1916;
07239 
07240  L3529: ATTRIBUTE_UNUSED_LABEL
07241   if (register_operand (x2, SFmode))
07242     {
07243       operands[1] = x2;
07244       goto L2308;
07245     }
07246   x1 = XEXP (x0, 0);
07247   goto L1916;
07248 
07249  L2308: ATTRIBUTE_UNUSED_LABEL
07250   x2 = XEXP (x1, 1);
07251   if (register_operand (x2, SFmode))
07252     {
07253       operands[2] = x2;
07254       goto L2309;
07255     }
07256   x1 = XEXP (x0, 0);
07257   goto L1916;
07258 
07259  L2309: ATTRIBUTE_UNUSED_LABEL
07260   if ((TARGET_HARD_FLOAT))
07261     {
07262       return 278;
07263     }
07264   x1 = XEXP (x0, 0);
07265   goto L1916;
07266 
07267  L2322: ATTRIBUTE_UNUSED_LABEL
07268   x1 = XEXP (x0, 1);
07269   switch (GET_MODE (x1))
07270     {
07271     case SImode:
07272       goto L3530;
07273     case DImode:
07274       goto L3531;
07275     default:
07276       break;
07277     }
07278  L1917: ATTRIBUTE_UNUSED_LABEL
07279   switch (GET_CODE (x1))
07280     {
07281     case IF_THEN_ELSE:
07282       goto L1918;
07283     case LABEL_REF:
07284       goto L2313;
07285     default:
07286      break;
07287    }
07288   goto ret0;
07289 
07290  L3530: ATTRIBUTE_UNUSED_LABEL
07291   if (register_operand (x1, SImode))
07292     {
07293       operands[0] = x1;
07294       goto L2323;
07295     }
07296   goto L1917;
07297 
07298  L2323: ATTRIBUTE_UNUSED_LABEL
07299   if ((!(Pmode == DImode)))
07300     {
07301       return 281;
07302     }
07303   x1 = XEXP (x0, 1);
07304   goto L1917;
07305 
07306  L3531: ATTRIBUTE_UNUSED_LABEL
07307   if (se_register_operand (x1, DImode))
07308     {
07309       operands[0] = x1;
07310       goto L2327;
07311     }
07312   goto L1917;
07313 
07314  L2327: ATTRIBUTE_UNUSED_LABEL
07315   if ((Pmode == DImode))
07316     {
07317       return 282;
07318     }
07319   x1 = XEXP (x0, 1);
07320   goto L1917;
07321 
07322  L1918: ATTRIBUTE_UNUSED_LABEL
07323   x2 = XEXP (x1, 0);
07324   switch (GET_MODE (x2))
07325     {
07326     case CCmode:
07327       goto L3532;
07328     case SImode:
07329       goto L3533;
07330     case DImode:
07331       goto L3534;
07332     default:
07333       break;
07334     }
07335   goto ret0;
07336 
07337  L3532: ATTRIBUTE_UNUSED_LABEL
07338   if (cmp_op (x2, CCmode))
07339     {
07340       operands[0] = x2;
07341       goto L1919;
07342     }
07343   goto ret0;
07344 
07345  L1919: ATTRIBUTE_UNUSED_LABEL
07346   x3 = XEXP (x2, 0);
07347   if (register_operand (x3, CCmode))
07348     {
07349       operands[2] = x3;
07350       goto L1920;
07351     }
07352   goto ret0;
07353 
07354  L1920: ATTRIBUTE_UNUSED_LABEL
07355   x3 = XEXP (x2, 1);
07356   if (GET_CODE (x3) == CONST_INT
07357       && XWINT (x3, 0) == 0LL)
07358     goto L1921;
07359   goto ret0;
07360 
07361  L1921: ATTRIBUTE_UNUSED_LABEL
07362   x2 = XEXP (x1, 1);
07363   switch (GET_CODE (x2))
07364     {
07365     case LABEL_REF:
07366       goto L1922;
07367     case PC:
07368       goto L1931;
07369     default:
07370      break;
07371    }
07372   goto ret0;
07373 
07374  L1922: ATTRIBUTE_UNUSED_LABEL
07375   x3 = XEXP (x2, 0);
07376   operands[1] = x3;
07377   goto L1923;
07378 
07379  L1923: ATTRIBUTE_UNUSED_LABEL
07380   x2 = XEXP (x1, 2);
07381   if (GET_CODE (x2) == PC
07382       && (TARGET_HARD_FLOAT))
07383     {
07384       return 219;
07385     }
07386   goto ret0;
07387 
07388  L1931: ATTRIBUTE_UNUSED_LABEL
07389   x2 = XEXP (x1, 2);
07390   if (GET_CODE (x2) == LABEL_REF)
07391     goto L1932;
07392   goto ret0;
07393 
07394  L1932: ATTRIBUTE_UNUSED_LABEL
07395   x3 = XEXP (x2, 0);
07396   operands[1] = x3;
07397   goto L1933;
07398 
07399  L1933: ATTRIBUTE_UNUSED_LABEL
07400   if ((TARGET_HARD_FLOAT))
07401     {
07402       return 220;
07403     }
07404   goto ret0;
07405 
07406  L3533: ATTRIBUTE_UNUSED_LABEL
07407   if (cmp_op (x2, SImode))
07408     {
07409       operands[0] = x2;
07410       goto L1938;
07411     }
07412  L3535: ATTRIBUTE_UNUSED_LABEL
07413   if (equality_op (x2, SImode))
07414     {
07415       operands[0] = x2;
07416       goto L1976;
07417     }
07418   goto ret0;
07419 
07420  L1938: ATTRIBUTE_UNUSED_LABEL
07421   x3 = XEXP (x2, 0);
07422   if (register_operand (x3, SImode))
07423     {
07424       operands[2] = x3;
07425       goto L1939;
07426     }
07427   goto L3535;
07428 
07429  L1939: ATTRIBUTE_UNUSED_LABEL
07430   x3 = XEXP (x2, 1);
07431   if (GET_CODE (x3) == CONST_INT
07432       && XWINT (x3, 0) == 0LL)
07433     goto L1940;
07434   goto L3535;
07435 
07436  L1940: ATTRIBUTE_UNUSED_LABEL
07437   x2 = XEXP (x1, 1);
07438   switch (GET_CODE (x2))
07439     {
07440     case LABEL_REF:
07441       goto L1941;
07442     case PC:
07443       goto L1950;
07444     default:
07445      break;
07446    }
07447   x2 = XEXP (x1, 0);
07448   goto L3535;
07449 
07450  L1941: ATTRIBUTE_UNUSED_LABEL
07451   x3 = XEXP (x2, 0);
07452   operands[1] = x3;
07453   goto L1942;
07454 
07455  L1942: ATTRIBUTE_UNUSED_LABEL
07456   x2 = XEXP (x1, 2);
07457   if (GET_CODE (x2) == PC
07458       && (!TARGET_MIPS16))
07459     {
07460       return 221;
07461     }
07462   x2 = XEXP (x1, 0);
07463   goto L3535;
07464 
07465  L1950: ATTRIBUTE_UNUSED_LABEL
07466   x2 = XEXP (x1, 2);
07467   if (GET_CODE (x2) == LABEL_REF)
07468     goto L1951;
07469   x2 = XEXP (x1, 0);
07470   goto L3535;
07471 
07472  L1951: ATTRIBUTE_UNUSED_LABEL
07473   x3 = XEXP (x2, 0);
07474   operands[1] = x3;
07475   goto L1952;
07476 
07477  L1952: ATTRIBUTE_UNUSED_LABEL
07478   if ((!TARGET_MIPS16))
07479     {
07480       return 222;
07481     }
07482   x1 = XEXP (x0, 1);
07483   x2 = XEXP (x1, 0);
07484   goto L3535;
07485 
07486  L1976: ATTRIBUTE_UNUSED_LABEL
07487   x3 = XEXP (x2, 0);
07488   if (GET_MODE (x3) == SImode)
07489     goto L3537;
07490   goto ret0;
07491 
07492  L3537: ATTRIBUTE_UNUSED_LABEL
07493   if (register_operand (x3, SImode))
07494     {
07495       operands[2] = x3;
07496       goto L1977;
07497     }
07498  L3538: ATTRIBUTE_UNUSED_LABEL
07499   if (register_operand (x3, SImode))
07500     {
07501       operands[1] = x3;
07502       goto L2015;
07503     }
07504   goto ret0;
07505 
07506  L1977: ATTRIBUTE_UNUSED_LABEL
07507   x3 = XEXP (x2, 1);
07508   if (register_operand (x3, SImode))
07509     {
07510       operands[3] = x3;
07511       goto L1978;
07512     }
07513   x3 = XEXP (x2, 0);
07514   goto L3538;
07515 
07516  L1978: ATTRIBUTE_UNUSED_LABEL
07517   x2 = XEXP (x1, 1);
07518   switch (GET_CODE (x2))
07519     {
07520     case LABEL_REF:
07521       goto L1979;
07522     case PC:
07523       goto L1997;
07524     default:
07525      break;
07526    }
07527   x2 = XEXP (x1, 0);
07528   x3 = XEXP (x2, 0);
07529   goto L3538;
07530 
07531  L1979: ATTRIBUTE_UNUSED_LABEL
07532   x3 = XEXP (x2, 0);
07533   operands[1] = x3;
07534   goto L1980;
07535 
07536  L1980: ATTRIBUTE_UNUSED_LABEL
07537   x2 = XEXP (x1, 2);
07538   if (GET_CODE (x2) == PC
07539       && (!TARGET_MIPS16))
07540     {
07541       return 225;
07542     }
07543   x2 = XEXP (x1, 0);
07544   x3 = XEXP (x2, 0);
07545   goto L3538;
07546 
07547  L1997: ATTRIBUTE_UNUSED_LABEL
07548   x2 = XEXP (x1, 2);
07549   if (GET_CODE (x2) == LABEL_REF)
07550     goto L1998;
07551   x2 = XEXP (x1, 0);
07552   x3 = XEXP (x2, 0);
07553   goto L3538;
07554 
07555  L1998: ATTRIBUTE_UNUSED_LABEL
07556   x3 = XEXP (x2, 0);
07557   operands[1] = x3;
07558   goto L1999;
07559 
07560  L1999: ATTRIBUTE_UNUSED_LABEL
07561   if ((!TARGET_MIPS16))
07562     {
07563       return 227;
07564     }
07565   x1 = XEXP (x0, 1);
07566   x2 = XEXP (x1, 0);
07567   x3 = XEXP (x2, 0);
07568   goto L3538;
07569 
07570  L2015: ATTRIBUTE_UNUSED_LABEL
07571   x3 = XEXP (x2, 1);
07572   if (GET_CODE (x3) == CONST_INT
07573       && XWINT (x3, 0) == 0LL)
07574     goto L2016;
07575   goto ret0;
07576 
07577  L2016: ATTRIBUTE_UNUSED_LABEL
07578   x2 = XEXP (x1, 1);
07579   if (pc_or_label_operand (x2, VOIDmode))
07580     {
07581       operands[2] = x2;
07582       goto L2017;
07583     }
07584   goto ret0;
07585 
07586  L2017: ATTRIBUTE_UNUSED_LABEL
07587   x2 = XEXP (x1, 2);
07588   if (pc_or_label_operand (x2, VOIDmode))
07589     {
07590       operands[3] = x2;
07591       goto L2018;
07592     }
07593   goto ret0;
07594 
07595  L2018: ATTRIBUTE_UNUSED_LABEL
07596   if ((TARGET_MIPS16))
07597     {
07598       return 229;
07599     }
07600   goto ret0;
07601 
07602  L3534: ATTRIBUTE_UNUSED_LABEL
07603   if (cmp_op (x2, DImode))
07604     {
07605       operands[0] = x2;
07606       goto L1957;
07607     }
07608  L3536: ATTRIBUTE_UNUSED_LABEL
07609   if (equality_op (x2, DImode))
07610     {
07611       operands[0] = x2;
07612       goto L1985;
07613     }
07614   goto ret0;
07615 
07616  L1957: ATTRIBUTE_UNUSED_LABEL
07617   x3 = XEXP (x2, 0);
07618   if (se_register_operand (x3, DImode))
07619     {
07620       operands[2] = x3;
07621       goto L1958;
07622     }
07623   goto L3536;
07624 
07625  L1958: ATTRIBUTE_UNUSED_LABEL
07626   x3 = XEXP (x2, 1);
07627   if (GET_CODE (x3) == CONST_INT
07628       && XWINT (x3, 0) == 0LL)
07629     goto L1959;
07630   goto L3536;
07631 
07632  L1959: ATTRIBUTE_UNUSED_LABEL
07633   x2 = XEXP (x1, 1);
07634   switch (GET_CODE (x2))
07635     {
07636     case LABEL_REF:
07637       goto L1960;
07638     case PC:
07639       goto L1969;
07640     default:
07641      break;
07642    }
07643   x2 = XEXP (x1, 0);
07644   goto L3536;
07645 
07646  L1960: ATTRIBUTE_UNUSED_LABEL
07647   x3 = XEXP (x2, 0);
07648   operands[1] = x3;
07649   goto L1961;
07650 
07651  L1961: ATTRIBUTE_UNUSED_LABEL
07652   x2 = XEXP (x1, 2);
07653   if (GET_CODE (x2) == PC
07654       && (!TARGET_MIPS16))
07655     {
07656       return 223;
07657     }
07658   x2 = XEXP (x1, 0);
07659   goto L3536;
07660 
07661  L1969: ATTRIBUTE_UNUSED_LABEL
07662   x2 = XEXP (x1, 2);
07663   if (GET_CODE (x2) == LABEL_REF)
07664     goto L1970;
07665   x2 = XEXP (x1, 0);
07666   goto L3536;
07667 
07668  L1970: ATTRIBUTE_UNUSED_LABEL
07669   x3 = XEXP (x2, 0);
07670   operands[1] = x3;
07671   goto L1971;
07672 
07673  L1971: ATTRIBUTE_UNUSED_LABEL
07674   if ((!TARGET_MIPS16))
07675     {
07676       return 224;
07677     }
07678   x1 = XEXP (x0, 1);
07679   x2 = XEXP (x1, 0);
07680   goto L3536;
07681 
07682  L1985: ATTRIBUTE_UNUSED_LABEL
07683   x3 = XEXP (x2, 0);
07684   if (GET_MODE (x3) == DImode)
07685     goto L3539;
07686   goto ret0;
07687 
07688  L3539: ATTRIBUTE_UNUSED_LABEL
07689   if (se_register_operand (x3, DImode))
07690     {
07691       operands[2] = x3;
07692       goto L1986;
07693     }
07694  L3540: ATTRIBUTE_UNUSED_LABEL
07695   if (se_register_operand (x3, DImode))
07696     {
07697       operands[1] = x3;
07698       goto L2024;
07699     }
07700   goto ret0;
07701 
07702  L1986: ATTRIBUTE_UNUSED_LABEL
07703   x3 = XEXP (x2, 1);
07704   if (se_register_operand (x3, DImode))
07705     {
07706       operands[3] = x3;
07707       goto L1987;
07708     }
07709   x3 = XEXP (x2, 0);
07710   goto L3540;
07711 
07712  L1987: ATTRIBUTE_UNUSED_LABEL
07713   x2 = XEXP (x1, 1);
07714   switch (GET_CODE (x2))
07715     {
07716     case LABEL_REF:
07717       goto L1988;
07718     case PC:
07719       goto L2007;
07720     default:
07721      break;
07722    }
07723   x2 = XEXP (x1, 0);
07724   x3 = XEXP (x2, 0);
07725   goto L3540;
07726 
07727  L1988: ATTRIBUTE_UNUSED_LABEL
07728   x3 = XEXP (x2, 0);
07729   operands[1] = x3;
07730   goto L1989;
07731 
07732  L1989: ATTRIBUTE_UNUSED_LABEL
07733   x2 = XEXP (x1, 2);
07734   if (GET_CODE (x2) == PC
07735       && (!TARGET_MIPS16))
07736     {
07737       return 226;
07738     }
07739   x2 = XEXP (x1, 0);
07740   x3 = XEXP (x2, 0);
07741   goto L3540;
07742 
07743  L2007: ATTRIBUTE_UNUSED_LABEL
07744   x2 = XEXP (x1, 2);
07745   if (GET_CODE (x2) == LABEL_REF)
07746     goto L2008;
07747   x2 = XEXP (x1, 0);
07748   x3 = XEXP (x2, 0);
07749   goto L3540;
07750 
07751  L2008: ATTRIBUTE_UNUSED_LABEL
07752   x3 = XEXP (x2, 0);
07753   operands[1] = x3;
07754   goto L2009;
07755 
07756  L2009: ATTRIBUTE_UNUSED_LABEL
07757   if ((!TARGET_MIPS16))
07758     {
07759       return 228;
07760     }
07761   x1 = XEXP (x0, 1);
07762   x2 = XEXP (x1, 0);
07763   x3 = XEXP (x2, 0);
07764   goto L3540;
07765 
07766  L2024: ATTRIBUTE_UNUSED_LABEL
07767   x3 = XEXP (x2, 1);
07768   if (GET_CODE (x3) == CONST_INT
07769       && XWINT (x3, 0) == 0LL)
07770     goto L2025;
07771   goto ret0;
07772 
07773  L2025: ATTRIBUTE_UNUSED_LABEL
07774   x2 = XEXP (x1, 1);
07775   if (pc_or_label_operand (x2, VOIDmode))
07776     {
07777       operands[2] = x2;
07778       goto L2026;
07779     }
07780   goto ret0;
07781 
07782  L2026: ATTRIBUTE_UNUSED_LABEL
07783   x2 = XEXP (x1, 2);
07784   if (pc_or_label_operand (x2, VOIDmode))
07785     {
07786       operands[3] = x2;
07787       goto L2027;
07788     }
07789   goto ret0;
07790 
07791  L2027: ATTRIBUTE_UNUSED_LABEL
07792   if ((TARGET_MIPS16))
07793     {
07794       return 230;
07795     }
07796   goto ret0;
07797 
07798  L2313: ATTRIBUTE_UNUSED_LABEL
07799   x2 = XEXP (x1, 0);
07800   operands[0] = x2;
07801   goto L2314;
07802 
07803  L2314: ATTRIBUTE_UNUSED_LABEL
07804   if ((!TARGET_MIPS16))
07805     {
07806       return 279;
07807     }
07808  L2319: ATTRIBUTE_UNUSED_LABEL
07809   if ((TARGET_MIPS16))
07810     {
07811       return 280;
07812     }
07813   goto ret0;
07814 
07815  L2436: ATTRIBUTE_UNUSED_LABEL
07816   x1 = XEXP (x0, 1);
07817   if (GET_CODE (x1) == UNSPEC
07818       && XVECLEN (x1, 0) == 1
07819       && XINT (x1, 1) == 4)
07820     goto L2437;
07821   goto ret0;
07822 
07823  L2437: ATTRIBUTE_UNUSED_LABEL
07824   x2 = XVECEXP (x1, 0, 0);
07825   operands[1] = x2;
07826   goto L2438;
07827 
07828  L2438: ATTRIBUTE_UNUSED_LABEL
07829   if ((TARGET_EMBEDDED_PIC
07830    && GET_CODE (operands[1]) == SYMBOL_REF)
07831       && pnum_clobbers != NULL)
07832     {
07833       *pnum_clobbers = 1;
07834       return 292;
07835     }
07836   goto ret0;
07837  ret0:
07838   return -1;
07839 }
07840 
07841 static int recog_6 PARAMS ((rtx, rtx, int *));
07842 static int
07843 recog_6 (x0, insn, pnum_clobbers)
07844      rtx x0 ATTRIBUTE_UNUSED;
07845      rtx insn ATTRIBUTE_UNUSED;
07846      int *pnum_clobbers ATTRIBUTE_UNUSED;
07847 {
07848   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
07849   rtx x1 ATTRIBUTE_UNUSED;
07850   rtx x2 ATTRIBUTE_UNUSED;
07851   rtx x3 ATTRIBUTE_UNUSED;
07852   rtx x4 ATTRIBUTE_UNUSED;
07853   rtx x5 ATTRIBUTE_UNUSED;
07854   rtx x6 ATTRIBUTE_UNUSED;
07855   rtx x7 ATTRIBUTE_UNUSED;
07856   int tem ATTRIBUTE_UNUSED;
07857 
07858   x1 = XVECEXP (x0, 0, 0);
07859   x2 = XEXP (x1, 0);
07860   switch (GET_MODE (x2))
07861     {
07862     case DImode:
07863       goto L3544;
07864     case SImode:
07865       goto L3543;
07866     default:
07867       break;
07868     }
07869  L2330: ATTRIBUTE_UNUSED_LABEL
07870   if (GET_CODE (x2) == PC)
07871     goto L2331;
07872   if (register_operand (x2, VOIDmode))
07873     {
07874       operands[0] = x2;
07875       goto L2430;
07876     }
07877   goto ret0;
07878 
07879  L3544: ATTRIBUTE_UNUSED_LABEL
07880   if (GET_CODE (x2) == REG
07881       && XINT (x2, 0) == 28)
07882     goto L1643;
07883  L3542: ATTRIBUTE_UNUSED_LABEL
07884   if (register_operand (x2, DImode))
07885     {
07886       operands[0] = x2;
07887       goto L47;
07888     }
07889   goto L2330;
07890 
07891  L1643: ATTRIBUTE_UNUSED_LABEL
07892   x2 = XEXP (x1, 1);
07893   if (GET_MODE (x2) == DImode
07894       && GET_CODE (x2) == UNSPEC_VOLATILE
07895       && XVECLEN (x2, 0) == 2
07896       && XINT (x2, 1) == 7)
07897     goto L1644;
07898   x2 = XEXP (x1, 0);
07899   goto L3542;
07900 
07901  L1644: ATTRIBUTE_UNUSED_LABEL
07902   x3 = XVECEXP (x2, 0, 0);
07903   if (address_operand (x3, DImode))
07904     {
07905       operands[0] = x3;
07906       goto L1645;
07907     }
07908   x2 = XEXP (x1, 0);
07909   goto L3542;
07910 
07911  L1645: ATTRIBUTE_UNUSED_LABEL
07912   x3 = XVECEXP (x2, 0, 1);
07913   if (register_operand (x3, DImode))
07914     {
07915       operands[1] = x3;
07916       goto L1646;
07917     }
07918   x2 = XEXP (x1, 0);
07919   goto L3542;
07920 
07921  L1646: ATTRIBUTE_UNUSED_LABEL
07922   x1 = XVECEXP (x0, 0, 1);
07923   if (GET_CODE (x1) == CLOBBER)
07924     goto L1647;
07925   x1 = XVECEXP (x0, 0, 0);
07926   x2 = XEXP (x1, 0);
07927   goto L3542;
07928 
07929  L1647: ATTRIBUTE_UNUSED_LABEL
07930   x2 = XEXP (x1, 0);
07931   if (GET_MODE (x2) == DImode
07932       && GET_CODE (x2) == REG
07933       && XINT (x2, 0) == 1)
07934     {
07935       return 189;
07936     }
07937   x1 = XVECEXP (x0, 0, 0);
07938   x2 = XEXP (x1, 0);
07939   goto L3542;
07940 
07941  L47: ATTRIBUTE_UNUSED_LABEL
07942   x2 = XEXP (x1, 1);
07943   if (GET_MODE (x2) == DImode)
07944     goto L3545;
07945   x2 = XEXP (x1, 0);
07946   goto L2330;
07947 
07948  L3545: ATTRIBUTE_UNUSED_LABEL
07949   switch (GET_CODE (x2))
07950     {
07951     case PLUS:
07952       goto L48;
07953     case MINUS:
07954       goto L140;
07955     case MULT:
07956       goto L407;
07957     case DIV:
07958       goto L826;
07959     case UDIV:
07960       goto L876;
07961     case NEG:
07962       goto L1121;
07963     case ASHIFT:
07964       goto L1760;
07965     case ASHIFTRT:
07966       goto L1811;
07967     case LSHIFTRT:
07968       goto L1868;
07969     default:
07970      break;
07971    }
07972   x2 = XEXP (x1, 0);
07973   goto L2330;
07974 
07975  L48: ATTRIBUTE_UNUSED_LABEL
07976   x3 = XEXP (x2, 0);
07977   if (GET_MODE (x3) == DImode)
07978     goto L3555;
07979   x2 = XEXP (x1, 0);
07980   goto L2330;
07981 
07982  L3555: ATTRIBUTE_UNUSED_LABEL
07983   if (GET_CODE (x3) == MULT)
07984     goto L652;
07985   if (register_operand (x3, DImode))
07986     {
07987       operands[1] = x3;
07988       goto L49;
07989     }
07990   x2 = XEXP (x1, 0);
07991   goto L2330;
07992 
07993  L652: ATTRIBUTE_UNUSED_LABEL
07994   x4 = XEXP (x3, 0);
07995   if (extend_operator (x4, DImode))
07996     {
07997       operands[3] = x4;
07998       goto L653;
07999     }
08000   x2 = XEXP (x1, 0);
08001   goto L2330;
08002 
08003  L653: ATTRIBUTE_UNUSED_LABEL
08004   x5 = XEXP (x4, 0);
08005   if (register_operand (x5, SImode))
08006     {
08007       operands[1] = x5;
08008       goto L654;
08009     }
08010   x2 = XEXP (x1, 0);
08011   goto L2330;
08012 
08013  L654: ATTRIBUTE_UNUSED_LABEL
08014   x4 = XEXP (x3, 1);
08015   if (extend_operator (x4, DImode))
08016     {
08017       operands[4] = x4;
08018       goto L655;
08019     }
08020   x2 = XEXP (x1, 0);
08021   goto L2330;
08022 
08023  L655: ATTRIBUTE_UNUSED_LABEL
08024   x5 = XEXP (x4, 0);
08025   if (register_operand (x5, SImode))
08026     {
08027       operands[2] = x5;
08028       goto L656;
08029     }
08030   x2 = XEXP (x1, 0);
08031   goto L2330;
08032 
08033  L656: ATTRIBUTE_UNUSED_LABEL
08034   x3 = XEXP (x2, 1);
08035   if (rtx_equal_p (x3, operands[0]))
08036     goto L657;
08037   x2 = XEXP (x1, 0);
08038   goto L2330;
08039 
08040  L657: ATTRIBUTE_UNUSED_LABEL
08041   x1 = XVECEXP (x0, 0, 1);
08042   if (GET_CODE (x1) == CLOBBER)
08043     goto L658;
08044   x1 = XVECEXP (x0, 0, 0);
08045   x2 = XEXP (x1, 0);
08046   goto L2330;
08047 
08048  L658: ATTRIBUTE_UNUSED_LABEL
08049   x2 = XEXP (x1, 0);
08050   if (scratch_operand (x2, SImode))
08051     {
08052       operands[5] = x2;
08053       goto L659;
08054     }
08055   x1 = XVECEXP (x0, 0, 0);
08056   x2 = XEXP (x1, 0);
08057   goto L2330;
08058 
08059  L659: ATTRIBUTE_UNUSED_LABEL
08060   if ((TARGET_MAD
08061    && ! TARGET_64BIT
08062    && GET_CODE (operands[3]) == GET_CODE (operands[4])))
08063     {
08064       return 53;
08065     }
08066   x1 = XVECEXP (x0, 0, 0);
08067   x2 = XEXP (x1, 0);
08068   goto L2330;
08069 
08070  L49: ATTRIBUTE_UNUSED_LABEL
08071   x3 = XEXP (x2, 1);
08072   if (register_operand (x3, DImode))
08073     {
08074       operands[2] = x3;
08075       goto L50;
08076     }
08077   if (small_int (x3, DImode))
08078     {
08079       operands[2] = x3;
08080       goto L59;
08081     }
08082   x2 = XEXP (x1, 0);
08083   goto L2330;
08084 
08085  L50: ATTRIBUTE_UNUSED_LABEL
08086   x1 = XVECEXP (x0, 0, 1);
08087   if (GET_CODE (x1) == CLOBBER)
08088     goto L51;
08089   x1 = XVECEXP (x0, 0, 0);
08090   x2 = XEXP (x1, 0);
08091   goto L2330;
08092 
08093  L51: ATTRIBUTE_UNUSED_LABEL
08094   x2 = XEXP (x1, 0);
08095   if (register_operand (x2, SImode))
08096     {
08097       operands[3] = x2;
08098       goto L52;
08099     }
08100   x1 = XVECEXP (x0, 0, 0);
08101   x2 = XEXP (x1, 0);
08102   goto L2330;
08103 
08104  L52: ATTRIBUTE_UNUSED_LABEL
08105   if ((!TARGET_64BIT && !TARGET_DEBUG_G_MODE && !TARGET_MIPS16))
08106     {
08107       return 8;
08108     }
08109   x1 = XVECEXP (x0, 0, 0);
08110   x2 = XEXP (x1, 0);
08111   goto L2330;
08112 
08113  L59: ATTRIBUTE_UNUSED_LABEL
08114   x1 = XVECEXP (x0, 0, 1);
08115   if (GET_CODE (x1) == CLOBBER)
08116     goto L60;
08117   x1 = XVECEXP (x0, 0, 0);
08118   x2 = XEXP (x1, 0);
08119   goto L2330;
08120 
08121  L60: ATTRIBUTE_UNUSED_LABEL
08122   x2 = XEXP (x1, 0);
08123   if (register_operand (x2, SImode))
08124     {
08125       operands[3] = x2;
08126       goto L61;
08127     }
08128   x1 = XVECEXP (x0, 0, 0);
08129   x2 = XEXP (x1, 0);
08130   goto L2330;
08131 
08132  L61: ATTRIBUTE_UNUSED_LABEL
08133   if ((!TARGET_64BIT && !TARGET_DEBUG_G_MODE && !TARGET_MIPS16
08134    && (TARGET_GAS
08135        || GET_CODE (operands[2]) != CONST_INT
08136        || INTVAL (operands[2]) != -32768)))
08137     {
08138       return 9;
08139     }
08140   x1 = XVECEXP (x0, 0, 0);
08141   x2 = XEXP (x1, 0);
08142   goto L2330;
08143 
08144  L140: ATTRIBUTE_UNUSED_LABEL
08145   x3 = XEXP (x2, 0);
08146   if (register_operand (x3, DImode))
08147     {
08148       operands[1] = x3;
08149       goto L141;
08150     }
08151   x2 = XEXP (x1, 0);
08152   goto L2330;
08153 
08154  L141: ATTRIBUTE_UNUSED_LABEL
08155   x3 = XEXP (x2, 1);
08156   if (register_operand (x3, DImode))
08157     {
08158       operands[2] = x3;
08159       goto L142;
08160     }
08161   if (small_int (x3, DImode))
08162     {
08163       operands[2] = x3;
08164       goto L151;
08165     }
08166   x2 = XEXP (x1, 0);
08167   goto L2330;
08168 
08169  L142: ATTRIBUTE_UNUSED_LABEL
08170   x1 = XVECEXP (x0, 0, 1);
08171   if (GET_CODE (x1) == CLOBBER)
08172     goto L143;
08173   x1 = XVECEXP (x0, 0, 0);
08174   x2 = XEXP (x1, 0);
08175   goto L2330;
08176 
08177  L143: ATTRIBUTE_UNUSED_LABEL
08178   x2 = XEXP (x1, 0);
08179   if (register_operand (x2, SImode))
08180     {
08181       operands[3] = x2;
08182       goto L144;
08183     }
08184   x1 = XVECEXP (x0, 0, 0);
08185   x2 = XEXP (x1, 0);
08186   goto L2330;
08187 
08188  L144: ATTRIBUTE_UNUSED_LABEL
08189   if ((!TARGET_64BIT && !TARGET_DEBUG_G_MODE && !TARGET_MIPS16))
08190     {
08191       return 22;
08192     }
08193   x1 = XVECEXP (x0, 0, 0);
08194   x2 = XEXP (x1, 0);
08195   goto L2330;
08196 
08197  L151: ATTRIBUTE_UNUSED_LABEL
08198   x1 = XVECEXP (x0, 0, 1);
08199   if (GET_CODE (x1) == CLOBBER)
08200     goto L152;
08201   x1 = XVECEXP (x0, 0, 0);
08202   x2 = XEXP (x1, 0);
08203   goto L2330;
08204 
08205  L152: ATTRIBUTE_UNUSED_LABEL
08206   x2 = XEXP (x1, 0);
08207   if (register_operand (x2, SImode))
08208     {
08209       operands[3] = x2;
08210       goto L153;
08211     }
08212   x1 = XVECEXP (x0, 0, 0);
08213   x2 = XEXP (x1, 0);
08214   goto L2330;
08215 
08216  L153: ATTRIBUTE_UNUSED_LABEL
08217   if ((!TARGET_64BIT && !TARGET_DEBUG_G_MODE && !TARGET_MIPS16
08218    && INTVAL (operands[2]) != -32768))
08219     {
08220       return 23;
08221     }
08222   x1 = XVECEXP (x0, 0, 0);
08223   x2 = XEXP (x1, 0);
08224   goto L2330;
08225 
08226  L407: ATTRIBUTE_UNUSED_LABEL
08227   x3 = XEXP (x2, 0);
08228   if (extend_operator (x3, DImode))
08229     {
08230       operands[3] = x3;
08231       goto L408;
08232     }
08233   x2 = XEXP (x1, 0);
08234   goto L2330;
08235 
08236  L408: ATTRIBUTE_UNUSED_LABEL
08237   x4 = XEXP (x3, 0);
08238   if (register_operand (x4, SImode))
08239     {
08240       operands[1] = x4;
08241       goto L409;
08242     }
08243   x2 = XEXP (x1, 0);
08244   goto L2330;
08245 
08246  L409: ATTRIBUTE_UNUSED_LABEL
08247   x3 = XEXP (x2, 1);
08248   if (extend_operator (x3, DImode))
08249     {
08250       operands[4] = x3;
08251       goto L410;
08252     }
08253   x2 = XEXP (x1, 0);
08254   goto L2330;
08255 
08256  L410: ATTRIBUTE_UNUSED_LABEL
08257   x4 = XEXP (x3, 0);
08258   if (register_operand (x4, SImode))
08259     {
08260       operands[2] = x4;
08261       goto L411;
08262     }
08263   x2 = XEXP (x1, 0);
08264   goto L2330;
08265 
08266  L411: ATTRIBUTE_UNUSED_LABEL
08267   x1 = XVECEXP (x0, 0, 1);
08268   if (GET_CODE (x1) == CLOBBER)
08269     goto L412;
08270   x1 = XVECEXP (x0, 0, 0);
08271   x2 = XEXP (x1, 0);
08272   goto L2330;
08273 
08274  L412: ATTRIBUTE_UNUSED_LABEL
08275   x2 = XEXP (x1, 0);
08276   if (scratch_operand (x2, SImode))
08277     {
08278       operands[5] = x2;
08279       goto L413;
08280     }
08281   x1 = XVECEXP (x0, 0, 0);
08282   x2 = XEXP (x1, 0);
08283   goto L2330;
08284 
08285  L413: ATTRIBUTE_UNUSED_LABEL
08286   if ((!TARGET_64BIT && GET_CODE (operands[3]) == GET_CODE (operands[4])))
08287     {
08288       return 43;
08289     }
08290   x1 = XVECEXP (x0, 0, 0);
08291   x2 = XEXP (x1, 0);
08292   goto L2330;
08293 
08294  L826: ATTRIBUTE_UNUSED_LABEL
08295   x3 = XEXP (x2, 0);
08296   if (se_register_operand (x3, DImode))
08297     {
08298       operands[1] = x3;
08299       goto L827;
08300     }
08301   x2 = XEXP (x1, 0);
08302   goto L2330;
08303 
08304  L827: ATTRIBUTE_UNUSED_LABEL
08305   x3 = XEXP (x2, 1);
08306   if (se_register_operand (x3, DImode))
08307     {
08308       operands[2] = x3;
08309       goto L828;
08310     }
08311   x2 = XEXP (x1, 0);
08312   goto L2330;
08313 
08314  L828: ATTRIBUTE_UNUSED_LABEL
08315   x1 = XVECEXP (x0, 0, 1);
08316   if (GET_CODE (x1) == SET)
08317     goto L829;
08318   x1 = XVECEXP (x0, 0, 0);
08319   x2 = XEXP (x1, 0);
08320   goto L2330;
08321 
08322  L829: ATTRIBUTE_UNUSED_LABEL
08323   x2 = XEXP (x1, 0);
08324   if (register_operand (x2, DImode))
08325     {
08326       operands[3] = x2;
08327       goto L830;
08328     }
08329   x1 = XVECEXP (x0, 0, 0);
08330   x2 = XEXP (x1, 0);
08331   goto L2330;
08332 
08333  L830: ATTRIBUTE_UNUSED_LABEL
08334   x2 = XEXP (x1, 1);
08335   if (GET_MODE (x2) == DImode
08336       && GET_CODE (x2) == MOD)
08337     goto L831;
08338   x1 = XVECEXP (x0, 0, 0);
08339   x2 = XEXP (x1, 0);
08340   goto L2330;
08341 
08342  L831: ATTRIBUTE_UNUSED_LABEL
08343   x3 = XEXP (x2, 0);
08344   if (rtx_equal_p (x3, operands[1]))
08345     goto L832;
08346   x1 = XVECEXP (x0, 0, 0);
08347   x2 = XEXP (x1, 0);
08348   goto L2330;
08349 
08350  L832: ATTRIBUTE_UNUSED_LABEL
08351   x3 = XEXP (x2, 1);
08352   if (rtx_equal_p (x3, operands[2])
08353       && (TARGET_64BIT && optimize)
08354       && pnum_clobbers != NULL)
08355     {
08356       *pnum_clobbers = 1;
08357       return 68;
08358     }
08359   x1 = XVECEXP (x0, 0, 0);
08360   x2 = XEXP (x1, 0);
08361   goto L2330;
08362 
08363  L876: ATTRIBUTE_UNUSED_LABEL
08364   x3 = XEXP (x2, 0);
08365   if (se_register_operand (x3, DImode))
08366     {
08367       operands[1] = x3;
08368       goto L877;
08369     }
08370   x2 = XEXP (x1, 0);
08371   goto L2330;
08372 
08373  L877: ATTRIBUTE_UNUSED_LABEL
08374   x3 = XEXP (x2, 1);
08375   if (se_register_operand (x3, DImode))
08376     {
08377       operands[2] = x3;
08378       goto L878;
08379     }
08380   x2 = XEXP (x1, 0);
08381   goto L2330;
08382 
08383  L878: ATTRIBUTE_UNUSED_LABEL
08384   x1 = XVECEXP (x0, 0, 1);
08385   if (GET_CODE (x1) == SET)
08386     goto L879;
08387   x1 = XVECEXP (x0, 0, 0);
08388   x2 = XEXP (x1, 0);
08389   goto L2330;
08390 
08391  L879: ATTRIBUTE_UNUSED_LABEL
08392   x2 = XEXP (x1, 0);
08393   if (register_operand (x2, DImode))
08394     {
08395       operands[3] = x2;
08396       goto L880;
08397     }
08398   x1 = XVECEXP (x0, 0, 0);
08399   x2 = XEXP (x1, 0);
08400   goto L2330;
08401 
08402  L880: ATTRIBUTE_UNUSED_LABEL
08403   x2 = XEXP (x1, 1);
08404   if (GET_MODE (x2) == DImode
08405       && GET_CODE (x2) == UMOD)
08406     goto L881;
08407   x1 = XVECEXP (x0, 0, 0);
08408   x2 = XEXP (x1, 0);
08409   goto L2330;
08410 
08411  L881: ATTRIBUTE_UNUSED_LABEL
08412   x3 = XEXP (x2, 0);
08413   if (rtx_equal_p (x3, operands[1]))
08414     goto L882;
08415   x1 = XVECEXP (x0, 0, 0);
08416   x2 = XEXP (x1, 0);
08417   goto L2330;
08418 
08419  L882: ATTRIBUTE_UNUSED_LABEL
08420   x3 = XEXP (x2, 1);
08421   if (rtx_equal_p (x3, operands[2])
08422       && (TARGET_64BIT && optimize)
08423       && pnum_clobbers != NULL)
08424     {
08425       *pnum_clobbers = 1;
08426       return 70;
08427     }
08428   x1 = XVECEXP (x0, 0, 0);
08429   x2 = XEXP (x1, 0);
08430   goto L2330;
08431 
08432  L1121: ATTRIBUTE_UNUSED_LABEL
08433   x3 = XEXP (x2, 0);
08434   if (register_operand (x3, DImode))
08435     {
08436       operands[1] = x3;
08437       goto L1122;
08438     }
08439   x2 = XEXP (x1, 0);
08440   goto L2330;
08441 
08442  L1122: ATTRIBUTE_UNUSED_LABEL
08443   x1 = XVECEXP (x0, 0, 1);
08444   if (GET_CODE (x1) == CLOBBER)
08445     goto L1123;
08446   x1 = XVECEXP (x0, 0, 0);
08447   x2 = XEXP (x1, 0);
08448   goto L2330;
08449 
08450  L1123: ATTRIBUTE_UNUSED_LABEL
08451   x2 = XEXP (x1, 0);
08452   if (register_operand (x2, SImode))
08453     {
08454       operands[2] = x2;
08455       goto L1124;
08456     }
08457   x1 = XVECEXP (x0, 0, 0);
08458   x2 = XEXP (x1, 0);
08459   goto L2330;
08460 
08461  L1124: ATTRIBUTE_UNUSED_LABEL
08462   if ((! TARGET_64BIT && !TARGET_DEBUG_G_MODE && !TARGET_MIPS16))
08463     {
08464       return 92;
08465     }
08466   x1 = XVECEXP (x0, 0, 0);
08467   x2 = XEXP (x1, 0);
08468   goto L2330;
08469 
08470  L1760: ATTRIBUTE_UNUSED_LABEL
08471   x3 = XEXP (x2, 0);
08472   if (register_operand (x3, DImode))
08473     {
08474