00001
00002
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
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
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