LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/Sparc - SparcGenAsmWriter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 2608 3509 74.3 %
Date: 2018-05-20 00:06:23 Functions: 3 4 75.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* Assembly Writer Source Fragment                                            *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : /// printInstruction - This method is automatically generated by tablegen
      10             : /// from the instruction set description.
      11        7805 : void SparcInstPrinter::printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O) {
      12             :   static const char AsmStrs[] = {
      13             :   /* 0 */ 'r', 'd', 32, '%', 'w', 'i', 'm', ',', 32, 0,
      14             :   /* 10 */ 'r', 'd', 32, '%', 't', 'b', 'r', ',', 32, 0,
      15             :   /* 20 */ 'r', 'd', 32, '%', 'p', 's', 'r', ',', 32, 0,
      16             :   /* 30 */ 'f', 's', 'r', 'c', '1', 32, 0,
      17             :   /* 37 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 32, 0,
      18             :   /* 47 */ 'f', 'n', 'o', 't', '1', 32, 0,
      19             :   /* 54 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 32, 0,
      20             :   /* 63 */ 'f', 's', 'r', 'a', '3', '2', 32, 0,
      21             :   /* 71 */ 'f', 'p', 's', 'u', 'b', '3', '2', 32, 0,
      22             :   /* 80 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 32, 0,
      23             :   /* 89 */ 'e', 'd', 'g', 'e', '3', '2', 32, 0,
      24             :   /* 97 */ 'f', 'c', 'm', 'p', 'l', 'e', '3', '2', 32, 0,
      25             :   /* 107 */ 'f', 'c', 'm', 'p', 'n', 'e', '3', '2', 32, 0,
      26             :   /* 117 */ 'f', 'p', 'a', 'c', 'k', '3', '2', 32, 0,
      27             :   /* 126 */ 'c', 'm', 'a', 's', 'k', '3', '2', 32, 0,
      28             :   /* 135 */ 'f', 's', 'l', 'l', '3', '2', 32, 0,
      29             :   /* 143 */ 'f', 's', 'r', 'l', '3', '2', 32, 0,
      30             :   /* 151 */ 'f', 'c', 'm', 'p', 'e', 'q', '3', '2', 32, 0,
      31             :   /* 161 */ 'f', 's', 'l', 'a', 's', '3', '2', 32, 0,
      32             :   /* 170 */ 'f', 'c', 'm', 'p', 'g', 't', '3', '2', 32, 0,
      33             :   /* 180 */ 'a', 'r', 'r', 'a', 'y', '3', '2', 32, 0,
      34             :   /* 189 */ 'f', 's', 'r', 'c', '2', 32, 0,
      35             :   /* 196 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 32, 0,
      36             :   /* 206 */ 'f', 'n', 'o', 't', '2', 32, 0,
      37             :   /* 213 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 32, 0,
      38             :   /* 222 */ 'f', 'p', 'a', 'd', 'd', '6', '4', 32, 0,
      39             :   /* 231 */ 'f', 's', 'r', 'a', '1', '6', 32, 0,
      40             :   /* 239 */ 'f', 'p', 's', 'u', 'b', '1', '6', 32, 0,
      41             :   /* 248 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 32, 0,
      42             :   /* 257 */ 'e', 'd', 'g', 'e', '1', '6', 32, 0,
      43             :   /* 265 */ 'f', 'c', 'm', 'p', 'l', 'e', '1', '6', 32, 0,
      44             :   /* 275 */ 'f', 'c', 'm', 'p', 'n', 'e', '1', '6', 32, 0,
      45             :   /* 285 */ 'f', 'p', 'a', 'c', 'k', '1', '6', 32, 0,
      46             :   /* 294 */ 'c', 'm', 'a', 's', 'k', '1', '6', 32, 0,
      47             :   /* 303 */ 'f', 's', 'l', 'l', '1', '6', 32, 0,
      48             :   /* 311 */ 'f', 's', 'r', 'l', '1', '6', 32, 0,
      49             :   /* 319 */ 'f', 'c', 'h', 'k', 's', 'm', '1', '6', 32, 0,
      50             :   /* 329 */ 'f', 'm', 'e', 'a', 'n', '1', '6', 32, 0,
      51             :   /* 338 */ 'f', 'c', 'm', 'p', 'e', 'q', '1', '6', 32, 0,
      52             :   /* 348 */ 'f', 's', 'l', 'a', 's', '1', '6', 32, 0,
      53             :   /* 357 */ 'f', 'c', 'm', 'p', 'g', 't', '1', '6', 32, 0,
      54             :   /* 367 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 32, 0,
      55             :   /* 377 */ 'f', 'm', 'u', 'l', 'd', '8', 'u', 'l', 'x', '1', '6', 32, 0,
      56             :   /* 390 */ 'f', 'm', 'u', 'l', '8', 'u', 'l', 'x', '1', '6', 32, 0,
      57             :   /* 402 */ 'f', 'm', 'u', 'l', 'd', '8', 's', 'u', 'x', '1', '6', 32, 0,
      58             :   /* 415 */ 'f', 'm', 'u', 'l', '8', 's', 'u', 'x', '1', '6', 32, 0,
      59             :   /* 427 */ 'a', 'r', 'r', 'a', 'y', '1', '6', 32, 0,
      60             :   /* 436 */ 'e', 'd', 'g', 'e', '8', 32, 0,
      61             :   /* 443 */ 'c', 'm', 'a', 's', 'k', '8', 32, 0,
      62             :   /* 451 */ 'a', 'r', 'r', 'a', 'y', '8', 32, 0,
      63             :   /* 459 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
      64             :   /* 478 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
      65             :   /* 495 */ 'f', 'p', 's', 'u', 'b', '3', '2', 'S', 32, 0,
      66             :   /* 505 */ 'f', 'p', 's', 'u', 'b', '1', '6', 'S', 32, 0,
      67             :   /* 515 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', 32, 0,
      68             :   /* 524 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', 32, 0,
      69             :   /* 533 */ 'b', 'r', 'g', 'z', ',', 'a', 32, 0,
      70             :   /* 541 */ 'b', 'r', 'l', 'z', ',', 'a', 32, 0,
      71             :   /* 549 */ 'b', 'r', 'n', 'z', ',', 'a', 32, 0,
      72             :   /* 557 */ 'b', 'r', 'z', ',', 'a', 32, 0,
      73             :   /* 564 */ 's', 't', 'b', 'a', 32, 0,
      74             :   /* 570 */ 's', 't', 'd', 'a', 32, 0,
      75             :   /* 576 */ 's', 't', 'h', 'a', 32, 0,
      76             :   /* 582 */ 's', 't', 'q', 'a', 32, 0,
      77             :   /* 588 */ 's', 'r', 'a', 32, 0,
      78             :   /* 593 */ 'f', 'a', 'l', 'i', 'g', 'n', 'd', 'a', 't', 'a', 32, 0,
      79             :   /* 605 */ 's', 't', 'a', 32, 0,
      80             :   /* 610 */ 's', 't', 'b', 32, 0,
      81             :   /* 615 */ 's', 'u', 'b', 32, 0,
      82             :   /* 620 */ 's', 'm', 'a', 'c', 32, 0,
      83             :   /* 626 */ 'u', 'm', 'a', 'c', 32, 0,
      84             :   /* 632 */ 't', 's', 'u', 'b', 'c', 'c', 32, 0,
      85             :   /* 640 */ 'a', 'd', 'd', 'x', 'c', 'c', 'c', 32, 0,
      86             :   /* 649 */ 't', 'a', 'd', 'd', 'c', 'c', 32, 0,
      87             :   /* 657 */ 'a', 'n', 'd', 'c', 'c', 32, 0,
      88             :   /* 664 */ 's', 'm', 'u', 'l', 'c', 'c', 32, 0,
      89             :   /* 672 */ 'u', 'm', 'u', 'l', 'c', 'c', 32, 0,
      90             :   /* 680 */ 'a', 'n', 'd', 'n', 'c', 'c', 32, 0,
      91             :   /* 688 */ 'o', 'r', 'n', 'c', 'c', 32, 0,
      92             :   /* 695 */ 'x', 'n', 'o', 'r', 'c', 'c', 32, 0,
      93             :   /* 703 */ 'x', 'o', 'r', 'c', 'c', 32, 0,
      94             :   /* 710 */ 'm', 'u', 'l', 's', 'c', 'c', 32, 0,
      95             :   /* 718 */ 's', 'd', 'i', 'v', 'c', 'c', 32, 0,
      96             :   /* 726 */ 'u', 'd', 'i', 'v', 'c', 'c', 32, 0,
      97             :   /* 734 */ 's', 'u', 'b', 'x', 'c', 'c', 32, 0,
      98             :   /* 742 */ 'a', 'd', 'd', 'x', 'c', 'c', 32, 0,
      99             :   /* 750 */ 'p', 'o', 'p', 'c', 32, 0,
     100             :   /* 756 */ 'a', 'd', 'd', 'x', 'c', 32, 0,
     101             :   /* 763 */ 'f', 's', 'u', 'b', 'd', 32, 0,
     102             :   /* 770 */ 'f', 'h', 's', 'u', 'b', 'd', 32, 0,
     103             :   /* 778 */ 'a', 'd', 'd', 32, 0,
     104             :   /* 783 */ 'f', 'a', 'd', 'd', 'd', 32, 0,
     105             :   /* 790 */ 'f', 'h', 'a', 'd', 'd', 'd', 32, 0,
     106             :   /* 798 */ 'f', 'n', 'h', 'a', 'd', 'd', 'd', 32, 0,
     107             :   /* 807 */ 'f', 'n', 'a', 'd', 'd', 'd', 32, 0,
     108             :   /* 815 */ 'f', 'c', 'm', 'p', 'e', 'd', 32, 0,
     109             :   /* 823 */ 'f', 'n', 'e', 'g', 'd', 32, 0,
     110             :   /* 830 */ 'f', 'm', 'u', 'l', 'd', 32, 0,
     111             :   /* 837 */ 'f', 's', 'm', 'u', 'l', 'd', 32, 0,
     112             :   /* 845 */ 'f', 'a', 'n', 'd', 32, 0,
     113             :   /* 851 */ 'f', 'n', 'a', 'n', 'd', 32, 0,
     114             :   /* 858 */ 'f', 'e', 'x', 'p', 'a', 'n', 'd', 32, 0,
     115             :   /* 867 */ 'f', 'i', 't', 'o', 'd', 32, 0,
     116             :   /* 874 */ 'f', 'q', 't', 'o', 'd', 32, 0,
     117             :   /* 881 */ 'f', 's', 't', 'o', 'd', 32, 0,
     118             :   /* 888 */ 'f', 'x', 't', 'o', 'd', 32, 0,
     119             :   /* 895 */ 'f', 'c', 'm', 'p', 'd', 32, 0,
     120             :   /* 902 */ 'f', 'l', 'c', 'm', 'p', 'd', 32, 0,
     121             :   /* 910 */ 'r', 'd', 32, 0,
     122             :   /* 914 */ 'f', 'a', 'b', 's', 'd', 32, 0,
     123             :   /* 921 */ 'f', 's', 'q', 'r', 't', 'd', 32, 0,
     124             :   /* 929 */ 's', 't', 'd', 32, 0,
     125             :   /* 934 */ 'f', 'd', 'i', 'v', 'd', 32, 0,
     126             :   /* 941 */ 'f', 'm', 'o', 'v', 'd', 32, 0,
     127             :   /* 948 */ 'f', 'p', 'm', 'e', 'r', 'g', 'e', 32, 0,
     128             :   /* 957 */ 'b', 's', 'h', 'u', 'f', 'f', 'l', 'e', 32, 0,
     129             :   /* 967 */ 'f', 'o', 'n', 'e', 32, 0,
     130             :   /* 973 */ 'r', 'e', 's', 't', 'o', 'r', 'e', 32, 0,
     131             :   /* 982 */ 's', 'a', 'v', 'e', 32, 0,
     132             :   /* 988 */ 'f', 'l', 'u', 's', 'h', 32, 0,
     133             :   /* 995 */ 's', 't', 'h', 32, 0,
     134             :   /* 1000 */ 's', 'e', 't', 'h', 'i', 32, 0,
     135             :   /* 1007 */ 'u', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
     136             :   /* 1016 */ 'x', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
     137             :   /* 1025 */ 'f', 'd', 't', 'o', 'i', 32, 0,
     138             :   /* 1032 */ 'f', 'q', 't', 'o', 'i', 32, 0,
     139             :   /* 1039 */ 'f', 's', 't', 'o', 'i', 32, 0,
     140             :   /* 1046 */ 'b', 'm', 'a', 's', 'k', 32, 0,
     141             :   /* 1053 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 32, 0,
     142             :   /* 1062 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 32, 0,
     143             :   /* 1071 */ 'e', 'd', 'g', 'e', '8', 'l', 32, 0,
     144             :   /* 1079 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'l', 32, 0,
     145             :   /* 1091 */ 'c', 'a', 'l', 'l', 32, 0,
     146             :   /* 1097 */ 's', 'l', 'l', 32, 0,
     147             :   /* 1102 */ 'j', 'm', 'p', 'l', 32, 0,
     148             :   /* 1108 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 'l', 32, 0,
     149             :   /* 1120 */ 's', 'r', 'l', 32, 0,
     150             :   /* 1125 */ 's', 'm', 'u', 'l', 32, 0,
     151             :   /* 1131 */ 'u', 'm', 'u', 'l', 32, 0,
     152             :   /* 1137 */ 'e', 'd', 'g', 'e', '3', '2', 'n', 32, 0,
     153             :   /* 1146 */ 'e', 'd', 'g', 'e', '1', '6', 'n', 32, 0,
     154             :   /* 1155 */ 'e', 'd', 'g', 'e', '8', 'n', 32, 0,
     155             :   /* 1163 */ 'a', 'n', 'd', 'n', 32, 0,
     156             :   /* 1169 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 'n', 32, 0,
     157             :   /* 1179 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 'n', 32, 0,
     158             :   /* 1189 */ 'e', 'd', 'g', 'e', '8', 'l', 'n', 32, 0,
     159             :   /* 1198 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     160             :   /* 1210 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     161             :   /* 1222 */ 'b', 'r', 'g', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     162             :   /* 1233 */ 'b', 'r', 'l', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     163             :   /* 1244 */ 'b', 'r', 'n', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     164             :   /* 1255 */ 'b', 'r', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     165             :   /* 1265 */ 'b', 'r', 'g', 'e', 'z', ',', 'p', 'n', 32, 0,
     166             :   /* 1275 */ 'b', 'r', 'l', 'e', 'z', ',', 'p', 'n', 32, 0,
     167             :   /* 1285 */ 'b', 'r', 'g', 'z', ',', 'p', 'n', 32, 0,
     168             :   /* 1294 */ 'b', 'r', 'l', 'z', ',', 'p', 'n', 32, 0,
     169             :   /* 1303 */ 'b', 'r', 'n', 'z', ',', 'p', 'n', 32, 0,
     170             :   /* 1312 */ 'b', 'r', 'z', ',', 'p', 'n', 32, 0,
     171             :   /* 1320 */ 'o', 'r', 'n', 32, 0,
     172             :   /* 1325 */ 'p', 'd', 'i', 's', 't', 'n', 32, 0,
     173             :   /* 1333 */ 'f', 'z', 'e', 'r', 'o', 32, 0,
     174             :   /* 1340 */ 'c', 'm', 'p', 32, 0,
     175             :   /* 1345 */ 'u', 'n', 'i', 'm', 'p', 32, 0,
     176             :   /* 1352 */ 'j', 'm', 'p', 32, 0,
     177             :   /* 1357 */ 'f', 's', 'u', 'b', 'q', 32, 0,
     178             :   /* 1364 */ 'f', 'a', 'd', 'd', 'q', 32, 0,
     179             :   /* 1371 */ 'f', 'c', 'm', 'p', 'e', 'q', 32, 0,
     180             :   /* 1379 */ 'f', 'n', 'e', 'g', 'q', 32, 0,
     181             :   /* 1386 */ 'f', 'd', 'm', 'u', 'l', 'q', 32, 0,
     182             :   /* 1394 */ 'f', 'm', 'u', 'l', 'q', 32, 0,
     183             :   /* 1401 */ 'f', 'd', 't', 'o', 'q', 32, 0,
     184             :   /* 1408 */ 'f', 'i', 't', 'o', 'q', 32, 0,
     185             :   /* 1415 */ 'f', 's', 't', 'o', 'q', 32, 0,
     186             :   /* 1422 */ 'f', 'x', 't', 'o', 'q', 32, 0,
     187             :   /* 1429 */ 'f', 'c', 'm', 'p', 'q', 32, 0,
     188             :   /* 1436 */ 'f', 'a', 'b', 's', 'q', 32, 0,
     189             :   /* 1443 */ 'f', 's', 'q', 'r', 't', 'q', 32, 0,
     190             :   /* 1451 */ 's', 't', 'q', 32, 0,
     191             :   /* 1456 */ 'f', 'd', 'i', 'v', 'q', 32, 0,
     192             :   /* 1463 */ 'f', 'm', 'o', 'v', 'q', 32, 0,
     193             :   /* 1470 */ 'm', 'e', 'm', 'b', 'a', 'r', 32, 0,
     194             :   /* 1478 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 32, 0,
     195             :   /* 1489 */ 'f', 'o', 'r', 32, 0,
     196             :   /* 1494 */ 'f', 'n', 'o', 'r', 32, 0,
     197             :   /* 1500 */ 'f', 'x', 'n', 'o', 'r', 32, 0,
     198             :   /* 1507 */ 'f', 'x', 'o', 'r', 32, 0,
     199             :   /* 1513 */ 'r', 'd', 'p', 'r', 32, 0,
     200             :   /* 1519 */ 'w', 'r', 'p', 'r', 32, 0,
     201             :   /* 1525 */ 'w', 'r', 32, 0,
     202             :   /* 1529 */ 'f', 's', 'r', 'c', '1', 's', 32, 0,
     203             :   /* 1537 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 's', 32, 0,
     204             :   /* 1548 */ 'f', 'n', 'o', 't', '1', 's', 32, 0,
     205             :   /* 1556 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 's', 32, 0,
     206             :   /* 1566 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 's', 32, 0,
     207             :   /* 1576 */ 'f', 's', 'r', 'c', '2', 's', 32, 0,
     208             :   /* 1584 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 's', 32, 0,
     209             :   /* 1595 */ 'f', 'n', 'o', 't', '2', 's', 32, 0,
     210             :   /* 1603 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 's', 32, 0,
     211             :   /* 1613 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 's', 32, 0,
     212             :   /* 1623 */ 'f', 's', 'u', 'b', 's', 32, 0,
     213             :   /* 1630 */ 'f', 'h', 's', 'u', 'b', 's', 32, 0,
     214             :   /* 1638 */ 'f', 'a', 'd', 'd', 's', 32, 0,
     215             :   /* 1645 */ 'f', 'h', 'a', 'd', 'd', 's', 32, 0,
     216             :   /* 1653 */ 'f', 'n', 'h', 'a', 'd', 'd', 's', 32, 0,
     217             :   /* 1662 */ 'f', 'n', 'a', 'd', 'd', 's', 32, 0,
     218             :   /* 1670 */ 'f', 'a', 'n', 'd', 's', 32, 0,
     219             :   /* 1677 */ 'f', 'n', 'a', 'n', 'd', 's', 32, 0,
     220             :   /* 1685 */ 'f', 'o', 'n', 'e', 's', 32, 0,
     221             :   /* 1692 */ 'f', 'c', 'm', 'p', 'e', 's', 32, 0,
     222             :   /* 1700 */ 'f', 'n', 'e', 'g', 's', 32, 0,
     223             :   /* 1707 */ 'f', 'm', 'u', 'l', 's', 32, 0,
     224             :   /* 1714 */ 'f', 'z', 'e', 'r', 'o', 's', 32, 0,
     225             :   /* 1722 */ 'f', 'd', 't', 'o', 's', 32, 0,
     226             :   /* 1729 */ 'f', 'i', 't', 'o', 's', 32, 0,
     227             :   /* 1736 */ 'f', 'q', 't', 'o', 's', 32, 0,
     228             :   /* 1743 */ 'f', 'x', 't', 'o', 's', 32, 0,
     229             :   /* 1750 */ 'f', 'c', 'm', 'p', 's', 32, 0,
     230             :   /* 1757 */ 'f', 'l', 'c', 'm', 'p', 's', 32, 0,
     231             :   /* 1765 */ 'f', 'o', 'r', 's', 32, 0,
     232             :   /* 1771 */ 'f', 'n', 'o', 'r', 's', 32, 0,
     233             :   /* 1778 */ 'f', 'x', 'n', 'o', 'r', 's', 32, 0,
     234             :   /* 1786 */ 'f', 'x', 'o', 'r', 's', 32, 0,
     235             :   /* 1793 */ 'f', 'a', 'b', 's', 's', 32, 0,
     236             :   /* 1800 */ 'f', 's', 'q', 'r', 't', 's', 32, 0,
     237             :   /* 1808 */ 'f', 'd', 'i', 'v', 's', 32, 0,
     238             :   /* 1815 */ 'f', 'm', 'o', 'v', 's', 32, 0,
     239             :   /* 1822 */ 's', 'e', 't', 32, 0,
     240             :   /* 1827 */ 'l', 'z', 'c', 'n', 't', 32, 0,
     241             :   /* 1834 */ 'p', 'd', 'i', 's', 't', 32, 0,
     242             :   /* 1841 */ 'r', 'e', 't', 't', 32, 0,
     243             :   /* 1847 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'u', 32, 0,
     244             :   /* 1859 */ 's', 'd', 'i', 'v', 32, 0,
     245             :   /* 1865 */ 'u', 'd', 'i', 'v', 32, 0,
     246             :   /* 1871 */ 't', 's', 'u', 'b', 'c', 'c', 't', 'v', 32, 0,
     247             :   /* 1881 */ 't', 'a', 'd', 'd', 'c', 'c', 't', 'v', 32, 0,
     248             :   /* 1891 */ 'm', 'o', 'v', 's', 't', 'o', 's', 'w', 32, 0,
     249             :   /* 1901 */ 'm', 'o', 'v', 's', 't', 'o', 'u', 'w', 32, 0,
     250             :   /* 1911 */ 's', 'r', 'a', 'x', 32, 0,
     251             :   /* 1917 */ 's', 'u', 'b', 'x', 32, 0,
     252             :   /* 1923 */ 'a', 'd', 'd', 'x', 32, 0,
     253             :   /* 1929 */ 'f', 'p', 'a', 'c', 'k', 'f', 'i', 'x', 32, 0,
     254             :   /* 1939 */ 's', 'l', 'l', 'x', 32, 0,
     255             :   /* 1945 */ 's', 'r', 'l', 'x', 32, 0,
     256             :   /* 1951 */ 'x', 'm', 'u', 'l', 'x', 32, 0,
     257             :   /* 1958 */ 'f', 'd', 't', 'o', 'x', 32, 0,
     258             :   /* 1965 */ 'm', 'o', 'v', 'd', 't', 'o', 'x', 32, 0,
     259             :   /* 1974 */ 'f', 'q', 't', 'o', 'x', 32, 0,
     260             :   /* 1981 */ 'f', 's', 't', 'o', 'x', 32, 0,
     261             :   /* 1988 */ 's', 't', 'x', 32, 0,
     262             :   /* 1993 */ 's', 'd', 'i', 'v', 'x', 32, 0,
     263             :   /* 2000 */ 'u', 'd', 'i', 'v', 'x', 32, 0,
     264             :   /* 2007 */ 'f', 'm', 'o', 'v', 'r', 'd', 'z', 32, 0,
     265             :   /* 2016 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'e', 'z', 32, 0,
     266             :   /* 2027 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'e', 'z', 32, 0,
     267             :   /* 2038 */ 'b', 'r', 'g', 'e', 'z', 32, 0,
     268             :   /* 2045 */ 'm', 'o', 'v', 'r', 'g', 'e', 'z', 32, 0,
     269             :   /* 2054 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'e', 'z', 32, 0,
     270             :   /* 2065 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'e', 'z', 32, 0,
     271             :   /* 2076 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'e', 'z', 32, 0,
     272             :   /* 2087 */ 'b', 'r', 'l', 'e', 'z', 32, 0,
     273             :   /* 2094 */ 'm', 'o', 'v', 'r', 'l', 'e', 'z', 32, 0,
     274             :   /* 2103 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'e', 'z', 32, 0,
     275             :   /* 2114 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'z', 32, 0,
     276             :   /* 2124 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'z', 32, 0,
     277             :   /* 2134 */ 'b', 'r', 'g', 'z', 32, 0,
     278             :   /* 2140 */ 'm', 'o', 'v', 'r', 'g', 'z', 32, 0,
     279             :   /* 2148 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'z', 32, 0,
     280             :   /* 2158 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'z', 32, 0,
     281             :   /* 2168 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'z', 32, 0,
     282             :   /* 2178 */ 'b', 'r', 'l', 'z', 32, 0,
     283             :   /* 2184 */ 'm', 'o', 'v', 'r', 'l', 'z', 32, 0,
     284             :   /* 2192 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'z', 32, 0,
     285             :   /* 2202 */ 'f', 'm', 'o', 'v', 'r', 'd', 'n', 'z', 32, 0,
     286             :   /* 2212 */ 'f', 'm', 'o', 'v', 'r', 'q', 'n', 'z', 32, 0,
     287             :   /* 2222 */ 'b', 'r', 'n', 'z', 32, 0,
     288             :   /* 2228 */ 'm', 'o', 'v', 'r', 'n', 'z', 32, 0,
     289             :   /* 2236 */ 'f', 'm', 'o', 'v', 'r', 's', 'n', 'z', 32, 0,
     290             :   /* 2246 */ 'f', 'm', 'o', 'v', 'r', 'q', 'z', 32, 0,
     291             :   /* 2255 */ 'b', 'r', 'z', 32, 0,
     292             :   /* 2260 */ 'm', 'o', 'v', 'r', 'z', 32, 0,
     293             :   /* 2267 */ 'f', 'm', 'o', 'v', 'r', 's', 'z', 32, 0,
     294             :   /* 2276 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     295             :   /* 2304 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     296             :   /* 2332 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     297             :   /* 2359 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     298             :   /* 2387 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     299             :   /* 2415 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     300             :   /* 2443 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     301             :   /* 2470 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     302             :   /* 2498 */ 'j', 'm', 'p', 32, '%', 'i', '7', '+', 0,
     303             :   /* 2507 */ 'j', 'm', 'p', 32, '%', 'o', '7', '+', 0,
     304             :   /* 2516 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0,
     305             :   /* 2547 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     306             :   /* 2571 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     307             :   /* 2596 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
     308             :   /* 2619 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
     309             :   /* 2642 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
     310             :   /* 2664 */ 'f', 'l', 'u', 's', 'h', 32, '%', 'g', '0', 0,
     311             :   /* 2674 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
     312             :   /* 2693 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
     313             :   /* 2711 */ 't', 'a', 32, '3', 0,
     314             :   /* 2716 */ 't', 'a', 32, '5', 0,
     315             :   /* 2721 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
     316             :   /* 2734 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
     317             :   /* 2741 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
     318             :   /* 2751 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
     319             :   /* 2761 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
     320             :   /* 2776 */ 's', 't', 'd', 32, '%', 'c', 'q', ',', 32, '[', 0,
     321             :   /* 2787 */ 's', 't', 'd', 32, '%', 'f', 'q', ',', 32, '[', 0,
     322             :   /* 2798 */ 's', 't', 32, '%', 'c', 's', 'r', ',', 32, '[', 0,
     323             :   /* 2809 */ 's', 't', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     324             :   /* 2820 */ 's', 't', 'x', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     325             :   /* 2832 */ 'l', 'd', 's', 'b', 'a', 32, '[', 0,
     326             :   /* 2840 */ 'l', 'd', 'u', 'b', 'a', 32, '[', 0,
     327             :   /* 2848 */ 'l', 'd', 's', 't', 'u', 'b', 'a', 32, '[', 0,
     328             :   /* 2858 */ 'l', 'd', 'd', 'a', 32, '[', 0,
     329             :   /* 2865 */ 'l', 'd', 'a', 32, '[', 0,
     330             :   /* 2871 */ 'l', 'd', 's', 'h', 'a', 32, '[', 0,
     331             :   /* 2879 */ 'l', 'd', 'u', 'h', 'a', 32, '[', 0,
     332             :   /* 2887 */ 's', 'w', 'a', 'p', 'a', 32, '[', 0,
     333             :   /* 2895 */ 'l', 'd', 'q', 'a', 32, '[', 0,
     334             :   /* 2902 */ 'c', 'a', 's', 'a', 32, '[', 0,
     335             :   /* 2909 */ 'l', 'd', 's', 'b', 32, '[', 0,
     336             :   /* 2916 */ 'l', 'd', 'u', 'b', 32, '[', 0,
     337             :   /* 2923 */ 'l', 'd', 's', 't', 'u', 'b', 32, '[', 0,
     338             :   /* 2932 */ 'l', 'd', 'd', 32, '[', 0,
     339             :   /* 2938 */ 'l', 'd', 32, '[', 0,
     340             :   /* 2943 */ 'l', 'd', 's', 'h', 32, '[', 0,
     341             :   /* 2950 */ 'l', 'd', 'u', 'h', 32, '[', 0,
     342             :   /* 2957 */ 's', 'w', 'a', 'p', 32, '[', 0,
     343             :   /* 2964 */ 'l', 'd', 'q', 32, '[', 0,
     344             :   /* 2970 */ 'c', 'a', 's', 32, '[', 0,
     345             :   /* 2976 */ 'l', 'd', 's', 'w', 32, '[', 0,
     346             :   /* 2983 */ 'l', 'd', 'x', 32, '[', 0,
     347             :   /* 2989 */ 'c', 'a', 's', 'x', 32, '[', 0,
     348             :   /* 2996 */ 'c', 'b', 0,
     349             :   /* 2999 */ 'f', 'b', 0,
     350             :   /* 3002 */ 'f', 'm', 'o', 'v', 'd', 0,
     351             :   /* 3008 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
     352             :   /* 3022 */ 's', 'i', 'a', 'm', 0,
     353             :   /* 3027 */ 's', 'h', 'u', 't', 'd', 'o', 'w', 'n', 0,
     354             :   /* 3036 */ 'n', 'o', 'p', 0,
     355             :   /* 3040 */ 'f', 'm', 'o', 'v', 'q', 0,
     356             :   /* 3046 */ 's', 't', 'b', 'a', 'r', 0,
     357             :   /* 3052 */ 'f', 'm', 'o', 'v', 's', 0,
     358             :   /* 3058 */ 't', 0,
     359             :   /* 3060 */ 'm', 'o', 'v', 0,
     360             :   /* 3064 */ 'f', 'l', 'u', 's', 'h', 'w', 0,
     361             :   };
     362             : 
     363             :   static const uint32_t OpInfo0[] = {
     364             :     0U, // PHI
     365             :     0U, // INLINEASM
     366             :     0U, // CFI_INSTRUCTION
     367             :     0U, // EH_LABEL
     368             :     0U, // GC_LABEL
     369             :     0U, // ANNOTATION_LABEL
     370             :     0U, // KILL
     371             :     0U, // EXTRACT_SUBREG
     372             :     0U, // INSERT_SUBREG
     373             :     0U, // IMPLICIT_DEF
     374             :     0U, // SUBREG_TO_REG
     375             :     0U, // COPY_TO_REGCLASS
     376             :     2742U,      // DBG_VALUE
     377             :     2752U,      // DBG_LABEL
     378             :     0U, // REG_SEQUENCE
     379             :     0U, // COPY
     380             :     2735U,      // BUNDLE
     381             :     2762U,      // LIFETIME_START
     382             :     2722U,      // LIFETIME_END
     383             :     0U, // STACKMAP
     384             :     3009U,      // FENTRY_CALL
     385             :     0U, // PATCHPOINT
     386             :     0U, // LOAD_STACK_GUARD
     387             :     0U, // STATEPOINT
     388             :     0U, // LOCAL_ESCAPE
     389             :     0U, // FAULTING_OP
     390             :     0U, // PATCHABLE_OP
     391             :     2597U,      // PATCHABLE_FUNCTION_ENTER
     392             :     2517U,      // PATCHABLE_RET
     393             :     2643U,      // PATCHABLE_FUNCTION_EXIT
     394             :     2620U,      // PATCHABLE_TAIL_CALL
     395             :     2572U,      // PATCHABLE_EVENT_CALL
     396             :     2548U,      // PATCHABLE_TYPED_EVENT_CALL
     397             :     0U, // ICALL_BRANCH_FUNNEL
     398             :     0U, // G_ADD
     399             :     0U, // G_SUB
     400             :     0U, // G_MUL
     401             :     0U, // G_SDIV
     402             :     0U, // G_UDIV
     403             :     0U, // G_SREM
     404             :     0U, // G_UREM
     405             :     0U, // G_AND
     406             :     0U, // G_OR
     407             :     0U, // G_XOR
     408             :     0U, // G_IMPLICIT_DEF
     409             :     0U, // G_PHI
     410             :     0U, // G_FRAME_INDEX
     411             :     0U, // G_GLOBAL_VALUE
     412             :     0U, // G_EXTRACT
     413             :     0U, // G_UNMERGE_VALUES
     414             :     0U, // G_INSERT
     415             :     0U, // G_MERGE_VALUES
     416             :     0U, // G_PTRTOINT
     417             :     0U, // G_INTTOPTR
     418             :     0U, // G_BITCAST
     419             :     0U, // G_LOAD
     420             :     0U, // G_SEXTLOAD
     421             :     0U, // G_ZEXTLOAD
     422             :     0U, // G_STORE
     423             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     424             :     0U, // G_ATOMIC_CMPXCHG
     425             :     0U, // G_ATOMICRMW_XCHG
     426             :     0U, // G_ATOMICRMW_ADD
     427             :     0U, // G_ATOMICRMW_SUB
     428             :     0U, // G_ATOMICRMW_AND
     429             :     0U, // G_ATOMICRMW_NAND
     430             :     0U, // G_ATOMICRMW_OR
     431             :     0U, // G_ATOMICRMW_XOR
     432             :     0U, // G_ATOMICRMW_MAX
     433             :     0U, // G_ATOMICRMW_MIN
     434             :     0U, // G_ATOMICRMW_UMAX
     435             :     0U, // G_ATOMICRMW_UMIN
     436             :     0U, // G_BRCOND
     437             :     0U, // G_BRINDIRECT
     438             :     0U, // G_INTRINSIC
     439             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     440             :     0U, // G_ANYEXT
     441             :     0U, // G_TRUNC
     442             :     0U, // G_CONSTANT
     443             :     0U, // G_FCONSTANT
     444             :     0U, // G_VASTART
     445             :     0U, // G_VAARG
     446             :     0U, // G_SEXT
     447             :     0U, // G_ZEXT
     448             :     0U, // G_SHL
     449             :     0U, // G_LSHR
     450             :     0U, // G_ASHR
     451             :     0U, // G_ICMP
     452             :     0U, // G_FCMP
     453             :     0U, // G_SELECT
     454             :     0U, // G_UADDE
     455             :     0U, // G_USUBE
     456             :     0U, // G_SADDO
     457             :     0U, // G_SSUBO
     458             :     0U, // G_UMULO
     459             :     0U, // G_SMULO
     460             :     0U, // G_UMULH
     461             :     0U, // G_SMULH
     462             :     0U, // G_FADD
     463             :     0U, // G_FSUB
     464             :     0U, // G_FMUL
     465             :     0U, // G_FMA
     466             :     0U, // G_FDIV
     467             :     0U, // G_FREM
     468             :     0U, // G_FPOW
     469             :     0U, // G_FEXP
     470             :     0U, // G_FEXP2
     471             :     0U, // G_FLOG
     472             :     0U, // G_FLOG2
     473             :     0U, // G_FNEG
     474             :     0U, // G_FPEXT
     475             :     0U, // G_FPTRUNC
     476             :     0U, // G_FPTOSI
     477             :     0U, // G_FPTOUI
     478             :     0U, // G_SITOFP
     479             :     0U, // G_UITOFP
     480             :     0U, // G_FABS
     481             :     0U, // G_GEP
     482             :     0U, // G_PTR_MASK
     483             :     0U, // G_BR
     484             :     0U, // G_INSERT_VECTOR_ELT
     485             :     0U, // G_EXTRACT_VECTOR_ELT
     486             :     0U, // G_SHUFFLE_VECTOR
     487             :     0U, // G_BSWAP
     488             :     4747U,      // ADDCCri
     489             :     4747U,      // ADDCCrr
     490             :     6020U,      // ADDCri
     491             :     6020U,      // ADDCrr
     492             :     4839U,      // ADDEri
     493             :     4839U,      // ADDErr
     494             :     4853U,      // ADDXC
     495             :     4737U,      // ADDXCCC
     496             :     4875U,      // ADDXri
     497             :     4875U,      // ADDXrr
     498             :     4875U,      // ADDri
     499             :     4875U,      // ADDrr
     500             :     2105804U,   // ADJCALLSTACKDOWN
     501             :     74207U,     // ADJCALLSTACKUP
     502             :     5575U,      // ALIGNADDR
     503             :     5205U,      // ALIGNADDRL
     504             :     4754U,      // ANDCCri
     505             :     4754U,      // ANDCCrr
     506             :     4777U,      // ANDNCCri
     507             :     4777U,      // ANDNCCrr
     508             :     5260U,      // ANDNri
     509             :     5260U,      // ANDNrr
     510             :     5260U,      // ANDXNrr
     511             :     4943U,      // ANDXri
     512             :     4943U,      // ANDXrr
     513             :     4943U,      // ANDri
     514             :     4943U,      // ANDrr
     515             :     4524U,      // ARRAY16
     516             :     4277U,      // ARRAY32
     517             :     4548U,      // ARRAY8
     518             :     74295U,     // BA
     519             :     4340662U,   // BCOND
     520             :     4406198U,   // BCONDA
     521             :     83273U,     // BINDri
     522             :     83273U,     // BINDrr
     523             :     5143U,      // BMASK
     524             :     146360U,    // BPFCC
     525             :     211896U,    // BPFCCA
     526             :     277432U,    // BPFCCANT
     527             :     342968U,    // BPFCCNT
     528             :     2106543U,   // BPGEZapn
     529             :     2105860U,   // BPGEZapt
     530             :     2106610U,   // BPGEZnapn
     531             :     2107383U,   // BPGEZnapt
     532             :     2106567U,   // BPGZapn
     533             :     2105878U,   // BPGZapt
     534             :     2106630U,   // BPGZnapn
     535             :     2107479U,   // BPGZnapt
     536             :     4602806U,   // BPICC
     537             :     474038U,    // BPICCA
     538             :     539574U,    // BPICCANT
     539             :     605110U,    // BPICCNT
     540             :     2106555U,   // BPLEZapn
     541             :     2105869U,   // BPLEZapt
     542             :     2106620U,   // BPLEZnapn
     543             :     2107432U,   // BPLEZnapt
     544             :     2106578U,   // BPLZapn
     545             :     2105886U,   // BPLZapt
     546             :     2106639U,   // BPLZnapn
     547             :     2107523U,   // BPLZnapt
     548             :     2106589U,   // BPNZapn
     549             :     2105894U,   // BPNZapt
     550             :     2106648U,   // BPNZnapn
     551             :     2107567U,   // BPNZnapt
     552             :     4864950U,   // BPXCC
     553             :     736182U,    // BPXCCA
     554             :     801718U,    // BPXCCANT
     555             :     867254U,    // BPXCCNT
     556             :     2106600U,   // BPZapn
     557             :     2105902U,   // BPZapt
     558             :     2106657U,   // BPZnapn
     559             :     2107600U,   // BPZnapt
     560             :     5054U,      // BSHUFFLE
     561             :     74820U,     // CALL
     562             :     83012U,     // CALLri
     563             :     83012U,     // CALLrr
     564             :     924503U,    // CASAasi10
     565             :     7281495U,   // CASArr
     566             :     1055662U,   // CASXrr
     567             :     1055643U,   // CASrr
     568             :     4340661U,   // CBCOND
     569             :     4406197U,   // CBCONDA
     570             :     74023U,     // CMASK16
     571             :     73855U,     // CMASK32
     572             :     74172U,     // CMASK8
     573             :     2106685U,   // CMPri
     574             :     2106685U,   // CMPrr
     575             :     4354U,      // EDGE16
     576             :     5159U,      // EDGE16L
     577             :     5276U,      // EDGE16LN
     578             :     5243U,      // EDGE16N
     579             :     4186U,      // EDGE32
     580             :     5150U,      // EDGE32L
     581             :     5266U,      // EDGE32LN
     582             :     5234U,      // EDGE32N
     583             :     4533U,      // EDGE8
     584             :     5168U,      // EDGE8L
     585             :     5286U,      // EDGE8LN
     586             :     5252U,      // EDGE8N
     587             :     2675U,      // EH_SJLJ_LONGJMP32ri
     588             :     2675U,      // EH_SJLJ_LONGJMP32rr
     589             :     2694U,      // EH_SJLJ_SETJMP32ri
     590             :     2694U,      // EH_SJLJ_SETJMP32rr
     591             :     4199315U,   // FABSD
     592             :     4199837U,   // FABSQ
     593             :     4200194U,   // FABSS
     594             :     4880U,      // FADDD
     595             :     5461U,      // FADDQ
     596             :     5735U,      // FADDS
     597             :     4690U,      // FALIGNADATA
     598             :     4942U,      // FAND
     599             :     4134U,      // FANDNOT1
     600             :     5634U,      // FANDNOT1S
     601             :     4293U,      // FANDNOT2
     602             :     5681U,      // FANDNOT2S
     603             :     5767U,      // FANDS
     604             :     4340664U,   // FBCOND
     605             :     4406200U,   // FBCONDA
     606             :     4416U,      // FCHKSM16
     607             :     2106240U,   // FCMPD
     608             :     4435U,      // FCMPEQ16
     609             :     4248U,      // FCMPEQ32
     610             :     4454U,      // FCMPGT16
     611             :     4267U,      // FCMPGT32
     612             :     4362U,      // FCMPLE16
     613             :     4194U,      // FCMPLE32
     614             :     4372U,      // FCMPNE16
     615             :     4204U,      // FCMPNE32
     616             :     2106774U,   // FCMPQ
     617             :     2107095U,   // FCMPS
     618             :     5031U,      // FDIVD
     619             :     5553U,      // FDIVQ
     620             :     5905U,      // FDIVS
     621             :     5483U,      // FDMULQ
     622             :     4199426U,   // FDTOI
     623             :     4199802U,   // FDTOQ
     624             :     4200123U,   // FDTOS
     625             :     4200359U,   // FDTOX
     626             :     4199259U,   // FEXPAND
     627             :     4887U,      // FHADDD
     628             :     5742U,      // FHADDS
     629             :     4867U,      // FHSUBD
     630             :     5727U,      // FHSUBS
     631             :     4199268U,   // FITOD
     632             :     4199809U,   // FITOQ
     633             :     4200130U,   // FITOS
     634             :     18883463U,  // FLCMPD
     635             :     18884318U,  // FLCMPS
     636             :     2665U,      // FLUSH
     637             :     3065U,      // FLUSHW
     638             :     82909U,     // FLUSHri
     639             :     82909U,     // FLUSHrr
     640             :     4426U,      // FMEAN16
     641             :     4199342U,   // FMOVD
     642             :     1137595U,   // FMOVD_FCC
     643             :     153508795U, // FMOVD_ICC
     644             :     153770939U, // FMOVD_XCC
     645             :     4199864U,   // FMOVQ
     646             :     1137633U,   // FMOVQ_FCC
     647             :     153508833U, // FMOVQ_ICC
     648             :     153770977U, // FMOVQ_XCC
     649             :     6113U,      // FMOVRGEZD
     650             :     6124U,      // FMOVRGEZQ
     651             :     6151U,      // FMOVRGEZS
     652             :     6211U,      // FMOVRGZD
     653             :     6221U,      // FMOVRGZQ
     654             :     6245U,      // FMOVRGZS
     655             :     6162U,      // FMOVRLEZD
     656             :     6173U,      // FMOVRLEZQ
     657             :     6200U,      // FMOVRLEZS
     658             :     6255U,      // FMOVRLZD
     659             :     6265U,      // FMOVRLZQ
     660             :     6289U,      // FMOVRLZS
     661             :     6299U,      // FMOVRNZD
     662             :     6309U,      // FMOVRNZQ
     663             :     6333U,      // FMOVRNZS
     664             :     6104U,      // FMOVRZD
     665             :     6343U,      // FMOVRZQ
     666             :     6364U,      // FMOVRZS
     667             :     4200216U,   // FMOVS
     668             :     1137645U,   // FMOVS_FCC
     669             :     153508845U, // FMOVS_ICC
     670             :     153770989U, // FMOVS_XCC
     671             :     4512U,      // FMUL8SUX16
     672             :     4487U,      // FMUL8ULX16
     673             :     4464U,      // FMUL8X16
     674             :     5176U,      // FMUL8X16AL
     675             :     5944U,      // FMUL8X16AU
     676             :     4927U,      // FMULD
     677             :     4499U,      // FMULD8SUX16
     678             :     4474U,      // FMULD8ULX16
     679             :     5491U,      // FMULQ
     680             :     5804U,      // FMULS
     681             :     4904U,      // FNADDD
     682             :     5759U,      // FNADDS
     683             :     4948U,      // FNAND
     684             :     5774U,      // FNANDS
     685             :     4199224U,   // FNEGD
     686             :     4199780U,   // FNEGQ
     687             :     4200101U,   // FNEGS
     688             :     4895U,      // FNHADDD
     689             :     5750U,      // FNHADDS
     690             :     4895U,      // FNMULD
     691             :     5750U,      // FNMULS
     692             :     5591U,      // FNOR
     693             :     5868U,      // FNORS
     694             :     4198448U,   // FNOT1
     695             :     4199949U,   // FNOT1S
     696             :     4198607U,   // FNOT2
     697             :     4199996U,   // FNOT2S
     698             :     5750U,      // FNSMULD
     699             :     74696U,     // FONE
     700             :     75414U,     // FONES
     701             :     5586U,      // FOR
     702             :     4151U,      // FORNOT1
     703             :     5653U,      // FORNOT1S
     704             :     4310U,      // FORNOT2
     705             :     5700U,      // FORNOT2S
     706             :     5862U,      // FORS
     707             :     4198686U,   // FPACK16
     708             :     4214U,      // FPACK32
     709             :     4200330U,   // FPACKFIX
     710             :     4345U,      // FPADD16
     711             :     5710U,      // FPADD16S
     712             :     4177U,      // FPADD32
     713             :     5663U,      // FPADD32S
     714             :     4319U,      // FPADD64
     715             :     5045U,      // FPMERGE
     716             :     4336U,      // FPSUB16
     717             :     4602U,      // FPSUB16S
     718             :     4168U,      // FPSUB32
     719             :     4592U,      // FPSUB32S
     720             :     4199275U,   // FQTOD
     721             :     4199433U,   // FQTOI
     722             :     4200137U,   // FQTOS
     723             :     4200375U,   // FQTOX
     724             :     4445U,      // FSLAS16
     725             :     4258U,      // FSLAS32
     726             :     4400U,      // FSLL16
     727             :     4232U,      // FSLL32
     728             :     4934U,      // FSMULD
     729             :     4199322U,   // FSQRTD
     730             :     4199844U,   // FSQRTQ
     731             :     4200201U,   // FSQRTS
     732             :     4328U,      // FSRA16
     733             :     4160U,      // FSRA32
     734             :     4198431U,   // FSRC1
     735             :     4199930U,   // FSRC1S
     736             :     4198590U,   // FSRC2
     737             :     4199977U,   // FSRC2S
     738             :     4408U,      // FSRL16
     739             :     4240U,      // FSRL32
     740             :     4199282U,   // FSTOD
     741             :     4199440U,   // FSTOI
     742             :     4199816U,   // FSTOQ
     743             :     4200382U,   // FSTOX
     744             :     4860U,      // FSUBD
     745             :     5454U,      // FSUBQ
     746             :     5720U,      // FSUBS
     747             :     5597U,      // FXNOR
     748             :     5875U,      // FXNORS
     749             :     5604U,      // FXOR
     750             :     5883U,      // FXORS
     751             :     4199289U,   // FXTOD
     752             :     4199823U,   // FXTOQ
     753             :     4200144U,   // FXTOS
     754             :     75062U,     // FZERO
     755             :     75443U,     // FZEROS
     756             :     24586U,     // GETPCX
     757             :     4224079U,   // JMPLri
     758             :     4224079U,   // JMPLrr
     759             :     160398130U, // LDArr
     760             :     1198971U,   // LDCSRri
     761             :     1198971U,   // LDCSRrr
     762             :     5274491U,   // LDCri
     763             :     5274491U,   // LDCrr
     764             :     160398123U, // LDDArr
     765             :     5274485U,   // LDDCri
     766             :     5274485U,   // LDDCrr
     767             :     160398123U, // LDDFArr
     768             :     5274485U,   // LDDFri
     769             :     5274485U,   // LDDFrr
     770             :     5274485U,   // LDDri
     771             :     5274485U,   // LDDrr
     772             :     160398130U, // LDFArr
     773             :     1264507U,   // LDFSRri
     774             :     1264507U,   // LDFSRrr
     775             :     5274491U,   // LDFri
     776             :     5274491U,   // LDFrr
     777             :     160398160U, // LDQFArr
     778             :     5274517U,   // LDQFri
     779             :     5274517U,   // LDQFrr
     780             :     160398097U, // LDSBArr
     781             :     5274462U,   // LDSBri
     782             :     5274462U,   // LDSBrr
     783             :     160398136U, // LDSHArr
     784             :     5274496U,   // LDSHri
     785             :     5274496U,   // LDSHrr
     786             :     160398113U, // LDSTUBArr
     787             :     5274476U,   // LDSTUBri
     788             :     5274476U,   // LDSTUBrr
     789             :     5274529U,   // LDSWri
     790             :     5274529U,   // LDSWrr
     791             :     160398105U, // LDUBArr
     792             :     5274469U,   // LDUBri
     793             :     5274469U,   // LDUBrr
     794             :     160398144U, // LDUHArr
     795             :     5274503U,   // LDUHri
     796             :     5274503U,   // LDUHrr
     797             :     1264552U,   // LDXFSRri
     798             :     1264552U,   // LDXFSRrr
     799             :     5274536U,   // LDXri
     800             :     5274536U,   // LDXrr
     801             :     5274491U,   // LDri
     802             :     5274491U,   // LDrr
     803             :     33547U,     // LEAX_ADDri
     804             :     33547U,     // LEA_ADDri
     805             :     4200228U,   // LZCNT
     806             :     75199U,     // MEMBARi
     807             :     4200366U,   // MOVDTOX
     808             :     1137653U,   // MOVFCCri
     809             :     1137653U,   // MOVFCCrr
     810             :     153508853U, // MOVICCri
     811             :     153508853U, // MOVICCrr
     812             :     6142U,      // MOVRGEZri
     813             :     6142U,      // MOVRGEZrr
     814             :     6237U,      // MOVRGZri
     815             :     6237U,      // MOVRGZrr
     816             :     6191U,      // MOVRLEZri
     817             :     6191U,      // MOVRLEZrr
     818             :     6281U,      // MOVRLZri
     819             :     6281U,      // MOVRLZrr
     820             :     6325U,      // MOVRNZri
     821             :     6325U,      // MOVRNZrr
     822             :     6357U,      // MOVRRZri
     823             :     6357U,      // MOVRRZrr
     824             :     4200292U,   // MOVSTOSW
     825             :     4200302U,   // MOVSTOUW
     826             :     4200366U,   // MOVWTOS
     827             :     153770997U, // MOVXCCri
     828             :     153770997U, // MOVXCCrr
     829             :     4200366U,   // MOVXTOD
     830             :     4807U,      // MULSCCri
     831             :     4807U,      // MULSCCrr
     832             :     6049U,      // MULXri
     833             :     6049U,      // MULXrr
     834             :     3037U,      // NOP
     835             :     4794U,      // ORCCri
     836             :     4794U,      // ORCCrr
     837             :     4785U,      // ORNCCri
     838             :     4785U,      // ORNCCrr
     839             :     5417U,      // ORNri
     840             :     5417U,      // ORNrr
     841             :     5417U,      // ORXNrr
     842             :     5587U,      // ORXri
     843             :     5587U,      // ORXrr
     844             :     5587U,      // ORri
     845             :     5587U,      // ORrr
     846             :     5931U,      // PDIST
     847             :     5422U,      // PDISTN
     848             :     4199151U,   // POPCrr
     849             :     4199311U,   // RDASR
     850             :     4199914U,   // RDPR
     851             :     73749U,     // RDPSR
     852             :     73739U,     // RDTBR
     853             :     73729U,     // RDWIM
     854             :     5070U,      // RESTOREri
     855             :     5070U,      // RESTORErr
     856             :     76227U,     // RET
     857             :     76236U,     // RETL
     858             :     83762U,     // RETTri
     859             :     83762U,     // RETTrr
     860             :     5079U,      // SAVEri
     861             :     5079U,      // SAVErr
     862             :     4815U,      // SDIVCCri
     863             :     4815U,      // SDIVCCrr
     864             :     6090U,      // SDIVXri
     865             :     6090U,      // SDIVXrr
     866             :     5956U,      // SDIVri
     867             :     5956U,      // SDIVrr
     868             :     2277U,      // SELECT_CC_DFP_FCC
     869             :     2388U,      // SELECT_CC_DFP_ICC
     870             :     2333U,      // SELECT_CC_FP_FCC
     871             :     2444U,      // SELECT_CC_FP_ICC
     872             :     2360U,      // SELECT_CC_Int_FCC
     873             :     2471U,      // SELECT_CC_Int_ICC
     874             :     2305U,      // SELECT_CC_QFP_FCC
     875             :     2416U,      // SELECT_CC_QFP_ICC
     876             :     4200223U,   // SET
     877             :     4199401U,   // SETHIXi
     878             :     4199401U,   // SETHIi
     879             :     3028U,      // SHUTDOWN
     880             :     3023U,      // SIAM
     881             :     6036U,      // SLLXri
     882             :     6036U,      // SLLXrr
     883             :     5194U,      // SLLri
     884             :     5194U,      // SLLrr
     885             :     4717U,      // SMACri
     886             :     4717U,      // SMACrr
     887             :     4761U,      // SMULCCri
     888             :     4761U,      // SMULCCrr
     889             :     5222U,      // SMULri
     890             :     5222U,      // SMULrr
     891             :     6008U,      // SRAXri
     892             :     6008U,      // SRAXrr
     893             :     4685U,      // SRAri
     894             :     4685U,      // SRArr
     895             :     6042U,      // SRLXri
     896             :     6042U,      // SRLXrr
     897             :     5217U,      // SRLri
     898             :     5217U,      // SRLrr
     899             :     9409118U,   // STArr
     900             :     3047U,      // STBAR
     901             :     9409077U,   // STBArr
     902             :     1348195U,   // STBri
     903             :     1348195U,   // STBrr
     904             :     1329903U,   // STCSRri
     905             :     1329903U,   // STCSRrr
     906             :     1349422U,   // STCri
     907             :     1349422U,   // STCrr
     908             :     9409083U,   // STDArr
     909             :     1329881U,   // STDCQri
     910             :     1329881U,   // STDCQrr
     911             :     1348514U,   // STDCri
     912             :     1348514U,   // STDCrr
     913             :     9409083U,   // STDFArr
     914             :     1329892U,   // STDFQri
     915             :     1329892U,   // STDFQrr
     916             :     1348514U,   // STDFri
     917             :     1348514U,   // STDFrr
     918             :     1348514U,   // STDri
     919             :     1348514U,   // STDrr
     920             :     9409118U,   // STFArr
     921             :     1329914U,   // STFSRri
     922             :     1329914U,   // STFSRrr
     923             :     1349422U,   // STFri
     924             :     1349422U,   // STFrr
     925             :     9409089U,   // STHArr
     926             :     1348580U,   // STHri
     927             :     1348580U,   // STHrr
     928             :     9409095U,   // STQFArr
     929             :     1349036U,   // STQFri
     930             :     1349036U,   // STQFrr
     931             :     1329925U,   // STXFSRri
     932             :     1329925U,   // STXFSRrr
     933             :     1349573U,   // STXri
     934             :     1349573U,   // STXrr
     935             :     1349422U,   // STri
     936             :     1349422U,   // STrr
     937             :     4730U,      // SUBCCri
     938             :     4730U,      // SUBCCrr
     939             :     6014U,      // SUBCri
     940             :     6014U,      // SUBCrr
     941             :     4831U,      // SUBEri
     942             :     4831U,      // SUBErr
     943             :     4712U,      // SUBXri
     944             :     4712U,      // SUBXrr
     945             :     4712U,      // SUBri
     946             :     4712U,      // SUBrr
     947             :     160398152U, // SWAPArr
     948             :     5274510U,   // SWAPri
     949             :     5274510U,   // SWAPrr
     950             :     2712U,      // TA3
     951             :     2717U,      // TA5
     952             :     5978U,      // TADDCCTVri
     953             :     5978U,      // TADDCCTVrr
     954             :     4746U,      // TADDCCri
     955             :     4746U,      // TADDCCrr
     956             :     38185971U,  // TICCri
     957             :     38185971U,  // TICCrr
     958             :     285217547U, // TLS_ADDXrr
     959             :     285217547U, // TLS_ADDrr
     960             :     2106436U,   // TLS_CALL
     961             :     290487208U, // TLS_LDXrr
     962             :     290487163U, // TLS_LDrr
     963             :     37923827U,  // TRAPri
     964             :     37923827U,  // TRAPrr
     965             :     5968U,      // TSUBCCTVri
     966             :     5968U,      // TSUBCCTVrr
     967             :     4729U,      // TSUBCCri
     968             :     4729U,      // TSUBCCrr
     969             :     38448115U,  // TXCCri
     970             :     38448115U,  // TXCCrr
     971             :     4823U,      // UDIVCCri
     972             :     4823U,      // UDIVCCrr
     973             :     6097U,      // UDIVXri
     974             :     6097U,      // UDIVXrr
     975             :     5962U,      // UDIVri
     976             :     5962U,      // UDIVrr
     977             :     4723U,      // UMACri
     978             :     4723U,      // UMACrr
     979             :     4769U,      // UMULCCri
     980             :     4769U,      // UMULCCrr
     981             :     5104U,      // UMULXHI
     982             :     5228U,      // UMULri
     983             :     5228U,      // UMULrr
     984             :     75074U,     // UNIMP
     985             :     18883456U,  // V9FCMPD
     986             :     18883376U,  // V9FCMPED
     987             :     18883932U,  // V9FCMPEQ
     988             :     18884253U,  // V9FCMPES
     989             :     18883990U,  // V9FCMPQ
     990             :     18884311U,  // V9FCMPS
     991             :     48059U,     // V9FMOVD_FCC
     992             :     48097U,     // V9FMOVQ_FCC
     993             :     48109U,     // V9FMOVS_FCC
     994             :     48117U,     // V9MOVFCCri
     995             :     48117U,     // V9MOVFCCrr
     996             :     5622U,      // WRASRri
     997             :     5622U,      // WRASRrr
     998             :     5616U,      // WRPRri
     999             :     5616U,      // WRPRrr
    1000             :     52438518U,  // WRPSRri
    1001             :     52438518U,  // WRPSRrr
    1002             :     69215734U,  // WRTBRri
    1003             :     69215734U,  // WRTBRrr
    1004             :     85992950U,  // WRWIMri
    1005             :     85992950U,  // WRWIMrr
    1006             :     6048U,      // XMULX
    1007             :     5113U,      // XMULXHI
    1008             :     4792U,      // XNORCCri
    1009             :     4792U,      // XNORCCrr
    1010             :     5598U,      // XNORXrr
    1011             :     5598U,      // XNORri
    1012             :     5598U,      // XNORrr
    1013             :     4800U,      // XORCCri
    1014             :     4800U,      // XORCCrr
    1015             :     5605U,      // XORXri
    1016             :     5605U,      // XORXrr
    1017             :     5605U,      // XORri
    1018             :     5605U,      // XORrr
    1019             :   };
    1020             : 
    1021        7805 :   O << "\t";
    1022             : 
    1023             :   // Emit the opcode for the instruction.
    1024             :   uint32_t Bits = 0;
    1025        7805 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
    1026             :   assert(Bits != 0 && "Cannot print this instruction.");
    1027        7805 :   O << AsmStrs+(Bits & 4095)-1;
    1028             : 
    1029             : 
    1030             :   // Fragment 0 encoded into 4 bits for 12 unique commands.
    1031        7805 :   switch ((Bits >> 12) & 15) {
    1032           0 :   default: llvm_unreachable("Invalid command number.");
    1033             :   case 0:
    1034             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
    1035             :     return;
    1036             :     break;
    1037        3066 :   case 1:
    1038             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1039        3066 :     printOperand(MI, 1, STI, O);
    1040        3066 :     break;
    1041         776 :   case 2:
    1042             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
    1043         776 :     printOperand(MI, 0, STI, O);
    1044         776 :     break;
    1045         369 :   case 3:
    1046             :     // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
    1047         369 :     printCCOperand(MI, 1, STI, O);
    1048         369 :     break;
    1049          56 :   case 4:
    1050             :     // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
    1051          56 :     printMemOperand(MI, 0, STI, O);
    1052          56 :     break;
    1053          13 :   case 5:
    1054             :     // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
    1055          13 :     printCCOperand(MI, 3, STI, O);
    1056          13 :     break;
    1057           0 :   case 6:
    1058             :     // GETPCX
    1059           0 :     printGetPCX(MI, 0, STI, O);
    1060           0 :     return;
    1061             :     break;
    1062        1278 :   case 7:
    1063             :     // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
    1064        1278 :     printMemOperand(MI, 1, STI, O);
    1065        1278 :     break;
    1066         124 :   case 8:
    1067             :     // LEAX_ADDri, LEA_ADDri
    1068         124 :     printMemOperand(MI, 1, STI, O, "arith");
    1069         124 :     O << ", ";
    1070         124 :     printOperand(MI, 0, STI, O);
    1071         124 :     return;
    1072             :     break;
    1073        1564 :   case 9:
    1074             :     // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
    1075        1564 :     printOperand(MI, 2, STI, O);
    1076        1564 :     O << ", [";
    1077        1564 :     printMemOperand(MI, 0, STI, O);
    1078        1564 :     break;
    1079           0 :   case 10:
    1080             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1081           0 :     printCCOperand(MI, 2, STI, O);
    1082           0 :     break;
    1083           0 :   case 11:
    1084             :     // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
    1085           0 :     printCCOperand(MI, 4, STI, O);
    1086             :     O << ' ';
    1087           0 :     printOperand(MI, 1, STI, O);
    1088           0 :     O << ", ";
    1089           0 :     printOperand(MI, 2, STI, O);
    1090           0 :     O << ", ";
    1091           0 :     printOperand(MI, 0, STI, O);
    1092           0 :     return;
    1093             :     break;
    1094             :   }
    1095             : 
    1096             : 
    1097             :   // Fragment 1 encoded into 5 bits for 21 unique commands.
    1098        7122 :   switch ((Bits >> 16) & 31) {
    1099           0 :   default: llvm_unreachable("Invalid command number.");
    1100        3298 :   case 0:
    1101             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1102        3298 :     O << ", ";
    1103        3298 :     break;
    1104             :   case 1:
    1105             :     // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
    1106             :     return;
    1107             :     break;
    1108             :   case 2:
    1109             :     // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
    1110             :     O << ' ';
    1111             :     break;
    1112         115 :   case 3:
    1113             :     // BCONDA, BPFCCA, CBCONDA, FBCONDA
    1114         115 :     O << ",a ";
    1115         115 :     break;
    1116           0 :   case 4:
    1117             :     // BPFCCANT
    1118           0 :     O << ",a,pn ";
    1119           0 :     printOperand(MI, 2, STI, O);
    1120           0 :     O << ", ";
    1121           0 :     printOperand(MI, 0, STI, O);
    1122           0 :     return;
    1123             :     break;
    1124           0 :   case 5:
    1125             :     // BPFCCNT
    1126           0 :     O << ",pn ";
    1127           0 :     printOperand(MI, 2, STI, O);
    1128           0 :     O << ", ";
    1129           0 :     printOperand(MI, 0, STI, O);
    1130           0 :     return;
    1131             :     break;
    1132          14 :   case 6:
    1133             :     // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
    1134          14 :     O << " %icc, ";
    1135          14 :     break;
    1136          25 :   case 7:
    1137             :     // BPICCA
    1138          25 :     O << ",a %icc, ";
    1139          25 :     printOperand(MI, 0, STI, O);
    1140          25 :     return;
    1141             :     break;
    1142           0 :   case 8:
    1143             :     // BPICCANT
    1144           0 :     O << ",a,pn %icc, ";
    1145           0 :     printOperand(MI, 0, STI, O);
    1146           0 :     return;
    1147             :     break;
    1148           0 :   case 9:
    1149             :     // BPICCNT
    1150           0 :     O << ",pn %icc, ";
    1151           0 :     printOperand(MI, 0, STI, O);
    1152           0 :     return;
    1153             :     break;
    1154          33 :   case 10:
    1155             :     // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
    1156          33 :     O << " %xcc, ";
    1157          33 :     break;
    1158          25 :   case 11:
    1159             :     // BPXCCA
    1160          25 :     O << ",a %xcc, ";
    1161          25 :     printOperand(MI, 0, STI, O);
    1162          25 :     return;
    1163             :     break;
    1164           0 :   case 12:
    1165             :     // BPXCCANT
    1166           0 :     O << ",a,pn %xcc, ";
    1167           0 :     printOperand(MI, 0, STI, O);
    1168           0 :     return;
    1169             :     break;
    1170           0 :   case 13:
    1171             :     // BPXCCNT
    1172           0 :     O << ",pn %xcc, ";
    1173           0 :     printOperand(MI, 0, STI, O);
    1174           0 :     return;
    1175             :     break;
    1176          19 :   case 14:
    1177             :     // CASAasi10
    1178          19 :     O << "] 10, ";
    1179          19 :     printOperand(MI, 2, STI, O);
    1180          19 :     O << ", ";
    1181          19 :     printOperand(MI, 0, STI, O);
    1182          19 :     return;
    1183             :     break;
    1184          45 :   case 15:
    1185             :     // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
    1186          45 :     O << "] ";
    1187          45 :     break;
    1188        1264 :   case 16:
    1189             :     // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
    1190        1264 :     O << "], ";
    1191        1264 :     break;
    1192          13 :   case 17:
    1193             :     // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
    1194          13 :     O << " %fcc0, ";
    1195          13 :     printOperand(MI, 1, STI, O);
    1196          13 :     O << ", ";
    1197          13 :     printOperand(MI, 0, STI, O);
    1198          13 :     return;
    1199             :     break;
    1200           3 :   case 18:
    1201             :     // LDCSRri, LDCSRrr
    1202           3 :     O << "], %csr";
    1203           3 :     return;
    1204             :     break;
    1205           6 :   case 19:
    1206             :     // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
    1207           6 :     O << "], %fsr";
    1208           6 :     return;
    1209             :     break;
    1210             :   case 20:
    1211             :     // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
    1212             :     O << ']';
    1213             :     return;
    1214             :     break;
    1215             :   }
    1216             : 
    1217             : 
    1218             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
    1219        4926 :   switch ((Bits >> 21) & 7) {
    1220           0 :   default: llvm_unreachable("Invalid command number.");
    1221        2462 :   case 0:
    1222             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1223        2462 :     printOperand(MI, 2, STI, O);
    1224        2462 :     O << ", ";
    1225        2462 :     printOperand(MI, 0, STI, O);
    1226        2462 :     break;
    1227         271 :   case 1:
    1228             :     // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
    1229         271 :     printOperand(MI, 1, STI, O);
    1230         271 :     break;
    1231        2148 :   case 2:
    1232             :     // BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS, FBC...
    1233        2148 :     printOperand(MI, 0, STI, O);
    1234        2148 :     break;
    1235          10 :   case 3:
    1236             :     // CASArr
    1237          10 :     printOperand(MI, 4, STI, O);
    1238          10 :     O << ", ";
    1239          10 :     printOperand(MI, 2, STI, O);
    1240          10 :     O << ", ";
    1241          10 :     printOperand(MI, 0, STI, O);
    1242          10 :     return;
    1243             :     break;
    1244          35 :   case 4:
    1245             :     // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
    1246          35 :     printOperand(MI, 3, STI, O);
    1247          35 :     break;
    1248             :   }
    1249             : 
    1250             : 
    1251             :   // Fragment 3 encoded into 3 bits for 6 unique commands.
    1252        4916 :   switch ((Bits >> 24) & 7) {
    1253           0 :   default: llvm_unreachable("Invalid command number.");
    1254             :   case 0:
    1255             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1256             :     return;
    1257             :     break;
    1258          40 :   case 1:
    1259             :     // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
    1260          40 :     O << ", ";
    1261             :     break;
    1262           0 :   case 2:
    1263             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1264           0 :     O << " + ";
    1265           0 :     printOperand(MI, 1, STI, O);
    1266           0 :     return;
    1267             :     break;
    1268          19 :   case 3:
    1269             :     // WRPSRri, WRPSRrr
    1270          19 :     O << ", %psr";
    1271          19 :     return;
    1272             :     break;
    1273          19 :   case 4:
    1274             :     // WRTBRri, WRTBRrr
    1275          19 :     O << ", %tbr";
    1276          19 :     return;
    1277             :     break;
    1278          19 :   case 5:
    1279             :     // WRWIMri, WRWIMrr
    1280          19 :     O << ", %wim";
    1281          19 :     return;
    1282             :     break;
    1283             :   }
    1284             : 
    1285             : 
    1286             :   // Fragment 4 encoded into 2 bits for 3 unique commands.
    1287          40 :   switch ((Bits >> 27) & 3) {
    1288           0 :   default: llvm_unreachable("Invalid command number.");
    1289           6 :   case 0:
    1290             :     // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
    1291           6 :     printOperand(MI, 2, STI, O);
    1292           6 :     return;
    1293             :     break;
    1294          24 :   case 1:
    1295             :     // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
    1296          24 :     printOperand(MI, 0, STI, O);
    1297          24 :     return;
    1298             :     break;
    1299          10 :   case 2:
    1300             :     // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
    1301          10 :     printOperand(MI, 3, STI, O);
    1302          10 :     return;
    1303             :     break;
    1304             :   }
    1305             : 
    1306             : }
    1307             : 
    1308             : 
    1309             : /// getRegisterName - This method is automatically generated by tblgen
    1310             : /// from the register set description.  This returns the assembler name
    1311             : /// for the specified register.
    1312       16343 : const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
    1313             :   assert(RegNo && RegNo < 236 && "Invalid register number!");
    1314             : 
    1315             :   static const char AsmStrs[] = {
    1316             :   /* 0 */ 'C', '1', '0', 0,
    1317             :   /* 4 */ 'F', '1', '0', 0,
    1318             :   /* 8 */ 'A', 'S', 'R', '1', '0', 0,
    1319             :   /* 14 */ 'C', '2', '0', 0,
    1320             :   /* 18 */ 'F', '2', '0', 0,
    1321             :   /* 22 */ 'A', 'S', 'R', '2', '0', 0,
    1322             :   /* 28 */ 'C', '3', '0', 0,
    1323             :   /* 32 */ 'F', '3', '0', 0,
    1324             :   /* 36 */ 'A', 'S', 'R', '3', '0', 0,
    1325             :   /* 42 */ 'F', '4', '0', 0,
    1326             :   /* 46 */ 'F', '5', '0', 0,
    1327             :   /* 50 */ 'F', '6', '0', 0,
    1328             :   /* 54 */ 'F', 'C', 'C', '0', 0,
    1329             :   /* 59 */ 'F', '0', 0,
    1330             :   /* 62 */ 'G', '0', 0,
    1331             :   /* 65 */ 'I', '0', 0,
    1332             :   /* 68 */ 'L', '0', 0,
    1333             :   /* 71 */ 'O', '0', 0,
    1334             :   /* 74 */ 'C', '1', '1', 0,
    1335             :   /* 78 */ 'F', '1', '1', 0,
    1336             :   /* 82 */ 'A', 'S', 'R', '1', '1', 0,
    1337             :   /* 88 */ 'C', '2', '1', 0,
    1338             :   /* 92 */ 'F', '2', '1', 0,
    1339             :   /* 96 */ 'A', 'S', 'R', '2', '1', 0,
    1340             :   /* 102 */ 'C', '3', '1', 0,
    1341             :   /* 106 */ 'F', '3', '1', 0,
    1342             :   /* 110 */ 'A', 'S', 'R', '3', '1', 0,
    1343             :   /* 116 */ 'F', 'C', 'C', '1', 0,
    1344             :   /* 121 */ 'F', '1', 0,
    1345             :   /* 124 */ 'G', '1', 0,
    1346             :   /* 127 */ 'I', '1', 0,
    1347             :   /* 130 */ 'L', '1', 0,
    1348             :   /* 133 */ 'O', '1', 0,
    1349             :   /* 136 */ 'A', 'S', 'R', '1', 0,
    1350             :   /* 141 */ 'C', '1', '2', 0,
    1351             :   /* 145 */ 'F', '1', '2', 0,
    1352             :   /* 149 */ 'A', 'S', 'R', '1', '2', 0,
    1353             :   /* 155 */ 'C', '2', '2', 0,
    1354             :   /* 159 */ 'F', '2', '2', 0,
    1355             :   /* 163 */ 'A', 'S', 'R', '2', '2', 0,
    1356             :   /* 169 */ 'F', '3', '2', 0,
    1357             :   /* 173 */ 'F', '4', '2', 0,
    1358             :   /* 177 */ 'F', '5', '2', 0,
    1359             :   /* 181 */ 'F', '6', '2', 0,
    1360             :   /* 185 */ 'F', 'C', 'C', '2', 0,
    1361             :   /* 190 */ 'F', '2', 0,
    1362             :   /* 193 */ 'G', '2', 0,
    1363             :   /* 196 */ 'I', '2', 0,
    1364             :   /* 199 */ 'L', '2', 0,
    1365             :   /* 202 */ 'O', '2', 0,
    1366             :   /* 205 */ 'A', 'S', 'R', '2', 0,
    1367             :   /* 210 */ 'C', '1', '3', 0,
    1368             :   /* 214 */ 'F', '1', '3', 0,
    1369             :   /* 218 */ 'A', 'S', 'R', '1', '3', 0,
    1370             :   /* 224 */ 'C', '2', '3', 0,
    1371             :   /* 228 */ 'F', '2', '3', 0,
    1372             :   /* 232 */ 'A', 'S', 'R', '2', '3', 0,
    1373             :   /* 238 */ 'F', 'C', 'C', '3', 0,
    1374             :   /* 243 */ 'F', '3', 0,
    1375             :   /* 246 */ 'G', '3', 0,
    1376             :   /* 249 */ 'I', '3', 0,
    1377             :   /* 252 */ 'L', '3', 0,
    1378             :   /* 255 */ 'O', '3', 0,
    1379             :   /* 258 */ 'A', 'S', 'R', '3', 0,
    1380             :   /* 263 */ 'C', '1', '4', 0,
    1381             :   /* 267 */ 'F', '1', '4', 0,
    1382             :   /* 271 */ 'A', 'S', 'R', '1', '4', 0,
    1383             :   /* 277 */ 'C', '2', '4', 0,
    1384             :   /* 281 */ 'F', '2', '4', 0,
    1385             :   /* 285 */ 'A', 'S', 'R', '2', '4', 0,
    1386             :   /* 291 */ 'F', '3', '4', 0,
    1387             :   /* 295 */ 'F', '4', '4', 0,
    1388             :   /* 299 */ 'F', '5', '4', 0,
    1389             :   /* 303 */ 'C', '4', 0,
    1390             :   /* 306 */ 'F', '4', 0,
    1391             :   /* 309 */ 'G', '4', 0,
    1392             :   /* 312 */ 'I', '4', 0,
    1393             :   /* 315 */ 'L', '4', 0,
    1394             :   /* 318 */ 'O', '4', 0,
    1395             :   /* 321 */ 'A', 'S', 'R', '4', 0,
    1396             :   /* 326 */ 'C', '1', '5', 0,
    1397             :   /* 330 */ 'F', '1', '5', 0,
    1398             :   /* 334 */ 'A', 'S', 'R', '1', '5', 0,
    1399             :   /* 340 */ 'C', '2', '5', 0,
    1400             :   /* 344 */ 'F', '2', '5', 0,
    1401             :   /* 348 */ 'A', 'S', 'R', '2', '5', 0,
    1402             :   /* 354 */ 'C', '5', 0,
    1403             :   /* 357 */ 'F', '5', 0,
    1404             :   /* 360 */ 'G', '5', 0,
    1405             :   /* 363 */ 'I', '5', 0,
    1406             :   /* 366 */ 'L', '5', 0,
    1407             :   /* 369 */ 'O', '5', 0,
    1408             :   /* 372 */ 'A', 'S', 'R', '5', 0,
    1409             :   /* 377 */ 'C', '1', '6', 0,
    1410             :   /* 381 */ 'F', '1', '6', 0,
    1411             :   /* 385 */ 'A', 'S', 'R', '1', '6', 0,
    1412             :   /* 391 */ 'C', '2', '6', 0,
    1413             :   /* 395 */ 'F', '2', '6', 0,
    1414             :   /* 399 */ 'A', 'S', 'R', '2', '6', 0,
    1415             :   /* 405 */ 'F', '3', '6', 0,
    1416             :   /* 409 */ 'F', '4', '6', 0,
    1417             :   /* 413 */ 'F', '5', '6', 0,
    1418             :   /* 417 */ 'C', '6', 0,
    1419             :   /* 420 */ 'F', '6', 0,
    1420             :   /* 423 */ 'G', '6', 0,
    1421             :   /* 426 */ 'I', '6', 0,
    1422             :   /* 429 */ 'L', '6', 0,
    1423             :   /* 432 */ 'O', '6', 0,
    1424             :   /* 435 */ 'A', 'S', 'R', '6', 0,
    1425             :   /* 440 */ 'C', '1', '7', 0,
    1426             :   /* 444 */ 'F', '1', '7', 0,
    1427             :   /* 448 */ 'A', 'S', 'R', '1', '7', 0,
    1428             :   /* 454 */ 'C', '2', '7', 0,
    1429             :   /* 458 */ 'F', '2', '7', 0,
    1430             :   /* 462 */ 'A', 'S', 'R', '2', '7', 0,
    1431             :   /* 468 */ 'C', '7', 0,
    1432             :   /* 471 */ 'F', '7', 0,
    1433             :   /* 474 */ 'G', '7', 0,
    1434             :   /* 477 */ 'I', '7', 0,
    1435             :   /* 480 */ 'L', '7', 0,
    1436             :   /* 483 */ 'O', '7', 0,
    1437             :   /* 486 */ 'A', 'S', 'R', '7', 0,
    1438             :   /* 491 */ 'C', '1', '8', 0,
    1439             :   /* 495 */ 'F', '1', '8', 0,
    1440             :   /* 499 */ 'A', 'S', 'R', '1', '8', 0,
    1441             :   /* 505 */ 'C', '2', '8', 0,
    1442             :   /* 509 */ 'F', '2', '8', 0,
    1443             :   /* 513 */ 'A', 'S', 'R', '2', '8', 0,
    1444             :   /* 519 */ 'F', '3', '8', 0,
    1445             :   /* 523 */ 'F', '4', '8', 0,
    1446             :   /* 527 */ 'F', '5', '8', 0,
    1447             :   /* 531 */ 'C', '8', 0,
    1448             :   /* 534 */ 'F', '8', 0,
    1449             :   /* 537 */ 'A', 'S', 'R', '8', 0,
    1450             :   /* 542 */ 'C', '1', '9', 0,
    1451             :   /* 546 */ 'F', '1', '9', 0,
    1452             :   /* 550 */ 'A', 'S', 'R', '1', '9', 0,
    1453             :   /* 556 */ 'C', '2', '9', 0,
    1454             :   /* 560 */ 'F', '2', '9', 0,
    1455             :   /* 564 */ 'A', 'S', 'R', '2', '9', 0,
    1456             :   /* 570 */ 'C', '9', 0,
    1457             :   /* 573 */ 'F', '9', 0,
    1458             :   /* 576 */ 'A', 'S', 'R', '9', 0,
    1459             :   /* 581 */ 'T', 'B', 'A', 0,
    1460             :   /* 585 */ 'I', 'C', 'C', 0,
    1461             :   /* 589 */ 'T', 'N', 'P', 'C', 0,
    1462             :   /* 594 */ 'T', 'P', 'C', 0,
    1463             :   /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
    1464             :   /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
    1465             :   /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
    1466             :   /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
    1467             :   /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
    1468             :   /* 638 */ 'T', 'I', 'C', 'K', 0,
    1469             :   /* 643 */ 'P', 'I', 'L', 0,
    1470             :   /* 647 */ 'T', 'L', 0,
    1471             :   /* 650 */ 'W', 'I', 'M', 0,
    1472             :   /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
    1473             :   /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
    1474             :   /* 672 */ 'F', 'P', 0,
    1475             :   /* 675 */ 'S', 'P', 0,
    1476             :   /* 678 */ 'C', 'W', 'P', 0,
    1477             :   /* 682 */ 'F', 'Q', 0,
    1478             :   /* 685 */ 'C', 'P', 'Q', 0,
    1479             :   /* 689 */ 'T', 'B', 'R', 0,
    1480             :   /* 693 */ 'F', 'S', 'R', 0,
    1481             :   /* 697 */ 'C', 'P', 'S', 'R', 0,
    1482             :   /* 702 */ 'T', 'T', 0,
    1483             :   /* 705 */ 'Y', 0,
    1484             :   };
    1485             : 
    1486             :   static const uint16_t RegAsmOffset[] = {
    1487             :     598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
    1488             :     689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
    1489             :     372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
    1490             :     550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
    1491             :     118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
    1492             :     326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
    1493             :     556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
    1494             :     159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
    1495             :     46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
    1496             :     471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
    1497             :     92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
    1498             :     238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
    1499             :     363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
    1500             :     255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
    1501             :     405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
    1502             :     263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
    1503             :     196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
    1504             :   };
    1505             : 
    1506             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
    1507             :           "Invalid alt name index for register!");
    1508       16343 :   return AsmStrs+RegAsmOffset[RegNo-1];
    1509             : }
    1510             : 
    1511             : #ifdef PRINT_ALIAS_INSTR
    1512             : #undef PRINT_ALIAS_INSTR
    1513             : 
    1514       10469 : bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
    1515             :   const char *AsmString;
    1516       10469 :   switch (MI->getOpcode()) {
    1517             :   default: return false;
    1518             :   case SP::BCOND:
    1519         167 :     if (MI->getNumOperands() == 2 &&
    1520         334 :         MI->getOperand(1).isImm() &&
    1521         167 :         MI->getOperand(1).getImm() == 8) {
    1522             :       // (BCOND brtarget:$imm, { 1, 0, 0, 0 })
    1523             :       AsmString = "ba $\x01";
    1524             :       break;
    1525             :     }
    1526         161 :     if (MI->getNumOperands() == 2 &&
    1527         322 :         MI->getOperand(1).isImm() &&
    1528         161 :         MI->getOperand(1).getImm() == 0) {
    1529             :       // (BCOND brtarget:$imm, { 0, 0, 0, 0 })
    1530             :       AsmString = "bn $\x01";
    1531             :       break;
    1532             :     }
    1533         157 :     if (MI->getNumOperands() == 2 &&
    1534         314 :         MI->getOperand(1).isImm() &&
    1535         157 :         MI->getOperand(1).getImm() == 9) {
    1536             :       // (BCOND brtarget:$imm, { 1, 0, 0, 1 })
    1537             :       AsmString = "bne $\x01";
    1538             :       break;
    1539             :     }
    1540          90 :     if (MI->getNumOperands() == 2 &&
    1541         180 :         MI->getOperand(1).isImm() &&
    1542          90 :         MI->getOperand(1).getImm() == 1) {
    1543             :       // (BCOND brtarget:$imm, { 0, 0, 0, 1 })
    1544             :       AsmString = "be $\x01";
    1545             :       break;
    1546             :     }
    1547          60 :     if (MI->getNumOperands() == 2 &&
    1548         120 :         MI->getOperand(1).isImm() &&
    1549          60 :         MI->getOperand(1).getImm() == 10) {
    1550             :       // (BCOND brtarget:$imm, { 1, 0, 1, 0 })
    1551             :       AsmString = "bg $\x01";
    1552             :       break;
    1553             :     }
    1554          49 :     if (MI->getNumOperands() == 2 &&
    1555          98 :         MI->getOperand(1).isImm() &&
    1556          49 :         MI->getOperand(1).getImm() == 2) {
    1557             :       // (BCOND brtarget:$imm, { 0, 0, 1, 0 })
    1558             :       AsmString = "ble $\x01";
    1559             :       break;
    1560             :     }
    1561          45 :     if (MI->getNumOperands() == 2 &&
    1562          90 :         MI->getOperand(1).isImm() &&
    1563          45 :         MI->getOperand(1).getImm() == 11) {
    1564             :       // (BCOND brtarget:$imm, { 1, 0, 1, 1 })
    1565             :       AsmString = "bge $\x01";
    1566             :       break;
    1567             :     }
    1568          42 :     if (MI->getNumOperands() == 2 &&
    1569          84 :         MI->getOperand(1).isImm() &&
    1570          42 :         MI->getOperand(1).getImm() == 3) {
    1571             :       // (BCOND brtarget:$imm, { 0, 0, 1, 1 })
    1572             :       AsmString = "bl $\x01";
    1573             :       break;
    1574             :     }
    1575          31 :     if (MI->getNumOperands() == 2 &&
    1576          62 :         MI->getOperand(1).isImm() &&
    1577          31 :         MI->getOperand(1).getImm() == 12) {
    1578             :       // (BCOND brtarget:$imm, { 1, 1, 0, 0 })
    1579             :       AsmString = "bgu $\x01";
    1580             :       break;
    1581             :     }
    1582          27 :     if (MI->getNumOperands() == 2 &&
    1583          54 :         MI->getOperand(1).isImm() &&
    1584          27 :         MI->getOperand(1).getImm() == 4) {
    1585             :       // (BCOND brtarget:$imm, { 0, 1, 0, 0 })
    1586             :       AsmString = "bleu $\x01";
    1587             :       break;
    1588             :     }
    1589          22 :     if (MI->getNumOperands() == 2 &&
    1590          44 :         MI->getOperand(1).isImm() &&
    1591          22 :         MI->getOperand(1).getImm() == 13) {
    1592             :       // (BCOND brtarget:$imm, { 1, 1, 0, 1 })
    1593             :       AsmString = "bcc $\x01";
    1594             :       break;
    1595             :     }
    1596          17 :     if (MI->getNumOperands() == 2 &&
    1597          34 :         MI->getOperand(1).isImm() &&
    1598          17 :         MI->getOperand(1).getImm() == 5) {
    1599             :       // (BCOND brtarget:$imm, { 0, 1, 0, 1 })
    1600             :       AsmString = "bcs $\x01";
    1601             :       break;
    1602             :     }
    1603          12 :     if (MI->getNumOperands() == 2 &&
    1604          24 :         MI->getOperand(1).isImm() &&
    1605          12 :         MI->getOperand(1).getImm() == 14) {
    1606             :       // (BCOND brtarget:$imm, { 1, 1, 1, 0 })
    1607             :       AsmString = "bpos $\x01";
    1608             :       break;
    1609             :     }
    1610           9 :     if (MI->getNumOperands() == 2 &&
    1611          18 :         MI->getOperand(1).isImm() &&
    1612           9 :         MI->getOperand(1).getImm() == 6) {
    1613             :       // (BCOND brtarget:$imm, { 0, 1, 1, 0 })
    1614             :       AsmString = "bneg $\x01";
    1615             :       break;
    1616             :     }
    1617           6 :     if (MI->getNumOperands() == 2 &&
    1618          12 :         MI->getOperand(1).isImm() &&
    1619           6 :         MI->getOperand(1).getImm() == 15) {
    1620             :       // (BCOND brtarget:$imm, { 1, 1, 1, 1 })
    1621             :       AsmString = "bvc $\x01";
    1622             :       break;
    1623             :     }
    1624           3 :     if (MI->getNumOperands() == 2 &&
    1625           6 :         MI->getOperand(1).isImm() &&
    1626           3 :         MI->getOperand(1).getImm() == 7) {
    1627             :       // (BCOND brtarget:$imm, { 0, 1, 1, 1 })
    1628             :       AsmString = "bvs $\x01";
    1629             :       break;
    1630             :     }
    1631             :     return false;
    1632             :   case SP::BCONDA:
    1633          30 :     if (MI->getNumOperands() == 2 &&
    1634          60 :         MI->getOperand(1).isImm() &&
    1635          30 :         MI->getOperand(1).getImm() == 8) {
    1636             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 0 })
    1637             :       AsmString = "ba,a $\x01";
    1638             :       break;
    1639             :     }
    1640          28 :     if (MI->getNumOperands() == 2 &&
    1641          56 :         MI->getOperand(1).isImm() &&
    1642          28 :         MI->getOperand(1).getImm() == 0) {
    1643             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 0 })
    1644             :       AsmString = "bn,a $\x01";
    1645             :       break;
    1646             :     }
    1647          28 :     if (MI->getNumOperands() == 2 &&
    1648          56 :         MI->getOperand(1).isImm() &&
    1649          28 :         MI->getOperand(1).getImm() == 9) {
    1650             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 1 })
    1651             :       AsmString = "bne,a $\x01";
    1652             :       break;
    1653             :     }
    1654          26 :     if (MI->getNumOperands() == 2 &&
    1655          52 :         MI->getOperand(1).isImm() &&
    1656          26 :         MI->getOperand(1).getImm() == 1) {
    1657             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 1 })
    1658             :       AsmString = "be,a $\x01";
    1659             :       break;
    1660             :     }
    1661          24 :     if (MI->getNumOperands() == 2 &&
    1662          48 :         MI->getOperand(1).isImm() &&
    1663          24 :         MI->getOperand(1).getImm() == 10) {
    1664             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 0 })
    1665             :       AsmString = "bg,a $\x01";
    1666             :       break;
    1667             :     }
    1668          22 :     if (MI->getNumOperands() == 2 &&
    1669          44 :         MI->getOperand(1).isImm() &&
    1670          22 :         MI->getOperand(1).getImm() == 2) {
    1671             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 0 })
    1672             :       AsmString = "ble,a $\x01";
    1673             :       break;
    1674             :     }
    1675          20 :     if (MI->getNumOperands() == 2 &&
    1676          40 :         MI->getOperand(1).isImm() &&
    1677          20 :         MI->getOperand(1).getImm() == 11) {
    1678             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 1 })
    1679             :       AsmString = "bge,a $\x01";
    1680             :       break;
    1681             :     }
    1682          18 :     if (MI->getNumOperands() == 2 &&
    1683          36 :         MI->getOperand(1).isImm() &&
    1684          18 :         MI->getOperand(1).getImm() == 3) {
    1685             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 1 })
    1686             :       AsmString = "bl,a $\x01";
    1687             :       break;
    1688             :     }
    1689          16 :     if (MI->getNumOperands() == 2 &&
    1690          32 :         MI->getOperand(1).isImm() &&
    1691          16 :         MI->getOperand(1).getImm() == 12) {
    1692             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 0 })
    1693             :       AsmString = "bgu,a $\x01";
    1694             :       break;
    1695             :     }
    1696          14 :     if (MI->getNumOperands() == 2 &&
    1697          28 :         MI->getOperand(1).isImm() &&
    1698          14 :         MI->getOperand(1).getImm() == 4) {
    1699             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 0 })
    1700             :       AsmString = "bleu,a $\x01";
    1701             :       break;
    1702             :     }
    1703          12 :     if (MI->getNumOperands() == 2 &&
    1704          24 :         MI->getOperand(1).isImm() &&
    1705          12 :         MI->getOperand(1).getImm() == 13) {
    1706             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 1 })
    1707             :       AsmString = "bcc,a $\x01";
    1708             :       break;
    1709             :     }
    1710          10 :     if (MI->getNumOperands() == 2 &&
    1711          20 :         MI->getOperand(1).isImm() &&
    1712          10 :         MI->getOperand(1).getImm() == 5) {
    1713             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 1 })
    1714             :       AsmString = "bcs,a $\x01";
    1715             :       break;
    1716             :     }
    1717           8 :     if (MI->getNumOperands() == 2 &&
    1718          16 :         MI->getOperand(1).isImm() &&
    1719           8 :         MI->getOperand(1).getImm() == 14) {
    1720             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 0 })
    1721             :       AsmString = "bpos,a $\x01";
    1722             :       break;
    1723             :     }
    1724           6 :     if (MI->getNumOperands() == 2 &&
    1725          12 :         MI->getOperand(1).isImm() &&
    1726           6 :         MI->getOperand(1).getImm() == 6) {
    1727             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 0 })
    1728             :       AsmString = "bneg,a $\x01";
    1729             :       break;
    1730             :     }
    1731           4 :     if (MI->getNumOperands() == 2 &&
    1732           8 :         MI->getOperand(1).isImm() &&
    1733           4 :         MI->getOperand(1).getImm() == 15) {
    1734             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 1 })
    1735             :       AsmString = "bvc,a $\x01";
    1736             :       break;
    1737             :     }
    1738           2 :     if (MI->getNumOperands() == 2 &&
    1739           4 :         MI->getOperand(1).isImm() &&
    1740           2 :         MI->getOperand(1).getImm() == 7) {
    1741             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 1 })
    1742             :       AsmString = "bvs,a $\x01";
    1743             :       break;
    1744             :     }
    1745             :     return false;
    1746             :   case SP::BPFCCANT:
    1747          15 :     if (MI->getNumOperands() == 3 &&
    1748          30 :         MI->getOperand(1).isImm() &&
    1749          15 :         MI->getOperand(1).getImm() == 8 &&
    1750           0 :         MI->getOperand(2).isReg() &&
    1751          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1752             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1753             :       // (BPFCCANT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1754             :       AsmString = "fba,a,pn $\x03, $\x01";
    1755             :       break;
    1756             :     }
    1757          15 :     if (MI->getNumOperands() == 3 &&
    1758          30 :         MI->getOperand(1).isImm() &&
    1759          15 :         MI->getOperand(1).getImm() == 0 &&
    1760           0 :         MI->getOperand(2).isReg() &&
    1761          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1762             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1763             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1764             :       AsmString = "fbn,a,pn $\x03, $\x01";
    1765             :       break;
    1766             :     }
    1767          15 :     if (MI->getNumOperands() == 3 &&
    1768          30 :         MI->getOperand(1).isImm() &&
    1769          16 :         MI->getOperand(1).getImm() == 7 &&
    1770           2 :         MI->getOperand(2).isReg() &&
    1771          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1772             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1773             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1774             :       AsmString = "fbu,a,pn $\x03, $\x01";
    1775             :       break;
    1776             :     }
    1777          14 :     if (MI->getNumOperands() == 3 &&
    1778          28 :         MI->getOperand(1).isImm() &&
    1779          15 :         MI->getOperand(1).getImm() == 6 &&
    1780           2 :         MI->getOperand(2).isReg() &&
    1781          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1782             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1783             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1784             :       AsmString = "fbg,a,pn $\x03, $\x01";
    1785             :       break;
    1786             :     }
    1787          13 :     if (MI->getNumOperands() == 3 &&
    1788          26 :         MI->getOperand(1).isImm() &&
    1789          14 :         MI->getOperand(1).getImm() == 5 &&
    1790           2 :         MI->getOperand(2).isReg() &&
    1791          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1792             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1793             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1794             :       AsmString = "fbug,a,pn $\x03, $\x01";
    1795             :       break;
    1796             :     }
    1797          12 :     if (MI->getNumOperands() == 3 &&
    1798          24 :         MI->getOperand(1).isImm() &&
    1799          13 :         MI->getOperand(1).getImm() == 4 &&
    1800           2 :         MI->getOperand(2).isReg() &&
    1801          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1802             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1803             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1804             :       AsmString = "fbl,a,pn $\x03, $\x01";
    1805             :       break;
    1806             :     }
    1807          11 :     if (MI->getNumOperands() == 3 &&
    1808          22 :         MI->getOperand(1).isImm() &&
    1809          12 :         MI->getOperand(1).getImm() == 3 &&
    1810           2 :         MI->getOperand(2).isReg() &&
    1811          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1812             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1813             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1814             :       AsmString = "fbul,a,pn $\x03, $\x01";
    1815             :       break;
    1816             :     }
    1817          10 :     if (MI->getNumOperands() == 3 &&
    1818          20 :         MI->getOperand(1).isImm() &&
    1819          11 :         MI->getOperand(1).getImm() == 2 &&
    1820           2 :         MI->getOperand(2).isReg() &&
    1821          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1822             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1823             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1824             :       AsmString = "fblg,a,pn $\x03, $\x01";
    1825             :       break;
    1826             :     }
    1827           9 :     if (MI->getNumOperands() == 3 &&
    1828          18 :         MI->getOperand(1).isImm() &&
    1829          11 :         MI->getOperand(1).getImm() == 1 &&
    1830           4 :         MI->getOperand(2).isReg() &&
    1831          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1832             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1833             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    1834             :       AsmString = "fbne,a,pn $\x03, $\x01";
    1835             :       break;
    1836             :     }
    1837           7 :     if (MI->getNumOperands() == 3 &&
    1838          14 :         MI->getOperand(1).isImm() &&
    1839           8 :         MI->getOperand(1).getImm() == 9 &&
    1840           2 :         MI->getOperand(2).isReg() &&
    1841           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1842             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1843             :       // (BPFCCANT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    1844             :       AsmString = "fbe,a,pn $\x03, $\x01";
    1845             :       break;
    1846             :     }
    1847           6 :     if (MI->getNumOperands() == 3 &&
    1848          12 :         MI->getOperand(1).isImm() &&
    1849           7 :         MI->getOperand(1).getImm() == 10 &&
    1850           2 :         MI->getOperand(2).isReg() &&
    1851           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1852             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1853             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    1854             :       AsmString = "fbue,a,pn $\x03, $\x01";
    1855             :       break;
    1856             :     }
    1857           5 :     if (MI->getNumOperands() == 3 &&
    1858          10 :         MI->getOperand(1).isImm() &&
    1859           6 :         MI->getOperand(1).getImm() == 11 &&
    1860           2 :         MI->getOperand(2).isReg() &&
    1861           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1862             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1863             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    1864             :       AsmString = "fbge,a,pn $\x03, $\x01";
    1865             :       break;
    1866             :     }
    1867           4 :     if (MI->getNumOperands() == 3 &&
    1868           8 :         MI->getOperand(1).isImm() &&
    1869           5 :         MI->getOperand(1).getImm() == 12 &&
    1870           2 :         MI->getOperand(2).isReg() &&
    1871           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1872             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1873             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    1874             :       AsmString = "fbuge,a,pn $\x03, $\x01";
    1875             :       break;
    1876             :     }
    1877           3 :     if (MI->getNumOperands() == 3 &&
    1878           6 :         MI->getOperand(1).isImm() &&
    1879           4 :         MI->getOperand(1).getImm() == 13 &&
    1880           2 :         MI->getOperand(2).isReg() &&
    1881           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1882             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1883             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    1884             :       AsmString = "fble,a,pn $\x03, $\x01";
    1885             :       break;
    1886             :     }
    1887           2 :     if (MI->getNumOperands() == 3 &&
    1888           4 :         MI->getOperand(1).isImm() &&
    1889           3 :         MI->getOperand(1).getImm() == 14 &&
    1890           2 :         MI->getOperand(2).isReg() &&
    1891           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1892             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1893             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    1894             :       AsmString = "fbule,a,pn $\x03, $\x01";
    1895             :       break;
    1896             :     }
    1897           1 :     if (MI->getNumOperands() == 3 &&
    1898           2 :         MI->getOperand(1).isImm() &&
    1899           2 :         MI->getOperand(1).getImm() == 15 &&
    1900           2 :         MI->getOperand(2).isReg() &&
    1901           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1902             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1903             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    1904             :       AsmString = "fbo,a,pn $\x03, $\x01";
    1905             :       break;
    1906             :     }
    1907             :     return false;
    1908             :   case SP::BPFCCNT:
    1909          15 :     if (MI->getNumOperands() == 3 &&
    1910          30 :         MI->getOperand(1).isImm() &&
    1911          15 :         MI->getOperand(1).getImm() == 8 &&
    1912           0 :         MI->getOperand(2).isReg() &&
    1913          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1914             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1915             :       // (BPFCCNT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1916             :       AsmString = "fba,pn $\x03, $\x01";
    1917             :       break;
    1918             :     }
    1919          15 :     if (MI->getNumOperands() == 3 &&
    1920          30 :         MI->getOperand(1).isImm() &&
    1921          15 :         MI->getOperand(1).getImm() == 0 &&
    1922           0 :         MI->getOperand(2).isReg() &&
    1923          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1924             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1925             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1926             :       AsmString = "fbn,pn $\x03, $\x01";
    1927             :       break;
    1928             :     }
    1929          15 :     if (MI->getNumOperands() == 3 &&
    1930          30 :         MI->getOperand(1).isImm() &&
    1931          16 :         MI->getOperand(1).getImm() == 7 &&
    1932           2 :         MI->getOperand(2).isReg() &&
    1933          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1934             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1935             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1936             :       AsmString = "fbu,pn $\x03, $\x01";
    1937             :       break;
    1938             :     }
    1939          14 :     if (MI->getNumOperands() == 3 &&
    1940          28 :         MI->getOperand(1).isImm() &&
    1941          15 :         MI->getOperand(1).getImm() == 6 &&
    1942           2 :         MI->getOperand(2).isReg() &&
    1943          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1944             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1945             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1946             :       AsmString = "fbg,pn $\x03, $\x01";
    1947             :       break;
    1948             :     }
    1949          13 :     if (MI->getNumOperands() == 3 &&
    1950          26 :         MI->getOperand(1).isImm() &&
    1951          14 :         MI->getOperand(1).getImm() == 5 &&
    1952           2 :         MI->getOperand(2).isReg() &&
    1953          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1954             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1955             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1956             :       AsmString = "fbug,pn $\x03, $\x01";
    1957             :       break;
    1958             :     }
    1959          12 :     if (MI->getNumOperands() == 3 &&
    1960          24 :         MI->getOperand(1).isImm() &&
    1961          13 :         MI->getOperand(1).getImm() == 4 &&
    1962           2 :         MI->getOperand(2).isReg() &&
    1963          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1964             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1965             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1966             :       AsmString = "fbl,pn $\x03, $\x01";
    1967             :       break;
    1968             :     }
    1969          11 :     if (MI->getNumOperands() == 3 &&
    1970          22 :         MI->getOperand(1).isImm() &&
    1971          12 :         MI->getOperand(1).getImm() == 3 &&
    1972           2 :         MI->getOperand(2).isReg() &&
    1973          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1974             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1975             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1976             :       AsmString = "fbul,pn $\x03, $\x01";
    1977             :       break;
    1978             :     }
    1979          10 :     if (MI->getNumOperands() == 3 &&
    1980          20 :         MI->getOperand(1).isImm() &&
    1981          11 :         MI->getOperand(1).getImm() == 2 &&
    1982           2 :         MI->getOperand(2).isReg() &&
    1983          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1984             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1985             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1986             :       AsmString = "fblg,pn $\x03, $\x01";
    1987             :       break;
    1988             :     }
    1989           9 :     if (MI->getNumOperands() == 3 &&
    1990          18 :         MI->getOperand(1).isImm() &&
    1991          10 :         MI->getOperand(1).getImm() == 1 &&
    1992           2 :         MI->getOperand(2).isReg() &&
    1993          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1994             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1995             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    1996             :       AsmString = "fbne,pn $\x03, $\x01";
    1997             :       break;
    1998             :     }
    1999           8 :     if (MI->getNumOperands() == 3 &&
    2000          16 :         MI->getOperand(1).isImm() &&
    2001           9 :         MI->getOperand(1).getImm() == 9 &&
    2002           2 :         MI->getOperand(2).isReg() &&
    2003          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2004             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2005             :       // (BPFCCNT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    2006             :       AsmString = "fbe,pn $\x03, $\x01";
    2007             :       break;
    2008             :     }
    2009           7 :     if (MI->getNumOperands() == 3 &&
    2010          14 :         MI->getOperand(1).isImm() &&
    2011           9 :         MI->getOperand(1).getImm() == 10 &&
    2012           4 :         MI->getOperand(2).isReg() &&
    2013          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2015             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    2016             :       AsmString = "fbue,pn $\x03, $\x01";
    2017             :       break;
    2018             :     }
    2019           5 :     if (MI->getNumOperands() == 3 &&
    2020          10 :         MI->getOperand(1).isImm() &&
    2021           6 :         MI->getOperand(1).getImm() == 11 &&
    2022           2 :         MI->getOperand(2).isReg() &&
    2023           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2024             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2025             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    2026             :       AsmString = "fbge,pn $\x03, $\x01";
    2027             :       break;
    2028             :     }
    2029           4 :     if (MI->getNumOperands() == 3 &&
    2030           8 :         MI->getOperand(1).isImm() &&
    2031           5 :         MI->getOperand(1).getImm() == 12 &&
    2032           2 :         MI->getOperand(2).isReg() &&
    2033           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2034             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2035             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    2036             :       AsmString = "fbuge,pn $\x03, $\x01";
    2037             :       break;
    2038             :     }
    2039           3 :     if (MI->getNumOperands() == 3 &&
    2040           6 :         MI->getOperand(1).isImm() &&
    2041           4 :         MI->getOperand(1).getImm() == 13 &&
    2042           2 :         MI->getOperand(2).isReg() &&
    2043           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2044             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2045             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    2046             :       AsmString = "fble,pn $\x03, $\x01";
    2047             :       break;
    2048             :     }
    2049           2 :     if (MI->getNumOperands() == 3 &&
    2050           4 :         MI->getOperand(1).isImm() &&
    2051           3 :         MI->getOperand(1).getImm() == 14 &&
    2052           2 :         MI->getOperand(2).isReg() &&
    2053           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2054             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2055             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    2056             :       AsmString = "fbule,pn $\x03, $\x01";
    2057             :       break;
    2058             :     }
    2059           1 :     if (MI->getNumOperands() == 3 &&
    2060           2 :         MI->getOperand(1).isImm() &&
    2061           2 :         MI->getOperand(1).getImm() == 15 &&
    2062           2 :         MI->getOperand(2).isReg() &&
    2063           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2064             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2065             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    2066             :       AsmString = "fbo,pn $\x03, $\x01";
    2067             :       break;
    2068             :     }
    2069             :     return false;
    2070             :   case SP::BPICCANT:
    2071          14 :     if (MI->getNumOperands() == 2 &&
    2072          28 :         MI->getOperand(1).isImm() &&
    2073          28 :         MI->getOperand(1).getImm() == 8 &&
    2074             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2075             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 0 })
    2076             :       AsmString = "ba,a,pn %icc, $\x01";
    2077             :       break;
    2078             :     }
    2079          14 :     if (MI->getNumOperands() == 2 &&
    2080          28 :         MI->getOperand(1).isImm() &&
    2081          28 :         MI->getOperand(1).getImm() == 0 &&
    2082             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2083             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 0 })
    2084             :       AsmString = "bn,a,pn %icc, $\x01";
    2085             :       break;
    2086             :     }
    2087          14 :     if (MI->getNumOperands() == 2 &&
    2088          28 :         MI->getOperand(1).isImm() &&
    2089          29 :         MI->getOperand(1).getImm() == 9 &&
    2090             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2091             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 1 })
    2092             :       AsmString = "bne,a,pn %icc, $\x01";
    2093             :       break;
    2094             :     }
    2095          13 :     if (MI->getNumOperands() == 2 &&
    2096          26 :         MI->getOperand(1).isImm() &&
    2097          27 :         MI->getOperand(1).getImm() == 1 &&
    2098             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2099             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 1 })
    2100             :       AsmString = "be,a,pn %icc, $\x01";
    2101             :       break;
    2102             :     }
    2103          12 :     if (MI->getNumOperands() == 2 &&
    2104          24 :         MI->getOperand(1).isImm() &&
    2105          25 :         MI->getOperand(1).getImm() == 10 &&
    2106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2107             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 0 })
    2108             :       AsmString = "bg,a,pn %icc, $\x01";
    2109             :       break;
    2110             :     }
    2111          11 :     if (MI->getNumOperands() == 2 &&
    2112          22 :         MI->getOperand(1).isImm() &&
    2113          23 :         MI->getOperand(1).getImm() == 2 &&
    2114             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2115             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 0 })
    2116             :       AsmString = "ble,a,pn %icc, $\x01";
    2117             :       break;
    2118             :     }
    2119          10 :     if (MI->getNumOperands() == 2 &&
    2120          20 :         MI->getOperand(1).isImm() &&
    2121          21 :         MI->getOperand(1).getImm() == 11 &&
    2122             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2123             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 1 })
    2124             :       AsmString = "bge,a,pn %icc, $\x01";
    2125             :       break;
    2126             :     }
    2127           9 :     if (MI->getNumOperands() == 2 &&
    2128          18 :         MI->getOperand(1).isImm() &&
    2129          19 :         MI->getOperand(1).getImm() == 3 &&
    2130             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2131             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 1 })
    2132             :       AsmString = "bl,a,pn %icc, $\x01";
    2133             :       break;
    2134             :     }
    2135           8 :     if (MI->getNumOperands() == 2 &&
    2136          16 :         MI->getOperand(1).isImm() &&
    2137          17 :         MI->getOperand(1).getImm() == 12 &&
    2138             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2139             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 0 })
    2140             :       AsmString = "bgu,a,pn %icc, $\x01";
    2141             :       break;
    2142             :     }
    2143           7 :     if (MI->getNumOperands() == 2 &&
    2144          14 :         MI->getOperand(1).isImm() &&
    2145          15 :         MI->getOperand(1).getImm() == 4 &&
    2146             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2147             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 0 })
    2148             :       AsmString = "bleu,a,pn %icc, $\x01";
    2149             :       break;
    2150             :     }
    2151           6 :     if (MI->getNumOperands() == 2 &&
    2152          12 :         MI->getOperand(1).isImm() &&
    2153          13 :         MI->getOperand(1).getImm() == 13 &&
    2154             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2155             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 1 })
    2156             :       AsmString = "bcc,a,pn %icc, $\x01";
    2157             :       break;
    2158             :     }
    2159           5 :     if (MI->getNumOperands() == 2 &&
    2160          10 :         MI->getOperand(1).isImm() &&
    2161          11 :         MI->getOperand(1).getImm() == 5 &&
    2162             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2163             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 1 })
    2164             :       AsmString = "bcs,a,pn %icc, $\x01";
    2165             :       break;
    2166             :     }
    2167           4 :     if (MI->getNumOperands() == 2 &&
    2168           8 :         MI->getOperand(1).isImm() &&
    2169           9 :         MI->getOperand(1).getImm() == 14 &&
    2170             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2171             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 0 })
    2172             :       AsmString = "bpos,a,pn %icc, $\x01";
    2173             :       break;
    2174             :     }
    2175           3 :     if (MI->getNumOperands() == 2 &&
    2176           6 :         MI->getOperand(1).isImm() &&
    2177           7 :         MI->getOperand(1).getImm() == 6 &&
    2178             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2179             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 0 })
    2180             :       AsmString = "bneg,a,pn %icc, $\x01";
    2181             :       break;
    2182             :     }
    2183           2 :     if (MI->getNumOperands() == 2 &&
    2184           4 :         MI->getOperand(1).isImm() &&
    2185           5 :         MI->getOperand(1).getImm() == 15 &&
    2186             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2187             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 1 })
    2188             :       AsmString = "bvc,a,pn %icc, $\x01";
    2189             :       break;
    2190             :     }
    2191           1 :     if (MI->getNumOperands() == 2 &&
    2192           2 :         MI->getOperand(1).isImm() &&
    2193           3 :         MI->getOperand(1).getImm() == 7 &&
    2194             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2195             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 1 })
    2196             :       AsmString = "bvs,a,pn %icc, $\x01";
    2197             :       break;
    2198             :     }
    2199             :     return false;
    2200             :   case SP::BPICCNT:
    2201          14 :     if (MI->getNumOperands() == 2 &&
    2202          28 :         MI->getOperand(1).isImm() &&
    2203          28 :         MI->getOperand(1).getImm() == 8 &&
    2204             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2205             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 0 })
    2206             :       AsmString = "ba,pn %icc, $\x01";
    2207             :       break;
    2208             :     }
    2209          14 :     if (MI->getNumOperands() == 2 &&
    2210          28 :         MI->getOperand(1).isImm() &&
    2211          28 :         MI->getOperand(1).getImm() == 0 &&
    2212             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2213             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 0 })
    2214             :       AsmString = "bn,pn %icc, $\x01";
    2215             :       break;
    2216             :     }
    2217          14 :     if (MI->getNumOperands() == 2 &&
    2218          28 :         MI->getOperand(1).isImm() &&
    2219          29 :         MI->getOperand(1).getImm() == 9 &&
    2220             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2221             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 1 })
    2222             :       AsmString = "bne,pn %icc, $\x01";
    2223             :       break;
    2224             :     }
    2225          13 :     if (MI->getNumOperands() == 2 &&
    2226          26 :         MI->getOperand(1).isImm() &&
    2227          27 :         MI->getOperand(1).getImm() == 1 &&
    2228             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2229             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 1 })
    2230             :       AsmString = "be,pn %icc, $\x01";
    2231             :       break;
    2232             :     }
    2233          12 :     if (MI->getNumOperands() == 2 &&
    2234          24 :         MI->getOperand(1).isImm() &&
    2235          25 :         MI->getOperand(1).getImm() == 10 &&
    2236             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2237             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 0 })
    2238             :       AsmString = "bg,pn %icc, $\x01";
    2239             :       break;
    2240             :     }
    2241          11 :     if (MI->getNumOperands() == 2 &&
    2242          22 :         MI->getOperand(1).isImm() &&
    2243          23 :         MI->getOperand(1).getImm() == 2 &&
    2244             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2245             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 0 })
    2246             :       AsmString = "ble,pn %icc, $\x01";
    2247             :       break;
    2248             :     }
    2249          10 :     if (MI->getNumOperands() == 2 &&
    2250          20 :         MI->getOperand(1).isImm() &&
    2251          21 :         MI->getOperand(1).getImm() == 11 &&
    2252             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2253             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 1 })
    2254             :       AsmString = "bge,pn %icc, $\x01";
    2255             :       break;
    2256             :     }
    2257           9 :     if (MI->getNumOperands() == 2 &&
    2258          18 :         MI->getOperand(1).isImm() &&
    2259          19 :         MI->getOperand(1).getImm() == 3 &&
    2260             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2261             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 1 })
    2262             :       AsmString = "bl,pn %icc, $\x01";
    2263             :       break;
    2264             :     }
    2265           8 :     if (MI->getNumOperands() == 2 &&
    2266          16 :         MI->getOperand(1).isImm() &&
    2267          17 :         MI->getOperand(1).getImm() == 12 &&
    2268             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2269             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 0 })
    2270             :       AsmString = "bgu,pn %icc, $\x01";
    2271             :       break;
    2272             :     }
    2273           7 :     if (MI->getNumOperands() == 2 &&
    2274          14 :         MI->getOperand(1).isImm() &&
    2275          15 :         MI->getOperand(1).getImm() == 4 &&
    2276             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2277             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 0 })
    2278             :       AsmString = "bleu,pn %icc, $\x01";
    2279             :       break;
    2280             :     }
    2281           6 :     if (MI->getNumOperands() == 2 &&
    2282          12 :         MI->getOperand(1).isImm() &&
    2283          13 :         MI->getOperand(1).getImm() == 13 &&
    2284             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2285             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 1 })
    2286             :       AsmString = "bcc,pn %icc, $\x01";
    2287             :       break;
    2288             :     }
    2289           5 :     if (MI->getNumOperands() == 2 &&
    2290          10 :         MI->getOperand(1).isImm() &&
    2291          11 :         MI->getOperand(1).getImm() == 5 &&
    2292             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2293             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 1 })
    2294             :       AsmString = "bcs,pn %icc, $\x01";
    2295             :       break;
    2296             :     }
    2297           4 :     if (MI->getNumOperands() == 2 &&
    2298           8 :         MI->getOperand(1).isImm() &&
    2299           9 :         MI->getOperand(1).getImm() == 14 &&
    2300             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2301             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 0 })
    2302             :       AsmString = "bpos,pn %icc, $\x01";
    2303             :       break;
    2304             :     }
    2305           3 :     if (MI->getNumOperands() == 2 &&
    2306           6 :         MI->getOperand(1).isImm() &&
    2307           7 :         MI->getOperand(1).getImm() == 6 &&
    2308             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2309             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 0 })
    2310             :       AsmString = "bneg,pn %icc, $\x01";
    2311             :       break;
    2312             :     }
    2313           2 :     if (MI->getNumOperands() == 2 &&
    2314           4 :         MI->getOperand(1).isImm() &&
    2315           5 :         MI->getOperand(1).getImm() == 15 &&
    2316             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2317             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 1 })
    2318             :       AsmString = "bvc,pn %icc, $\x01";
    2319             :       break;
    2320             :     }
    2321           1 :     if (MI->getNumOperands() == 2 &&
    2322           2 :         MI->getOperand(1).isImm() &&
    2323           3 :         MI->getOperand(1).getImm() == 7 &&
    2324             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2325             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 1 })
    2326             :       AsmString = "bvs,pn %icc, $\x01";
    2327             :       break;
    2328             :     }
    2329             :     return false;
    2330             :   case SP::BPXCCANT:
    2331          14 :     if (MI->getNumOperands() == 2 &&
    2332          28 :         MI->getOperand(1).isImm() &&
    2333          14 :         MI->getOperand(1).getImm() == 8) {
    2334             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 0 })
    2335             :       AsmString = "ba,a,pn %xcc, $\x01";
    2336             :       break;
    2337             :     }
    2338          14 :     if (MI->getNumOperands() == 2 &&
    2339          28 :         MI->getOperand(1).isImm() &&
    2340          14 :         MI->getOperand(1).getImm() == 0) {
    2341             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 0 })
    2342             :       AsmString = "bn,a,pn %xcc, $\x01";
    2343             :       break;
    2344             :     }
    2345          14 :     if (MI->getNumOperands() == 2 &&
    2346          28 :         MI->getOperand(1).isImm() &&
    2347          14 :         MI->getOperand(1).getImm() == 9) {
    2348             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 1 })
    2349             :       AsmString = "bne,a,pn %xcc, $\x01";
    2350             :       break;
    2351             :     }
    2352          13 :     if (MI->getNumOperands() == 2 &&
    2353          26 :         MI->getOperand(1).isImm() &&
    2354          13 :         MI->getOperand(1).getImm() == 1) {
    2355             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 1 })
    2356             :       AsmString = "be,a,pn %xcc, $\x01";
    2357             :       break;
    2358             :     }
    2359          12 :     if (MI->getNumOperands() == 2 &&
    2360          24 :         MI->getOperand(1).isImm() &&
    2361          12 :         MI->getOperand(1).getImm() == 10) {
    2362             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 0 })
    2363             :       AsmString = "bg,a,pn %xcc, $\x01";
    2364             :       break;
    2365             :     }
    2366          11 :     if (MI->getNumOperands() == 2 &&
    2367          22 :         MI->getOperand(1).isImm() &&
    2368          11 :         MI->getOperand(1).getImm() == 2) {
    2369             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 0 })
    2370             :       AsmString = "ble,a,pn %xcc, $\x01";
    2371             :       break;
    2372             :     }
    2373          10 :     if (MI->getNumOperands() == 2 &&
    2374          20 :         MI->getOperand(1).isImm() &&
    2375          10 :         MI->getOperand(1).getImm() == 11) {
    2376             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 1 })
    2377             :       AsmString = "bge,a,pn %xcc, $\x01";
    2378             :       break;
    2379             :     }
    2380           9 :     if (MI->getNumOperands() == 2 &&
    2381          18 :         MI->getOperand(1).isImm() &&
    2382           9 :         MI->getOperand(1).getImm() == 3) {
    2383             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 1 })
    2384             :       AsmString = "bl,a,pn %xcc, $\x01";
    2385             :       break;
    2386             :     }
    2387           8 :     if (MI->getNumOperands() == 2 &&
    2388          16 :         MI->getOperand(1).isImm() &&
    2389           8 :         MI->getOperand(1).getImm() == 12) {
    2390             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 0 })
    2391             :       AsmString = "bgu,a,pn %xcc, $\x01";
    2392             :       break;
    2393             :     }
    2394           7 :     if (MI->getNumOperands() == 2 &&
    2395          14 :         MI->getOperand(1).isImm() &&
    2396           7 :         MI->getOperand(1).getImm() == 4) {
    2397             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 0 })
    2398             :       AsmString = "bleu,a,pn %xcc, $\x01";
    2399             :       break;
    2400             :     }
    2401           6 :     if (MI->getNumOperands() == 2 &&
    2402          12 :         MI->getOperand(1).isImm() &&
    2403           6 :         MI->getOperand(1).getImm() == 13) {
    2404             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 1 })
    2405             :       AsmString = "bcc,a,pn %xcc, $\x01";
    2406             :       break;
    2407             :     }
    2408           5 :     if (MI->getNumOperands() == 2 &&
    2409          10 :         MI->getOperand(1).isImm() &&
    2410           5 :         MI->getOperand(1).getImm() == 5) {
    2411             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 1 })
    2412             :       AsmString = "bcs,a,pn %xcc, $\x01";
    2413             :       break;
    2414             :     }
    2415           4 :     if (MI->getNumOperands() == 2 &&
    2416           8 :         MI->getOperand(1).isImm() &&
    2417           4 :         MI->getOperand(1).getImm() == 14) {
    2418             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 0 })
    2419             :       AsmString = "bpos,a,pn %xcc, $\x01";
    2420             :       break;
    2421             :     }
    2422           3 :     if (MI->getNumOperands() == 2 &&
    2423           6 :         MI->getOperand(1).isImm() &&
    2424           3 :         MI->getOperand(1).getImm() == 6) {
    2425             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 0 })
    2426             :       AsmString = "bneg,a,pn %xcc, $\x01";
    2427             :       break;
    2428             :     }
    2429           2 :     if (MI->getNumOperands() == 2 &&
    2430           4 :         MI->getOperand(1).isImm() &&
    2431           2 :         MI->getOperand(1).getImm() == 15) {
    2432             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 1 })
    2433             :       AsmString = "bvc,a,pn %xcc, $\x01";
    2434             :       break;
    2435             :     }
    2436           1 :     if (MI->getNumOperands() == 2 &&
    2437           2 :         MI->getOperand(1).isImm() &&
    2438           1 :         MI->getOperand(1).getImm() == 7) {
    2439             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 1 })
    2440             :       AsmString = "bvs,a,pn %xcc, $\x01";
    2441             :       break;
    2442             :     }
    2443             :     return false;
    2444             :   case SP::BPXCCNT:
    2445          14 :     if (MI->getNumOperands() == 2 &&
    2446          28 :         MI->getOperand(1).isImm() &&
    2447          14 :         MI->getOperand(1).getImm() == 8) {
    2448             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 0 })
    2449             :       AsmString = "ba,pn %xcc, $\x01";
    2450             :       break;
    2451             :     }
    2452          14 :     if (MI->getNumOperands() == 2 &&
    2453          28 :         MI->getOperand(1).isImm() &&
    2454          14 :         MI->getOperand(1).getImm() == 0) {
    2455             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 0 })
    2456             :       AsmString = "bn,pn %xcc, $\x01";
    2457             :       break;
    2458             :     }
    2459          14 :     if (MI->getNumOperands() == 2 &&
    2460          28 :         MI->getOperand(1).isImm() &&
    2461          14 :         MI->getOperand(1).getImm() == 9) {
    2462             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 1 })
    2463             :       AsmString = "bne,pn %xcc, $\x01";
    2464             :       break;
    2465             :     }
    2466          13 :     if (MI->getNumOperands() == 2 &&
    2467          26 :         MI->getOperand(1).isImm() &&
    2468          13 :         MI->getOperand(1).getImm() == 1) {
    2469             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 1 })
    2470             :       AsmString = "be,pn %xcc, $\x01";
    2471             :       break;
    2472             :     }
    2473          12 :     if (MI->getNumOperands() == 2 &&
    2474          24 :         MI->getOperand(1).isImm() &&
    2475          12 :         MI->getOperand(1).getImm() == 10) {
    2476             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 0 })
    2477             :       AsmString = "bg,pn %xcc, $\x01";
    2478             :       break;
    2479             :     }
    2480          11 :     if (MI->getNumOperands() == 2 &&
    2481          22 :         MI->getOperand(1).isImm() &&
    2482          11 :         MI->getOperand(1).getImm() == 2) {
    2483             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 0 })
    2484             :       AsmString = "ble,pn %xcc, $\x01";
    2485             :       break;
    2486             :     }
    2487          10 :     if (MI->getNumOperands() == 2 &&
    2488          20 :         MI->getOperand(1).isImm() &&
    2489          10 :         MI->getOperand(1).getImm() == 11) {
    2490             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 1 })
    2491             :       AsmString = "bge,pn %xcc, $\x01";
    2492             :       break;
    2493             :     }
    2494           9 :     if (MI->getNumOperands() == 2 &&
    2495          18 :         MI->getOperand(1).isImm() &&
    2496           9 :         MI->getOperand(1).getImm() == 3) {
    2497             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 1 })
    2498             :       AsmString = "bl,pn %xcc, $\x01";
    2499             :       break;
    2500             :     }
    2501           8 :     if (MI->getNumOperands() == 2 &&
    2502          16 :         MI->getOperand(1).isImm() &&
    2503           8 :         MI->getOperand(1).getImm() == 12) {
    2504             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 0 })
    2505             :       AsmString = "bgu,pn %xcc, $\x01";
    2506             :       break;
    2507             :     }
    2508           7 :     if (MI->getNumOperands() == 2 &&
    2509          14 :         MI->getOperand(1).isImm() &&
    2510           7 :         MI->getOperand(1).getImm() == 4) {
    2511             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 0 })
    2512             :       AsmString = "bleu,pn %xcc, $\x01";
    2513             :       break;
    2514             :     }
    2515           6 :     if (MI->getNumOperands() == 2 &&
    2516          12 :         MI->getOperand(1).isImm() &&
    2517           6 :         MI->getOperand(1).getImm() == 13) {
    2518             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 1 })
    2519             :       AsmString = "bcc,pn %xcc, $\x01";
    2520             :       break;
    2521             :     }
    2522           5 :     if (MI->getNumOperands() == 2 &&
    2523          10 :         MI->getOperand(1).isImm() &&
    2524           5 :         MI->getOperand(1).getImm() == 5) {
    2525             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 1 })
    2526             :       AsmString = "bcs,pn %xcc, $\x01";
    2527             :       break;
    2528             :     }
    2529           4 :     if (MI->getNumOperands() == 2 &&
    2530           8 :         MI->getOperand(1).isImm() &&
    2531           4 :         MI->getOperand(1).getImm() == 14) {
    2532             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 0 })
    2533             :       AsmString = "bpos,pn %xcc, $\x01";
    2534             :       break;
    2535             :     }
    2536           3 :     if (MI->getNumOperands() == 2 &&
    2537           6 :         MI->getOperand(1).isImm() &&
    2538           3 :         MI->getOperand(1).getImm() == 6) {
    2539             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 0 })
    2540             :       AsmString = "bneg,pn %xcc, $\x01";
    2541             :       break;
    2542             :     }
    2543           2 :     if (MI->getNumOperands() == 2 &&
    2544           4 :         MI->getOperand(1).isImm() &&
    2545           2 :         MI->getOperand(1).getImm() == 15) {
    2546             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 1 })
    2547             :       AsmString = "bvc,pn %xcc, $\x01";
    2548             :       break;
    2549             :     }
    2550           1 :     if (MI->getNumOperands() == 2 &&
    2551           2 :         MI->getOperand(1).isImm() &&
    2552           1 :         MI->getOperand(1).getImm() == 7) {
    2553             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 1 })
    2554             :       AsmString = "bvs,pn %xcc, $\x01";
    2555             :       break;
    2556             :     }
    2557             :     return false;
    2558             :   case SP::FMOVD_ICC:
    2559           2 :     if (MI->getNumOperands() == 4 &&
    2560           4 :         MI->getOperand(0).isReg() &&
    2561           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2562           4 :         MI->getOperand(1).isReg() &&
    2563           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2564           4 :         MI->getOperand(3).isImm() &&
    2565           4 :         MI->getOperand(3).getImm() == 8 &&
    2566             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2567             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2568             :       AsmString = "fmovda %icc, $\x02, $\x01";
    2569             :       break;
    2570             :     }
    2571           2 :     if (MI->getNumOperands() == 4 &&
    2572           4 :         MI->getOperand(0).isReg() &&
    2573           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2574           4 :         MI->getOperand(1).isReg() &&
    2575           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2576           4 :         MI->getOperand(3).isImm() &&
    2577           4 :         MI->getOperand(3).getImm() == 0 &&
    2578             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2579             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2580             :       AsmString = "fmovdn %icc, $\x02, $\x01";
    2581             :       break;
    2582             :     }
    2583           2 :     if (MI->getNumOperands() == 4 &&
    2584           4 :         MI->getOperand(0).isReg() &&
    2585           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2586           4 :         MI->getOperand(1).isReg() &&
    2587           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2588           4 :         MI->getOperand(3).isImm() &&
    2589           4 :         MI->getOperand(3).getImm() == 9 &&
    2590             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2591             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2592             :       AsmString = "fmovdne %icc, $\x02, $\x01";
    2593             :       break;
    2594             :     }
    2595           2 :     if (MI->getNumOperands() == 4 &&
    2596           4 :         MI->getOperand(0).isReg() &&
    2597           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2598           4 :         MI->getOperand(1).isReg() &&
    2599           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2600           4 :         MI->getOperand(3).isImm() &&
    2601           6 :         MI->getOperand(3).getImm() == 1 &&
    2602             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2603             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2604             :       AsmString = "fmovde %icc, $\x02, $\x01";
    2605             :       break;
    2606             :     }
    2607           0 :     if (MI->getNumOperands() == 4 &&
    2608           0 :         MI->getOperand(0).isReg() &&
    2609           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2610           0 :         MI->getOperand(1).isReg() &&
    2611           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2612           0 :         MI->getOperand(3).isImm() &&
    2613           0 :         MI->getOperand(3).getImm() == 10 &&
    2614             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2615             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2616             :       AsmString = "fmovdg %icc, $\x02, $\x01";
    2617             :       break;
    2618             :     }
    2619           0 :     if (MI->getNumOperands() == 4 &&
    2620           0 :         MI->getOperand(0).isReg() &&
    2621           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2622           0 :         MI->getOperand(1).isReg() &&
    2623           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2624           0 :         MI->getOperand(3).isImm() &&
    2625           0 :         MI->getOperand(3).getImm() == 2 &&
    2626             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2627             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2628             :       AsmString = "fmovdle %icc, $\x02, $\x01";
    2629             :       break;
    2630             :     }
    2631           0 :     if (MI->getNumOperands() == 4 &&
    2632           0 :         MI->getOperand(0).isReg() &&
    2633           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2634           0 :         MI->getOperand(1).isReg() &&
    2635           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2636           0 :         MI->getOperand(3).isImm() &&
    2637           0 :         MI->getOperand(3).getImm() == 11 &&
    2638             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2639             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2640             :       AsmString = "fmovdge %icc, $\x02, $\x01";
    2641             :       break;
    2642             :     }
    2643           0 :     if (MI->getNumOperands() == 4 &&
    2644           0 :         MI->getOperand(0).isReg() &&
    2645           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2646           0 :         MI->getOperand(1).isReg() &&
    2647           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2648           0 :         MI->getOperand(3).isImm() &&
    2649           0 :         MI->getOperand(3).getImm() == 3 &&
    2650             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2651             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2652             :       AsmString = "fmovdl %icc, $\x02, $\x01";
    2653             :       break;
    2654             :     }
    2655           0 :     if (MI->getNumOperands() == 4 &&
    2656           0 :         MI->getOperand(0).isReg() &&
    2657           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2658           0 :         MI->getOperand(1).isReg() &&
    2659           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2660           0 :         MI->getOperand(3).isImm() &&
    2661           0 :         MI->getOperand(3).getImm() == 12 &&
    2662             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2663             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2664             :       AsmString = "fmovdgu %icc, $\x02, $\x01";
    2665             :       break;
    2666             :     }
    2667           0 :     if (MI->getNumOperands() == 4 &&
    2668           0 :         MI->getOperand(0).isReg() &&
    2669           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2670           0 :         MI->getOperand(1).isReg() &&
    2671           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2672           0 :         MI->getOperand(3).isImm() &&
    2673           0 :         MI->getOperand(3).getImm() == 4 &&
    2674             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2675             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2676             :       AsmString = "fmovdleu %icc, $\x02, $\x01";
    2677             :       break;
    2678             :     }
    2679           0 :     if (MI->getNumOperands() == 4 &&
    2680           0 :         MI->getOperand(0).isReg() &&
    2681           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2682           0 :         MI->getOperand(1).isReg() &&
    2683           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2684           0 :         MI->getOperand(3).isImm() &&
    2685           0 :         MI->getOperand(3).getImm() == 13 &&
    2686             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2687             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2688             :       AsmString = "fmovdcc %icc, $\x02, $\x01";
    2689             :       break;
    2690             :     }
    2691           0 :     if (MI->getNumOperands() == 4 &&
    2692           0 :         MI->getOperand(0).isReg() &&
    2693           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2694           0 :         MI->getOperand(1).isReg() &&
    2695           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2696           0 :         MI->getOperand(3).isImm() &&
    2697           0 :         MI->getOperand(3).getImm() == 5 &&
    2698             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2699             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2700             :       AsmString = "fmovdcs %icc, $\x02, $\x01";
    2701             :       break;
    2702             :     }
    2703           0 :     if (MI->getNumOperands() == 4 &&
    2704           0 :         MI->getOperand(0).isReg() &&
    2705           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2706           0 :         MI->getOperand(1).isReg() &&
    2707           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2708           0 :         MI->getOperand(3).isImm() &&
    2709           0 :         MI->getOperand(3).getImm() == 14 &&
    2710             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2711             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2712             :       AsmString = "fmovdpos %icc, $\x02, $\x01";
    2713             :       break;
    2714             :     }
    2715           0 :     if (MI->getNumOperands() == 4 &&
    2716           0 :         MI->getOperand(0).isReg() &&
    2717           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2718           0 :         MI->getOperand(1).isReg() &&
    2719           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2720           0 :         MI->getOperand(3).isImm() &&
    2721           0 :         MI->getOperand(3).getImm() == 6 &&
    2722             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2723             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2724             :       AsmString = "fmovdneg %icc, $\x02, $\x01";
    2725             :       break;
    2726             :     }
    2727           0 :     if (MI->getNumOperands() == 4 &&
    2728           0 :         MI->getOperand(0).isReg() &&
    2729           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2730           0 :         MI->getOperand(1).isReg() &&
    2731           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2732           0 :         MI->getOperand(3).isImm() &&
    2733           0 :         MI->getOperand(3).getImm() == 15 &&
    2734             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2735             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2736             :       AsmString = "fmovdvc %icc, $\x02, $\x01";
    2737             :       break;
    2738             :     }
    2739           0 :     if (MI->getNumOperands() == 4 &&
    2740           0 :         MI->getOperand(0).isReg() &&
    2741           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2742           0 :         MI->getOperand(1).isReg() &&
    2743           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2744           0 :         MI->getOperand(3).isImm() &&
    2745           0 :         MI->getOperand(3).getImm() == 7 &&
    2746             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2747             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2748             :       AsmString = "fmovdvs %icc, $\x02, $\x01";
    2749             :       break;
    2750             :     }
    2751             :     return false;
    2752             :   case SP::FMOVD_XCC:
    2753           1 :     if (MI->getNumOperands() == 4 &&
    2754           2 :         MI->getOperand(0).isReg() &&
    2755           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2756           2 :         MI->getOperand(1).isReg() &&
    2757           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2758           3 :         MI->getOperand(3).isImm() &&
    2759           1 :         MI->getOperand(3).getImm() == 8) {
    2760             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2761             :       AsmString = "fmovda %xcc, $\x02, $\x01";
    2762             :       break;
    2763             :     }
    2764           1 :     if (MI->getNumOperands() == 4 &&
    2765           2 :         MI->getOperand(0).isReg() &&
    2766           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2767           2 :         MI->getOperand(1).isReg() &&
    2768           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2769           3 :         MI->getOperand(3).isImm() &&
    2770           1 :         MI->getOperand(3).getImm() == 0) {
    2771             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2772             :       AsmString = "fmovdn %xcc, $\x02, $\x01";
    2773             :       break;
    2774             :     }
    2775           1 :     if (MI->getNumOperands() == 4 &&
    2776           2 :         MI->getOperand(0).isReg() &&
    2777           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2778           2 :         MI->getOperand(1).isReg() &&
    2779           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2780           3 :         MI->getOperand(3).isImm() &&
    2781           1 :         MI->getOperand(3).getImm() == 9) {
    2782             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2783             :       AsmString = "fmovdne %xcc, $\x02, $\x01";
    2784             :       break;
    2785             :     }
    2786           1 :     if (MI->getNumOperands() == 4 &&
    2787           2 :         MI->getOperand(0).isReg() &&
    2788           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2789           2 :         MI->getOperand(1).isReg() &&
    2790           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2791           3 :         MI->getOperand(3).isImm() &&
    2792           1 :         MI->getOperand(3).getImm() == 1) {
    2793             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2794             :       AsmString = "fmovde %xcc, $\x02, $\x01";
    2795             :       break;
    2796             :     }
    2797           1 :     if (MI->getNumOperands() == 4 &&
    2798           2 :         MI->getOperand(0).isReg() &&
    2799           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2800           2 :         MI->getOperand(1).isReg() &&
    2801           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2802           3 :         MI->getOperand(3).isImm() &&
    2803           1 :         MI->getOperand(3).getImm() == 10) {
    2804             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2805             :       AsmString = "fmovdg %xcc, $\x02, $\x01";
    2806             :       break;
    2807             :     }
    2808           0 :     if (MI->getNumOperands() == 4 &&
    2809           0 :         MI->getOperand(0).isReg() &&
    2810           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2811           0 :         MI->getOperand(1).isReg() &&
    2812           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2813           0 :         MI->getOperand(3).isImm() &&
    2814           0 :         MI->getOperand(3).getImm() == 2) {
    2815             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2816             :       AsmString = "fmovdle %xcc, $\x02, $\x01";
    2817             :       break;
    2818             :     }
    2819           0 :     if (MI->getNumOperands() == 4 &&
    2820           0 :         MI->getOperand(0).isReg() &&
    2821           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2822           0 :         MI->getOperand(1).isReg() &&
    2823           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2824           0 :         MI->getOperand(3).isImm() &&
    2825           0 :         MI->getOperand(3).getImm() == 11) {
    2826             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2827             :       AsmString = "fmovdge %xcc, $\x02, $\x01";
    2828             :       break;
    2829             :     }
    2830           0 :     if (MI->getNumOperands() == 4 &&
    2831           0 :         MI->getOperand(0).isReg() &&
    2832           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2833           0 :         MI->getOperand(1).isReg() &&
    2834           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2835           0 :         MI->getOperand(3).isImm() &&
    2836           0 :         MI->getOperand(3).getImm() == 3) {
    2837             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2838             :       AsmString = "fmovdl %xcc, $\x02, $\x01";
    2839             :       break;
    2840             :     }
    2841           0 :     if (MI->getNumOperands() == 4 &&
    2842           0 :         MI->getOperand(0).isReg() &&
    2843           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2844           0 :         MI->getOperand(1).isReg() &&
    2845           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2846           0 :         MI->getOperand(3).isImm() &&
    2847           0 :         MI->getOperand(3).getImm() == 12) {
    2848             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2849             :       AsmString = "fmovdgu %xcc, $\x02, $\x01";
    2850             :       break;
    2851             :     }
    2852           0 :     if (MI->getNumOperands() == 4 &&
    2853           0 :         MI->getOperand(0).isReg() &&
    2854           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2855           0 :         MI->getOperand(1).isReg() &&
    2856           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2857           0 :         MI->getOperand(3).isImm() &&
    2858           0 :         MI->getOperand(3).getImm() == 4) {
    2859             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2860             :       AsmString = "fmovdleu %xcc, $\x02, $\x01";
    2861             :       break;
    2862             :     }
    2863           0 :     if (MI->getNumOperands() == 4 &&
    2864           0 :         MI->getOperand(0).isReg() &&
    2865           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2866           0 :         MI->getOperand(1).isReg() &&
    2867           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2868           0 :         MI->getOperand(3).isImm() &&
    2869           0 :         MI->getOperand(3).getImm() == 13) {
    2870             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2871             :       AsmString = "fmovdcc %xcc, $\x02, $\x01";
    2872             :       break;
    2873             :     }
    2874           0 :     if (MI->getNumOperands() == 4 &&
    2875           0 :         MI->getOperand(0).isReg() &&
    2876           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2877           0 :         MI->getOperand(1).isReg() &&
    2878           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2879           0 :         MI->getOperand(3).isImm() &&
    2880           0 :         MI->getOperand(3).getImm() == 5) {
    2881             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2882             :       AsmString = "fmovdcs %xcc, $\x02, $\x01";
    2883             :       break;
    2884             :     }
    2885           0 :     if (MI->getNumOperands() == 4 &&
    2886           0 :         MI->getOperand(0).isReg() &&
    2887           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2888           0 :         MI->getOperand(1).isReg() &&
    2889           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2890           0 :         MI->getOperand(3).isImm() &&
    2891           0 :         MI->getOperand(3).getImm() == 14) {
    2892             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2893             :       AsmString = "fmovdpos %xcc, $\x02, $\x01";
    2894             :       break;
    2895             :     }
    2896           0 :     if (MI->getNumOperands() == 4 &&
    2897           0 :         MI->getOperand(0).isReg() &&
    2898           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2899           0 :         MI->getOperand(1).isReg() &&
    2900           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2901           0 :         MI->getOperand(3).isImm() &&
    2902           0 :         MI->getOperand(3).getImm() == 6) {
    2903             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2904             :       AsmString = "fmovdneg %xcc, $\x02, $\x01";
    2905             :       break;
    2906             :     }
    2907           0 :     if (MI->getNumOperands() == 4 &&
    2908           0 :         MI->getOperand(0).isReg() &&
    2909           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2910           0 :         MI->getOperand(1).isReg() &&
    2911           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2912           0 :         MI->getOperand(3).isImm() &&
    2913           0 :         MI->getOperand(3).getImm() == 15) {
    2914             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2915             :       AsmString = "fmovdvc %xcc, $\x02, $\x01";
    2916             :       break;
    2917             :     }
    2918           0 :     if (MI->getNumOperands() == 4 &&
    2919           0 :         MI->getOperand(0).isReg() &&
    2920           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2921           0 :         MI->getOperand(1).isReg() &&
    2922           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2923           0 :         MI->getOperand(3).isImm() &&
    2924           0 :         MI->getOperand(3).getImm() == 7) {
    2925             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2926             :       AsmString = "fmovdvs %xcc, $\x02, $\x01";
    2927             :       break;
    2928             :     }
    2929             :     return false;
    2930             :   case SP::FMOVQ_ICC:
    2931           0 :     if (MI->getNumOperands() == 4 &&
    2932           0 :         MI->getOperand(0).isReg() &&
    2933           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2934           0 :         MI->getOperand(1).isReg() &&
    2935           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2936           0 :         MI->getOperand(3).isImm() &&
    2937           0 :         MI->getOperand(3).getImm() == 8 &&
    2938             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2939             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    2940             :       AsmString = "fmovqa %icc, $\x02, $\x01";
    2941             :       break;
    2942             :     }
    2943           0 :     if (MI->getNumOperands() == 4 &&
    2944           0 :         MI->getOperand(0).isReg() &&
    2945           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2946           0 :         MI->getOperand(1).isReg() &&
    2947           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2948           0 :         MI->getOperand(3).isImm() &&
    2949           0 :         MI->getOperand(3).getImm() == 0 &&
    2950             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2951             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    2952             :       AsmString = "fmovqn %icc, $\x02, $\x01";
    2953             :       break;
    2954             :     }
    2955           0 :     if (MI->getNumOperands() == 4 &&
    2956           0 :         MI->getOperand(0).isReg() &&
    2957           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2958           0 :         MI->getOperand(1).isReg() &&
    2959           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2960           0 :         MI->getOperand(3).isImm() &&
    2961           0 :         MI->getOperand(3).getImm() == 9 &&
    2962             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2963             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    2964             :       AsmString = "fmovqne %icc, $\x02, $\x01";
    2965             :       break;
    2966             :     }
    2967           0 :     if (MI->getNumOperands() == 4 &&
    2968           0 :         MI->getOperand(0).isReg() &&
    2969           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2970           0 :         MI->getOperand(1).isReg() &&
    2971           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2972           0 :         MI->getOperand(3).isImm() &&
    2973           0 :         MI->getOperand(3).getImm() == 1 &&
    2974             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2975             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    2976             :       AsmString = "fmovqe %icc, $\x02, $\x01";
    2977             :       break;
    2978             :     }
    2979           0 :     if (MI->getNumOperands() == 4 &&
    2980           0 :         MI->getOperand(0).isReg() &&
    2981           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2982           0 :         MI->getOperand(1).isReg() &&
    2983           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2984           0 :         MI->getOperand(3).isImm() &&
    2985           0 :         MI->getOperand(3).getImm() == 10 &&
    2986             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2987             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    2988             :       AsmString = "fmovqg %icc, $\x02, $\x01";
    2989             :       break;
    2990             :     }
    2991           0 :     if (MI->getNumOperands() == 4 &&
    2992           0 :         MI->getOperand(0).isReg() &&
    2993           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2994           0 :         MI->getOperand(1).isReg() &&
    2995           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2996           0 :         MI->getOperand(3).isImm() &&
    2997           0 :         MI->getOperand(3).getImm() == 2 &&
    2998             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2999             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3000             :       AsmString = "fmovqle %icc, $\x02, $\x01";
    3001             :       break;
    3002             :     }
    3003           0 :     if (MI->getNumOperands() == 4 &&
    3004           0 :         MI->getOperand(0).isReg() &&
    3005           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3006           0 :         MI->getOperand(1).isReg() &&
    3007           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3008           0 :         MI->getOperand(3).isImm() &&
    3009           0 :         MI->getOperand(3).getImm() == 11 &&
    3010             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3011             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3012             :       AsmString = "fmovqge %icc, $\x02, $\x01";
    3013             :       break;
    3014             :     }
    3015           0 :     if (MI->getNumOperands() == 4 &&
    3016           0 :         MI->getOperand(0).isReg() &&
    3017           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3018           0 :         MI->getOperand(1).isReg() &&
    3019           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3020           0 :         MI->getOperand(3).isImm() &&
    3021           0 :         MI->getOperand(3).getImm() == 3 &&
    3022             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3023             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3024             :       AsmString = "fmovql %icc, $\x02, $\x01";
    3025             :       break;
    3026             :     }
    3027           0 :     if (MI->getNumOperands() == 4 &&
    3028           0 :         MI->getOperand(0).isReg() &&
    3029           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3030           0 :         MI->getOperand(1).isReg() &&
    3031           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3032           0 :         MI->getOperand(3).isImm() &&
    3033           0 :         MI->getOperand(3).getImm() == 12 &&
    3034             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3035             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3036             :       AsmString = "fmovqgu %icc, $\x02, $\x01";
    3037             :       break;
    3038             :     }
    3039           0 :     if (MI->getNumOperands() == 4 &&
    3040           0 :         MI->getOperand(0).isReg() &&
    3041           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3042           0 :         MI->getOperand(1).isReg() &&
    3043           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3044           0 :         MI->getOperand(3).isImm() &&
    3045           0 :         MI->getOperand(3).getImm() == 4 &&
    3046             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3047             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3048             :       AsmString = "fmovqleu %icc, $\x02, $\x01";
    3049             :       break;
    3050             :     }
    3051           0 :     if (MI->getNumOperands() == 4 &&
    3052           0 :         MI->getOperand(0).isReg() &&
    3053           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3054           0 :         MI->getOperand(1).isReg() &&
    3055           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3056           0 :         MI->getOperand(3).isImm() &&
    3057           0 :         MI->getOperand(3).getImm() == 13 &&
    3058             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3059             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3060             :       AsmString = "fmovqcc %icc, $\x02, $\x01";
    3061             :       break;
    3062             :     }
    3063           0 :     if (MI->getNumOperands() == 4 &&
    3064           0 :         MI->getOperand(0).isReg() &&
    3065           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3066           0 :         MI->getOperand(1).isReg() &&
    3067           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3068           0 :         MI->getOperand(3).isImm() &&
    3069           0 :         MI->getOperand(3).getImm() == 5 &&
    3070             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3071             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3072             :       AsmString = "fmovqcs %icc, $\x02, $\x01";
    3073             :       break;
    3074             :     }
    3075           0 :     if (MI->getNumOperands() == 4 &&
    3076           0 :         MI->getOperand(0).isReg() &&
    3077           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3078           0 :         MI->getOperand(1).isReg() &&
    3079           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3080           0 :         MI->getOperand(3).isImm() &&
    3081           0 :         MI->getOperand(3).getImm() == 14 &&
    3082             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3083             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3084             :       AsmString = "fmovqpos %icc, $\x02, $\x01";
    3085             :       break;
    3086             :     }
    3087           0 :     if (MI->getNumOperands() == 4 &&
    3088           0 :         MI->getOperand(0).isReg() &&
    3089           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3090           0 :         MI->getOperand(1).isReg() &&
    3091           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3092           0 :         MI->getOperand(3).isImm() &&
    3093           0 :         MI->getOperand(3).getImm() == 6 &&
    3094             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3095             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3096             :       AsmString = "fmovqneg %icc, $\x02, $\x01";
    3097             :       break;
    3098             :     }
    3099           0 :     if (MI->getNumOperands() == 4 &&
    3100           0 :         MI->getOperand(0).isReg() &&
    3101           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3102           0 :         MI->getOperand(1).isReg() &&
    3103           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3104           0 :         MI->getOperand(3).isImm() &&
    3105           0 :         MI->getOperand(3).getImm() == 15 &&
    3106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3107             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3108             :       AsmString = "fmovqvc %icc, $\x02, $\x01";
    3109             :       break;
    3110             :     }
    3111           0 :     if (MI->getNumOperands() == 4 &&
    3112           0 :         MI->getOperand(0).isReg() &&
    3113           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3114           0 :         MI->getOperand(1).isReg() &&
    3115           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3116           0 :         MI->getOperand(3).isImm() &&
    3117           0 :         MI->getOperand(3).getImm() == 7 &&
    3118             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3119             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3120             :       AsmString = "fmovqvs %icc, $\x02, $\x01";
    3121             :       break;
    3122             :     }
    3123             :     return false;
    3124             :   case SP::FMOVQ_XCC:
    3125           0 :     if (MI->getNumOperands() == 4 &&
    3126           0 :         MI->getOperand(0).isReg() &&
    3127           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3128           0 :         MI->getOperand(1).isReg() &&
    3129           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3130           0 :         MI->getOperand(3).isImm() &&
    3131           0 :         MI->getOperand(3).getImm() == 8) {
    3132             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    3133             :       AsmString = "fmovqa %xcc, $\x02, $\x01";
    3134             :       break;
    3135             :     }
    3136           0 :     if (MI->getNumOperands() == 4 &&
    3137           0 :         MI->getOperand(0).isReg() &&
    3138           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3139           0 :         MI->getOperand(1).isReg() &&
    3140           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3141           0 :         MI->getOperand(3).isImm() &&
    3142           0 :         MI->getOperand(3).getImm() == 0) {
    3143             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    3144             :       AsmString = "fmovqn %xcc, $\x02, $\x01";
    3145             :       break;
    3146             :     }
    3147           0 :     if (MI->getNumOperands() == 4 &&
    3148           0 :         MI->getOperand(0).isReg() &&
    3149           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3150           0 :         MI->getOperand(1).isReg() &&
    3151           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3152           0 :         MI->getOperand(3).isImm() &&
    3153           0 :         MI->getOperand(3).getImm() == 9) {
    3154             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    3155             :       AsmString = "fmovqne %xcc, $\x02, $\x01";
    3156             :       break;
    3157             :     }
    3158           0 :     if (MI->getNumOperands() == 4 &&
    3159           0 :         MI->getOperand(0).isReg() &&
    3160           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3161           0 :         MI->getOperand(1).isReg() &&
    3162           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3163           0 :         MI->getOperand(3).isImm() &&
    3164           0 :         MI->getOperand(3).getImm() == 1) {
    3165             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    3166             :       AsmString = "fmovqe %xcc, $\x02, $\x01";
    3167             :       break;
    3168             :     }
    3169           0 :     if (MI->getNumOperands() == 4 &&
    3170           0 :         MI->getOperand(0).isReg() &&
    3171           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3172           0 :         MI->getOperand(1).isReg() &&
    3173           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3174           0 :         MI->getOperand(3).isImm() &&
    3175           0 :         MI->getOperand(3).getImm() == 10) {
    3176             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    3177             :       AsmString = "fmovqg %xcc, $\x02, $\x01";
    3178             :       break;
    3179             :     }
    3180           0 :     if (MI->getNumOperands() == 4 &&
    3181           0 :         MI->getOperand(0).isReg() &&
    3182           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3183           0 :         MI->getOperand(1).isReg() &&
    3184           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3185           0 :         MI->getOperand(3).isImm() &&
    3186           0 :         MI->getOperand(3).getImm() == 2) {
    3187             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3188             :       AsmString = "fmovqle %xcc, $\x02, $\x01";
    3189             :       break;
    3190             :     }
    3191           0 :     if (MI->getNumOperands() == 4 &&
    3192           0 :         MI->getOperand(0).isReg() &&
    3193           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3194           0 :         MI->getOperand(1).isReg() &&
    3195           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3196           0 :         MI->getOperand(3).isImm() &&
    3197           0 :         MI->getOperand(3).getImm() == 11) {
    3198             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3199             :       AsmString = "fmovqge %xcc, $\x02, $\x01";
    3200             :       break;
    3201             :     }
    3202           0 :     if (MI->getNumOperands() == 4 &&
    3203           0 :         MI->getOperand(0).isReg() &&
    3204           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3205           0 :         MI->getOperand(1).isReg() &&
    3206           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3207           0 :         MI->getOperand(3).isImm() &&
    3208           0 :         MI->getOperand(3).getImm() == 3) {
    3209             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3210             :       AsmString = "fmovql %xcc, $\x02, $\x01";
    3211             :       break;
    3212             :     }
    3213           0 :     if (MI->getNumOperands() == 4 &&
    3214           0 :         MI->getOperand(0).isReg() &&
    3215           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3216           0 :         MI->getOperand(1).isReg() &&
    3217           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3218           0 :         MI->getOperand(3).isImm() &&
    3219           0 :         MI->getOperand(3).getImm() == 12) {
    3220             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3221             :       AsmString = "fmovqgu %xcc, $\x02, $\x01";
    3222             :       break;
    3223             :     }
    3224           0 :     if (MI->getNumOperands() == 4 &&
    3225           0 :         MI->getOperand(0).isReg() &&
    3226           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3227           0 :         MI->getOperand(1).isReg() &&
    3228           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3229           0 :         MI->getOperand(3).isImm() &&
    3230           0 :         MI->getOperand(3).getImm() == 4) {
    3231             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3232             :       AsmString = "fmovqleu %xcc, $\x02, $\x01";
    3233             :       break;
    3234             :     }
    3235           0 :     if (MI->getNumOperands() == 4 &&
    3236           0 :         MI->getOperand(0).isReg() &&
    3237           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3238           0 :         MI->getOperand(1).isReg() &&
    3239           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3240           0 :         MI->getOperand(3).isImm() &&
    3241           0 :         MI->getOperand(3).getImm() == 13) {
    3242             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3243             :       AsmString = "fmovqcc %xcc, $\x02, $\x01";
    3244             :       break;
    3245             :     }
    3246           0 :     if (MI->getNumOperands() == 4 &&
    3247           0 :         MI->getOperand(0).isReg() &&
    3248           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3249           0 :         MI->getOperand(1).isReg() &&
    3250           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3251           0 :         MI->getOperand(3).isImm() &&
    3252           0 :         MI->getOperand(3).getImm() == 5) {
    3253             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3254             :       AsmString = "fmovqcs %xcc, $\x02, $\x01";
    3255             :       break;
    3256             :     }
    3257           0 :     if (MI->getNumOperands() == 4 &&
    3258           0 :         MI->getOperand(0).isReg() &&
    3259           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3260           0 :         MI->getOperand(1).isReg() &&
    3261           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3262           0 :         MI->getOperand(3).isImm() &&
    3263           0 :         MI->getOperand(3).getImm() == 14) {
    3264             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3265             :       AsmString = "fmovqpos %xcc, $\x02, $\x01";
    3266             :       break;
    3267             :     }
    3268           0 :     if (MI->getNumOperands() == 4 &&
    3269           0 :         MI->getOperand(0).isReg() &&
    3270           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3271           0 :         MI->getOperand(1).isReg() &&
    3272           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3273           0 :         MI->getOperand(3).isImm() &&
    3274           0 :         MI->getOperand(3).getImm() == 6) {
    3275             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3276             :       AsmString = "fmovqneg %xcc, $\x02, $\x01";
    3277             :       break;
    3278             :     }
    3279           0 :     if (MI->getNumOperands() == 4 &&
    3280           0 :         MI->getOperand(0).isReg() &&
    3281           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3282           0 :         MI->getOperand(1).isReg() &&
    3283           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3284           0 :         MI->getOperand(3).isImm() &&
    3285           0 :         MI->getOperand(3).getImm() == 15) {
    3286             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3287             :       AsmString = "fmovqvc %xcc, $\x02, $\x01";
    3288             :       break;
    3289             :     }
    3290           0 :     if (MI->getNumOperands() == 4 &&
    3291           0 :         MI->getOperand(0).isReg() &&
    3292           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3293           0 :         MI->getOperand(1).isReg() &&
    3294           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3295           0 :         MI->getOperand(3).isImm() &&
    3296           0 :         MI->getOperand(3).getImm() == 7) {
    3297             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3298             :       AsmString = "fmovqvs %xcc, $\x02, $\x01";
    3299             :       break;
    3300             :     }
    3301             :     return false;
    3302             :   case SP::FMOVS_ICC:
    3303          16 :     if (MI->getNumOperands() == 4 &&
    3304          32 :         MI->getOperand(0).isReg() &&
    3305          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3306          32 :         MI->getOperand(1).isReg() &&
    3307          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3308          32 :         MI->getOperand(3).isImm() &&
    3309          32 :         MI->getOperand(3).getImm() == 8 &&
    3310             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3311             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3312             :       AsmString = "fmovsa %icc, $\x02, $\x01";
    3313             :       break;
    3314             :     }
    3315          16 :     if (MI->getNumOperands() == 4 &&
    3316          32 :         MI->getOperand(0).isReg() &&
    3317          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3318          32 :         MI->getOperand(1).isReg() &&
    3319          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3320          32 :         MI->getOperand(3).isImm() &&
    3321          32 :         MI->getOperand(3).getImm() == 0 &&
    3322             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3323             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3324             :       AsmString = "fmovsn %icc, $\x02, $\x01";
    3325             :       break;
    3326             :     }
    3327          16 :     if (MI->getNumOperands() == 4 &&
    3328          32 :         MI->getOperand(0).isReg() &&
    3329          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3330          32 :         MI->getOperand(1).isReg() &&
    3331          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3332          32 :         MI->getOperand(3).isImm() &&
    3333          33 :         MI->getOperand(3).getImm() == 9 &&
    3334             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3335             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3336             :       AsmString = "fmovsne %icc, $\x02, $\x01";
    3337             :       break;
    3338             :     }
    3339          15 :     if (MI->getNumOperands() == 4 &&
    3340          30 :         MI->getOperand(0).isReg() &&
    3341          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3342          30 :         MI->getOperand(1).isReg() &&
    3343          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3344          30 :         MI->getOperand(3).isImm() &&
    3345          33 :         MI->getOperand(3).getImm() == 1 &&
    3346             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3347             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3348             :       AsmString = "fmovse %icc, $\x02, $\x01";
    3349             :       break;
    3350             :     }
    3351          12 :     if (MI->getNumOperands() == 4 &&
    3352          24 :         MI->getOperand(0).isReg() &&
    3353          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3354          24 :         MI->getOperand(1).isReg() &&
    3355          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3356          24 :         MI->getOperand(3).isImm() &&
    3357          25 :         MI->getOperand(3).getImm() == 10 &&
    3358             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3359             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3360             :       AsmString = "fmovsg %icc, $\x02, $\x01";
    3361             :       break;
    3362             :     }
    3363          11 :     if (MI->getNumOperands() == 4 &&
    3364          22 :         MI->getOperand(0).isReg() &&
    3365          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3366          22 :         MI->getOperand(1).isReg() &&
    3367          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3368          22 :         MI->getOperand(3).isImm() &&
    3369          23 :         MI->getOperand(3).getImm() == 2 &&
    3370             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3371             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3372             :       AsmString = "fmovsle %icc, $\x02, $\x01";
    3373             :       break;
    3374             :     }
    3375          10 :     if (MI->getNumOperands() == 4 &&
    3376          20 :         MI->getOperand(0).isReg() &&
    3377          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3378          20 :         MI->getOperand(1).isReg() &&
    3379          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3380          20 :         MI->getOperand(3).isImm() &&
    3381          21 :         MI->getOperand(3).getImm() == 11 &&
    3382             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3383             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3384             :       AsmString = "fmovsge %icc, $\x02, $\x01";
    3385             :       break;
    3386             :     }
    3387           9 :     if (MI->getNumOperands() == 4 &&
    3388          18 :         MI->getOperand(0).isReg() &&
    3389          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3390          18 :         MI->getOperand(1).isReg() &&
    3391          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3392          18 :         MI->getOperand(3).isImm() &&
    3393          19 :         MI->getOperand(3).getImm() == 3 &&
    3394             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3395             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3396             :       AsmString = "fmovsl %icc, $\x02, $\x01";
    3397             :       break;
    3398             :     }
    3399           8 :     if (MI->getNumOperands() == 4 &&
    3400          16 :         MI->getOperand(0).isReg() &&
    3401          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3402          16 :         MI->getOperand(1).isReg() &&
    3403          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3404          16 :         MI->getOperand(3).isImm() &&
    3405          17 :         MI->getOperand(3).getImm() == 12 &&
    3406             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3407             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3408             :       AsmString = "fmovsgu %icc, $\x02, $\x01";
    3409             :       break;
    3410             :     }
    3411           7 :     if (MI->getNumOperands() == 4 &&
    3412          14 :         MI->getOperand(0).isReg() &&
    3413          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3414          14 :         MI->getOperand(1).isReg() &&
    3415          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3416          14 :         MI->getOperand(3).isImm() &&
    3417          15 :         MI->getOperand(3).getImm() == 4 &&
    3418             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3419             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3420             :       AsmString = "fmovsleu %icc, $\x02, $\x01";
    3421             :       break;
    3422             :     }
    3423           6 :     if (MI->getNumOperands() == 4 &&
    3424          12 :         MI->getOperand(0).isReg() &&
    3425          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3426          12 :         MI->getOperand(1).isReg() &&
    3427          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3428          12 :         MI->getOperand(3).isImm() &&
    3429          13 :         MI->getOperand(3).getImm() == 13 &&
    3430             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3431             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3432             :       AsmString = "fmovscc %icc, $\x02, $\x01";
    3433             :       break;
    3434             :     }
    3435           5 :     if (MI->getNumOperands() == 4 &&
    3436          10 :         MI->getOperand(0).isReg() &&
    3437          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3438          10 :         MI->getOperand(1).isReg() &&
    3439          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3440          10 :         MI->getOperand(3).isImm() &&
    3441          11 :         MI->getOperand(3).getImm() == 5 &&
    3442             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3443             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3444             :       AsmString = "fmovscs %icc, $\x02, $\x01";
    3445             :       break;
    3446             :     }
    3447           4 :     if (MI->getNumOperands() == 4 &&
    3448           8 :         MI->getOperand(0).isReg() &&
    3449           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3450           8 :         MI->getOperand(1).isReg() &&
    3451           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3452           8 :         MI->getOperand(3).isImm() &&
    3453           9 :         MI->getOperand(3).getImm() == 14 &&
    3454             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3455             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3456             :       AsmString = "fmovspos %icc, $\x02, $\x01";
    3457             :       break;
    3458             :     }
    3459           3 :     if (MI->getNumOperands() == 4 &&
    3460           6 :         MI->getOperand(0).isReg() &&
    3461           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3462           6 :         MI->getOperand(1).isReg() &&
    3463           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3464           6 :         MI->getOperand(3).isImm() &&
    3465           7 :         MI->getOperand(3).getImm() == 6 &&
    3466             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3467             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3468             :       AsmString = "fmovsneg %icc, $\x02, $\x01";
    3469             :       break;
    3470             :     }
    3471           2 :     if (MI->getNumOperands() == 4 &&
    3472           4 :         MI->getOperand(0).isReg() &&
    3473           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3474           4 :         MI->getOperand(1).isReg() &&
    3475           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3476           4 :         MI->getOperand(3).isImm() &&
    3477           5 :         MI->getOperand(3).getImm() == 15 &&
    3478             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3479             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3480             :       AsmString = "fmovsvc %icc, $\x02, $\x01";
    3481             :       break;
    3482             :     }
    3483           1 :     if (MI->getNumOperands() == 4 &&
    3484           2 :         MI->getOperand(0).isReg() &&
    3485           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3486           2 :         MI->getOperand(1).isReg() &&
    3487           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3488           2 :         MI->getOperand(3).isImm() &&
    3489           3 :         MI->getOperand(3).getImm() == 7 &&
    3490             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3491             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3492             :       AsmString = "fmovsvs %icc, $\x02, $\x01";
    3493             :       break;
    3494             :     }
    3495             :     return false;
    3496             :   case SP::FMOVS_XCC:
    3497          16 :     if (MI->getNumOperands() == 4 &&
    3498          32 :         MI->getOperand(0).isReg() &&
    3499          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3500          32 :         MI->getOperand(1).isReg() &&
    3501          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3502          48 :         MI->getOperand(3).isImm() &&
    3503          16 :         MI->getOperand(3).getImm() == 8) {
    3504             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3505             :       AsmString = "fmovsa %xcc, $\x02, $\x01";
    3506             :       break;
    3507             :     }
    3508          16 :     if (MI->getNumOperands() == 4 &&
    3509          32 :         MI->getOperand(0).isReg() &&
    3510          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3511          32 :         MI->getOperand(1).isReg() &&
    3512          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3513          48 :         MI->getOperand(3).isImm() &&
    3514          16 :         MI->getOperand(3).getImm() == 0) {
    3515             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3516             :       AsmString = "fmovsn %xcc, $\x02, $\x01";
    3517             :       break;
    3518             :     }
    3519          16 :     if (MI->getNumOperands() == 4 &&
    3520          32 :         MI->getOperand(0).isReg() &&
    3521          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3522          32 :         MI->getOperand(1).isReg() &&
    3523          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3524          48 :         MI->getOperand(3).isImm() &&
    3525          16 :         MI->getOperand(3).getImm() == 9) {
    3526             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3527             :       AsmString = "fmovsne %xcc, $\x02, $\x01";
    3528             :       break;
    3529             :     }
    3530          15 :     if (MI->getNumOperands() == 4 &&
    3531          30 :         MI->getOperand(0).isReg() &&
    3532          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3533          30 :         MI->getOperand(1).isReg() &&
    3534          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3535          45 :         MI->getOperand(3).isImm() &&
    3536          15 :         MI->getOperand(3).getImm() == 1) {
    3537             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3538             :       AsmString = "fmovse %xcc, $\x02, $\x01";
    3539             :       break;
    3540             :     }
    3541          14 :     if (MI->getNumOperands() == 4 &&
    3542          28 :         MI->getOperand(0).isReg() &&
    3543          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3544          28 :         MI->getOperand(1).isReg() &&
    3545          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3546          42 :         MI->getOperand(3).isImm() &&
    3547          14 :         MI->getOperand(3).getImm() == 10) {
    3548             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3549             :       AsmString = "fmovsg %xcc, $\x02, $\x01";
    3550             :       break;
    3551             :     }
    3552          12 :     if (MI->getNumOperands() == 4 &&
    3553          24 :         MI->getOperand(0).isReg() &&
    3554          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3555          24 :         MI->getOperand(1).isReg() &&
    3556          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3557          36 :         MI->getOperand(3).isImm() &&
    3558          12 :         MI->getOperand(3).getImm() == 2) {
    3559             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3560             :       AsmString = "fmovsle %xcc, $\x02, $\x01";
    3561             :       break;
    3562             :     }
    3563          11 :     if (MI->getNumOperands() == 4 &&
    3564          22 :         MI->getOperand(0).isReg() &&
    3565          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3566          22 :         MI->getOperand(1).isReg() &&
    3567          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3568          33 :         MI->getOperand(3).isImm() &&
    3569          11 :         MI->getOperand(3).getImm() == 11) {
    3570             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3571             :       AsmString = "fmovsge %xcc, $\x02, $\x01";
    3572             :       break;
    3573             :     }
    3574          10 :     if (MI->getNumOperands() == 4 &&
    3575          20 :         MI->getOperand(0).isReg() &&
    3576          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3577          20 :         MI->getOperand(1).isReg() &&
    3578          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3579          30 :         MI->getOperand(3).isImm() &&
    3580          10 :         MI->getOperand(3).getImm() == 3) {
    3581             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3582             :       AsmString = "fmovsl %xcc, $\x02, $\x01";
    3583             :       break;
    3584             :     }
    3585           8 :     if (MI->getNumOperands() == 4 &&
    3586          16 :         MI->getOperand(0).isReg() &&
    3587          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3588          16 :         MI->getOperand(1).isReg() &&
    3589          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3590          24 :         MI->getOperand(3).isImm() &&
    3591           8 :         MI->getOperand(3).getImm() == 12) {
    3592             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3593             :       AsmString = "fmovsgu %xcc, $\x02, $\x01";
    3594             :       break;
    3595             :     }
    3596           7 :     if (MI->getNumOperands() == 4 &&
    3597          14 :         MI->getOperand(0).isReg() &&
    3598          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3599          14 :         MI->getOperand(1).isReg() &&
    3600          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3601          21 :         MI->getOperand(3).isImm() &&
    3602           7 :         MI->getOperand(3).getImm() == 4) {
    3603             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3604             :       AsmString = "fmovsleu %xcc, $\x02, $\x01";
    3605             :       break;
    3606             :     }
    3607           6 :     if (MI->getNumOperands() == 4 &&
    3608          12 :         MI->getOperand(0).isReg() &&
    3609          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3610          12 :         MI->getOperand(1).isReg() &&
    3611          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3612          18 :         MI->getOperand(3).isImm() &&
    3613           6 :         MI->getOperand(3).getImm() == 13) {
    3614             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3615             :       AsmString = "fmovscc %xcc, $\x02, $\x01";
    3616             :       break;
    3617             :     }
    3618           5 :     if (MI->getNumOperands() == 4 &&
    3619          10 :         MI->getOperand(0).isReg() &&
    3620          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3621          10 :         MI->getOperand(1).isReg() &&
    3622          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3623          15 :         MI->getOperand(3).isImm() &&
    3624           5 :         MI->getOperand(3).getImm() == 5) {
    3625             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3626             :       AsmString = "fmovscs %xcc, $\x02, $\x01";
    3627             :       break;
    3628             :     }
    3629           4 :     if (MI->getNumOperands() == 4 &&
    3630           8 :         MI->getOperand(0).isReg() &&
    3631           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3632           8 :         MI->getOperand(1).isReg() &&
    3633           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3634          12 :         MI->getOperand(3).isImm() &&
    3635           4 :         MI->getOperand(3).getImm() == 14) {
    3636             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3637             :       AsmString = "fmovspos %xcc, $\x02, $\x01";
    3638             :       break;
    3639             :     }
    3640           3 :     if (MI->getNumOperands() == 4 &&
    3641           6 :         MI->getOperand(0).isReg() &&
    3642           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3643           6 :         MI->getOperand(1).isReg() &&
    3644           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3645           9 :         MI->getOperand(3).isImm() &&
    3646           3 :         MI->getOperand(3).getImm() == 6) {
    3647             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3648             :       AsmString = "fmovsneg %xcc, $\x02, $\x01";
    3649             :       break;
    3650             :     }
    3651           2 :     if (MI->getNumOperands() == 4 &&
    3652           4 :         MI->getOperand(0).isReg() &&
    3653           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3654           4 :         MI->getOperand(1).isReg() &&
    3655           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3656           6 :         MI->getOperand(3).isImm() &&
    3657           2 :         MI->getOperand(3).getImm() == 15) {
    3658             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3659             :       AsmString = "fmovsvc %xcc, $\x02, $\x01";
    3660             :       break;
    3661             :     }
    3662           1 :     if (MI->getNumOperands() == 4 &&
    3663           2 :         MI->getOperand(0).isReg() &&
    3664           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3665           2 :         MI->getOperand(1).isReg() &&
    3666           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3667           3 :         MI->getOperand(3).isImm() &&
    3668           1 :         MI->getOperand(3).getImm() == 7) {
    3669             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3670             :       AsmString = "fmovsvs %xcc, $\x02, $\x01";
    3671             :       break;
    3672             :     }
    3673             :     return false;
    3674             :   case SP::MOVICCri:
    3675          13 :     if (MI->getNumOperands() == 4 &&
    3676          26 :         MI->getOperand(0).isReg() &&
    3677          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3678          26 :         MI->getOperand(3).isImm() &&
    3679          26 :         MI->getOperand(3).getImm() == 8 &&
    3680             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3681             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    3682             :       AsmString = "mova %icc, $\x02, $\x01";
    3683             :       break;
    3684             :     }
    3685          13 :     if (MI->getNumOperands() == 4 &&
    3686          26 :         MI->getOperand(0).isReg() &&
    3687          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3688          26 :         MI->getOperand(3).isImm() &&
    3689          26 :         MI->getOperand(3).getImm() == 0 &&
    3690             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3691             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    3692             :       AsmString = "movn %icc, $\x02, $\x01";
    3693             :       break;
    3694             :     }
    3695          13 :     if (MI->getNumOperands() == 4 &&
    3696          26 :         MI->getOperand(0).isReg() &&
    3697          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3698          26 :         MI->getOperand(3).isImm() &&
    3699          26 :         MI->getOperand(3).getImm() == 9 &&
    3700             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3701             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    3702             :       AsmString = "movne %icc, $\x02, $\x01";
    3703             :       break;
    3704             :     }
    3705          13 :     if (MI->getNumOperands() == 4 &&
    3706          26 :         MI->getOperand(0).isReg() &&
    3707          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3708          26 :         MI->getOperand(3).isImm() &&
    3709          37 :         MI->getOperand(3).getImm() == 1 &&
    3710             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3711             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    3712             :       AsmString = "move %icc, $\x02, $\x01";
    3713             :       break;
    3714             :     }
    3715           2 :     if (MI->getNumOperands() == 4 &&
    3716           4 :         MI->getOperand(0).isReg() &&
    3717           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3718           4 :         MI->getOperand(3).isImm() &&
    3719           4 :         MI->getOperand(3).getImm() == 10 &&
    3720             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3721             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    3722             :       AsmString = "movg %icc, $\x02, $\x01";
    3723             :       break;
    3724             :     }
    3725           2 :     if (MI->getNumOperands() == 4 &&
    3726           4 :         MI->getOperand(0).isReg() &&
    3727           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3728           4 :         MI->getOperand(3).isImm() &&
    3729           4 :         MI->getOperand(3).getImm() == 2 &&
    3730             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3731             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    3732             :       AsmString = "movle %icc, $\x02, $\x01";
    3733             :       break;
    3734             :     }
    3735           2 :     if (MI->getNumOperands() == 4 &&
    3736           4 :         MI->getOperand(0).isReg() &&
    3737           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3738           4 :         MI->getOperand(3).isImm() &&
    3739           4 :         MI->getOperand(3).getImm() == 11 &&
    3740             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3741             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    3742             :       AsmString = "movge %icc, $\x02, $\x01";
    3743             :       break;
    3744             :     }
    3745           2 :     if (MI->getNumOperands() == 4 &&
    3746           4 :         MI->getOperand(0).isReg() &&
    3747           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3748           4 :         MI->getOperand(3).isImm() &&
    3749           4 :         MI->getOperand(3).getImm() == 3 &&
    3750             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3751             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    3752             :       AsmString = "movl %icc, $\x02, $\x01";
    3753             :       break;
    3754             :     }
    3755           2 :     if (MI->getNumOperands() == 4 &&
    3756           4 :         MI->getOperand(0).isReg() &&
    3757           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3758           4 :         MI->getOperand(3).isImm() &&
    3759           6 :         MI->getOperand(3).getImm() == 12 &&
    3760             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3761             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    3762             :       AsmString = "movgu %icc, $\x02, $\x01";
    3763             :       break;
    3764             :     }
    3765           0 :     if (MI->getNumOperands() == 4 &&
    3766           0 :         MI->getOperand(0).isReg() &&
    3767           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3768           0 :         MI->getOperand(3).isImm() &&
    3769           0 :         MI->getOperand(3).getImm() == 4 &&
    3770             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3771             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    3772             :       AsmString = "movleu %icc, $\x02, $\x01";
    3773             :       break;
    3774             :     }
    3775           0 :     if (MI->getNumOperands() == 4 &&
    3776           0 :         MI->getOperand(0).isReg() &&
    3777           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3778           0 :         MI->getOperand(3).isImm() &&
    3779           0 :         MI->getOperand(3).getImm() == 13 &&
    3780             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3781             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    3782             :       AsmString = "movcc %icc, $\x02, $\x01";
    3783             :       break;
    3784             :     }
    3785           0 :     if (MI->getNumOperands() == 4 &&
    3786           0 :         MI->getOperand(0).isReg() &&
    3787           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3788           0 :         MI->getOperand(3).isImm() &&
    3789           0 :         MI->getOperand(3).getImm() == 5 &&
    3790             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3791             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    3792             :       AsmString = "movcs %icc, $\x02, $\x01";
    3793             :       break;
    3794             :     }
    3795           0 :     if (MI->getNumOperands() == 4 &&
    3796           0 :         MI->getOperand(0).isReg() &&
    3797           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3798           0 :         MI->getOperand(3).isImm() &&
    3799           0 :         MI->getOperand(3).getImm() == 14 &&
    3800             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3801             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    3802             :       AsmString = "movpos %icc, $\x02, $\x01";
    3803             :       break;
    3804             :     }
    3805           0 :     if (MI->getNumOperands() == 4 &&
    3806           0 :         MI->getOperand(0).isReg() &&
    3807           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3808           0 :         MI->getOperand(3).isImm() &&
    3809           0 :         MI->getOperand(3).getImm() == 6 &&
    3810             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3811             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    3812             :       AsmString = "movneg %icc, $\x02, $\x01";
    3813             :       break;
    3814             :     }
    3815           0 :     if (MI->getNumOperands() == 4 &&
    3816           0 :         MI->getOperand(0).isReg() &&
    3817           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3818           0 :         MI->getOperand(3).isImm() &&
    3819           0 :         MI->getOperand(3).getImm() == 15 &&
    3820             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3821             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    3822             :       AsmString = "movvc %icc, $\x02, $\x01";
    3823             :       break;
    3824             :     }
    3825           0 :     if (MI->getNumOperands() == 4 &&
    3826           0 :         MI->getOperand(0).isReg() &&
    3827           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3828           0 :         MI->getOperand(3).isImm() &&
    3829           0 :         MI->getOperand(3).getImm() == 7 &&
    3830             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3831             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    3832             :       AsmString = "movvs %icc, $\x02, $\x01";
    3833             :       break;
    3834             :     }
    3835             :     return false;
    3836             :   case SP::MOVICCrr:
    3837          19 :     if (MI->getNumOperands() == 4 &&
    3838          38 :         MI->getOperand(0).isReg() &&
    3839          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3840          38 :         MI->getOperand(1).isReg() &&
    3841          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3842          38 :         MI->getOperand(3).isImm() &&
    3843          38 :         MI->getOperand(3).getImm() == 8 &&
    3844             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3845             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    3846             :       AsmString = "mova %icc, $\x02, $\x01";
    3847             :       break;
    3848             :     }
    3849          19 :     if (MI->getNumOperands() == 4 &&
    3850          38 :         MI->getOperand(0).isReg() &&
    3851          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3852          38 :         MI->getOperand(1).isReg() &&
    3853          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3854          38 :         MI->getOperand(3).isImm() &&
    3855          38 :         MI->getOperand(3).getImm() == 0 &&
    3856             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3857             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    3858             :       AsmString = "movn %icc, $\x02, $\x01";
    3859             :       break;
    3860             :     }
    3861          19 :     if (MI->getNumOperands() == 4 &&
    3862          38 :         MI->getOperand(0).isReg() &&
    3863          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3864          38 :         MI->getOperand(1).isReg() &&
    3865          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3866          38 :         MI->getOperand(3).isImm() &&
    3867          39 :         MI->getOperand(3).getImm() == 9 &&
    3868             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3869             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    3870             :       AsmString = "movne %icc, $\x02, $\x01";
    3871             :       break;
    3872             :     }
    3873          18 :     if (MI->getNumOperands() == 4 &&
    3874          36 :         MI->getOperand(0).isReg() &&
    3875          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3876          36 :         MI->getOperand(1).isReg() &&
    3877          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3878          36 :         MI->getOperand(3).isImm() &&
    3879          40 :         MI->getOperand(3).getImm() == 1 &&
    3880             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3881             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    3882             :       AsmString = "move %icc, $\x02, $\x01";
    3883             :       break;
    3884             :     }
    3885          14 :     if (MI->getNumOperands() == 4 &&
    3886          28 :         MI->getOperand(0).isReg() &&
    3887          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3888          28 :         MI->getOperand(1).isReg() &&
    3889          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3890          28 :         MI->getOperand(3).isImm() &&
    3891          30 :         MI->getOperand(3).getImm() == 10 &&
    3892             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3893             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    3894             :       AsmString = "movg %icc, $\x02, $\x01";
    3895             :       break;
    3896             :     }
    3897          12 :     if (MI->getNumOperands() == 4 &&
    3898          24 :         MI->getOperand(0).isReg() &&
    3899          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3900          24 :         MI->getOperand(1).isReg() &&
    3901          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3902          24 :         MI->getOperand(3).isImm() &&
    3903          25 :         MI->getOperand(3).getImm() == 2 &&
    3904             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3905             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    3906             :       AsmString = "movle %icc, $\x02, $\x01";
    3907             :       break;
    3908             :     }
    3909          11 :     if (MI->getNumOperands() == 4 &&
    3910          22 :         MI->getOperand(0).isReg() &&
    3911          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3912          22 :         MI->getOperand(1).isReg() &&
    3913          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3914          22 :         MI->getOperand(3).isImm() &&
    3915          23 :         MI->getOperand(3).getImm() == 11 &&
    3916             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3917             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    3918             :       AsmString = "movge %icc, $\x02, $\x01";
    3919             :       break;
    3920             :     }
    3921          10 :     if (MI->getNumOperands() == 4 &&
    3922          20 :         MI->getOperand(0).isReg() &&
    3923          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3924          20 :         MI->getOperand(1).isReg() &&
    3925          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3926          20 :         MI->getOperand(3).isImm() &&
    3927          21 :         MI->getOperand(3).getImm() == 3 &&
    3928             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3929             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    3930             :       AsmString = "movl %icc, $\x02, $\x01";
    3931             :       break;
    3932             :     }
    3933           9 :     if (MI->getNumOperands() == 4 &&
    3934          18 :         MI->getOperand(0).isReg() &&
    3935          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3936          18 :         MI->getOperand(1).isReg() &&
    3937          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3938          18 :         MI->getOperand(3).isImm() &&
    3939          19 :         MI->getOperand(3).getImm() == 12 &&
    3940             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3941             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    3942             :       AsmString = "movgu %icc, $\x02, $\x01";
    3943             :       break;
    3944             :     }
    3945           8 :     if (MI->getNumOperands() == 4 &&
    3946          16 :         MI->getOperand(0).isReg() &&
    3947          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3948          16 :         MI->getOperand(1).isReg() &&
    3949          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3950          16 :         MI->getOperand(3).isImm() &&
    3951          18 :         MI->getOperand(3).getImm() == 4 &&
    3952             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3953             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    3954             :       AsmString = "movleu %icc, $\x02, $\x01";
    3955             :       break;
    3956             :     }
    3957           6 :     if (MI->getNumOperands() == 4 &&
    3958          12 :         MI->getOperand(0).isReg() &&
    3959          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3960          12 :         MI->getOperand(1).isReg() &&
    3961          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3962          12 :         MI->getOperand(3).isImm() &&
    3963          13 :         MI->getOperand(3).getImm() == 13 &&
    3964             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3965             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    3966             :       AsmString = "movcc %icc, $\x02, $\x01";
    3967             :       break;
    3968             :     }
    3969           5 :     if (MI->getNumOperands() == 4 &&
    3970          10 :         MI->getOperand(0).isReg() &&
    3971          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3972          10 :         MI->getOperand(1).isReg() &&
    3973          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3974          10 :         MI->getOperand(3).isImm() &&
    3975          11 :         MI->getOperand(3).getImm() == 5 &&
    3976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3977             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    3978             :       AsmString = "movcs %icc, $\x02, $\x01";
    3979             :       break;
    3980             :     }
    3981           4 :     if (MI->getNumOperands() == 4 &&
    3982           8 :         MI->getOperand(0).isReg() &&
    3983           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3984           8 :         MI->getOperand(1).isReg() &&
    3985           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3986           8 :         MI->getOperand(3).isImm() &&
    3987           9 :         MI->getOperand(3).getImm() == 14 &&
    3988             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3989             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    3990             :       AsmString = "movpos %icc, $\x02, $\x01";
    3991             :       break;
    3992             :     }
    3993           3 :     if (MI->getNumOperands() == 4 &&
    3994           6 :         MI->getOperand(0).isReg() &&
    3995           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3996           6 :         MI->getOperand(1).isReg() &&
    3997           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3998           6 :         MI->getOperand(3).isImm() &&
    3999           7 :         MI->getOperand(3).getImm() == 6 &&
    4000             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4001             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4002             :       AsmString = "movneg %icc, $\x02, $\x01";
    4003             :       break;
    4004             :     }
    4005           2 :     if (MI->getNumOperands() == 4 &&
    4006           4 :         MI->getOperand(0).isReg() &&
    4007           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4008           4 :         MI->getOperand(1).isReg() &&
    4009           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4010           4 :         MI->getOperand(3).isImm() &&
    4011           5 :         MI->getOperand(3).getImm() == 15 &&
    4012             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4013             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4014             :       AsmString = "movvc %icc, $\x02, $\x01";
    4015             :       break;
    4016             :     }
    4017           1 :     if (MI->getNumOperands() == 4 &&
    4018           2 :         MI->getOperand(0).isReg() &&
    4019           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4020           2 :         MI->getOperand(1).isReg() &&
    4021           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4022           2 :         MI->getOperand(3).isImm() &&
    4023           3 :         MI->getOperand(3).getImm() == 7 &&
    4024             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4025             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4026             :       AsmString = "movvs %icc, $\x02, $\x01";
    4027             :       break;
    4028             :     }
    4029             :     return false;
    4030             :   case SP::MOVXCCri:
    4031          10 :     if (MI->getNumOperands() == 4 &&
    4032          20 :         MI->getOperand(0).isReg() &&
    4033          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4034          30 :         MI->getOperand(3).isImm() &&
    4035          10 :         MI->getOperand(3).getImm() == 8) {
    4036             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    4037             :       AsmString = "mova %xcc, $\x02, $\x01";
    4038             :       break;
    4039             :     }
    4040          10 :     if (MI->getNumOperands() == 4 &&
    4041          20 :         MI->getOperand(0).isReg() &&
    4042          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4043          30 :         MI->getOperand(3).isImm() &&
    4044          10 :         MI->getOperand(3).getImm() == 0) {
    4045             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    4046             :       AsmString = "movn %xcc, $\x02, $\x01";
    4047             :       break;
    4048             :     }
    4049          10 :     if (MI->getNumOperands() == 4 &&
    4050          20 :         MI->getOperand(0).isReg() &&
    4051          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4052          30 :         MI->getOperand(3).isImm() &&
    4053          10 :         MI->getOperand(3).getImm() == 9) {
    4054             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    4055             :       AsmString = "movne %xcc, $\x02, $\x01";
    4056             :       break;
    4057             :     }
    4058           9 :     if (MI->getNumOperands() == 4 &&
    4059          18 :         MI->getOperand(0).isReg() &&
    4060          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4061          27 :         MI->getOperand(3).isImm() &&
    4062           9 :         MI->getOperand(3).getImm() == 1) {
    4063             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    4064             :       AsmString = "move %xcc, $\x02, $\x01";
    4065             :       break;
    4066             :     }
    4067           6 :     if (MI->getNumOperands() == 4 &&
    4068          12 :         MI->getOperand(0).isReg() &&
    4069          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4070          18 :         MI->getOperand(3).isImm() &&
    4071           6 :         MI->getOperand(3).getImm() == 10) {
    4072             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    4073             :       AsmString = "movg %xcc, $\x02, $\x01";
    4074             :       break;
    4075             :     }
    4076           5 :     if (MI->getNumOperands() == 4 &&
    4077          10 :         MI->getOperand(0).isReg() &&
    4078          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4079          15 :         MI->getOperand(3).isImm() &&
    4080           5 :         MI->getOperand(3).getImm() == 2) {
    4081             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    4082             :       AsmString = "movle %xcc, $\x02, $\x01";
    4083             :       break;
    4084             :     }
    4085           5 :     if (MI->getNumOperands() == 4 &&
    4086          10 :         MI->getOperand(0).isReg() &&
    4087          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4088          15 :         MI->getOperand(3).isImm() &&
    4089           5 :         MI->getOperand(3).getImm() == 11) {
    4090             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    4091             :       AsmString = "movge %xcc, $\x02, $\x01";
    4092             :       break;
    4093             :     }
    4094           5 :     if (MI->getNumOperands() == 4 &&
    4095          10 :         MI->getOperand(0).isReg() &&
    4096          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4097          15 :         MI->getOperand(3).isImm() &&
    4098           5 :         MI->getOperand(3).getImm() == 3) {
    4099             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    4100             :       AsmString = "movl %xcc, $\x02, $\x01";
    4101             :       break;
    4102             :     }
    4103           3 :     if (MI->getNumOperands() == 4 &&
    4104           6 :         MI->getOperand(0).isReg() &&
    4105           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4106           9 :         MI->getOperand(3).isImm() &&
    4107           3 :         MI->getOperand(3).getImm() == 12) {
    4108             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    4109             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4110             :       break;
    4111             :     }
    4112           2 :     if (MI->getNumOperands() == 4 &&
    4113           4 :         MI->getOperand(0).isReg() &&
    4114           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4115           6 :         MI->getOperand(3).isImm() &&
    4116           2 :         MI->getOperand(3).getImm() == 4) {
    4117             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    4118             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4119             :       break;
    4120             :     }
    4121           2 :     if (MI->getNumOperands() == 4 &&
    4122           4 :         MI->getOperand(0).isReg() &&
    4123           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4124           6 :         MI->getOperand(3).isImm() &&
    4125           2 :         MI->getOperand(3).getImm() == 13) {
    4126             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    4127             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4128             :       break;
    4129             :     }
    4130           2 :     if (MI->getNumOperands() == 4 &&
    4131           4 :         MI->getOperand(0).isReg() &&
    4132           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4133           6 :         MI->getOperand(3).isImm() &&
    4134           2 :         MI->getOperand(3).getImm() == 5) {
    4135             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    4136             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4137             :       break;
    4138             :     }
    4139           0 :     if (MI->getNumOperands() == 4 &&
    4140           0 :         MI->getOperand(0).isReg() &&
    4141           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4142           0 :         MI->getOperand(3).isImm() &&
    4143           0 :         MI->getOperand(3).getImm() == 14) {
    4144             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    4145             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4146             :       break;
    4147             :     }
    4148           0 :     if (MI->getNumOperands() == 4 &&
    4149           0 :         MI->getOperand(0).isReg() &&
    4150           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4151           0 :         MI->getOperand(3).isImm() &&
    4152           0 :         MI->getOperand(3).getImm() == 6) {
    4153             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    4154             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4155             :       break;
    4156             :     }
    4157           0 :     if (MI->getNumOperands() == 4 &&
    4158           0 :         MI->getOperand(0).isReg() &&
    4159           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4160           0 :         MI->getOperand(3).isImm() &&
    4161           0 :         MI->getOperand(3).getImm() == 15) {
    4162             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    4163             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4164             :       break;
    4165             :     }
    4166           0 :     if (MI->getNumOperands() == 4 &&
    4167           0 :         MI->getOperand(0).isReg() &&
    4168           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4169           0 :         MI->getOperand(3).isImm() &&
    4170           0 :         MI->getOperand(3).getImm() == 7) {
    4171             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    4172             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4173             :       break;
    4174             :     }
    4175             :     return false;
    4176             :   case SP::MOVXCCrr:
    4177          17 :     if (MI->getNumOperands() == 4 &&
    4178          34 :         MI->getOperand(0).isReg() &&
    4179          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4180          34 :         MI->getOperand(1).isReg() &&
    4181          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4182          51 :         MI->getOperand(3).isImm() &&
    4183          17 :         MI->getOperand(3).getImm() == 8) {
    4184             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    4185             :       AsmString = "mova %xcc, $\x02, $\x01";
    4186             :       break;
    4187             :     }
    4188          17 :     if (MI->getNumOperands() == 4 &&
    4189          34 :         MI->getOperand(0).isReg() &&
    4190          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4191          34 :         MI->getOperand(1).isReg() &&
    4192          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4193          51 :         MI->getOperand(3).isImm() &&
    4194          17 :         MI->getOperand(3).getImm() == 0) {
    4195             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    4196             :       AsmString = "movn %xcc, $\x02, $\x01";
    4197             :       break;
    4198             :     }
    4199          17 :     if (MI->getNumOperands() == 4 &&
    4200          34 :         MI->getOperand(0).isReg() &&
    4201          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4202          34 :         MI->getOperand(1).isReg() &&
    4203          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4204          51 :         MI->getOperand(3).isImm() &&
    4205          17 :         MI->getOperand(3).getImm() == 9) {
    4206             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    4207             :       AsmString = "movne %xcc, $\x02, $\x01";
    4208             :       break;
    4209             :     }
    4210          16 :     if (MI->getNumOperands() == 4 &&
    4211          32 :         MI->getOperand(0).isReg() &&
    4212          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4213          32 :         MI->getOperand(1).isReg() &&
    4214          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4215          48 :         MI->getOperand(3).isImm() &&
    4216          16 :         MI->getOperand(3).getImm() == 1) {
    4217             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    4218             :       AsmString = "move %xcc, $\x02, $\x01";
    4219             :       break;
    4220             :     }
    4221          15 :     if (MI->getNumOperands() == 4 &&
    4222          30 :         MI->getOperand(0).isReg() &&
    4223          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4224          30 :         MI->getOperand(1).isReg() &&
    4225          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4226          45 :         MI->getOperand(3).isImm() &&
    4227          15 :         MI->getOperand(3).getImm() == 10) {
    4228             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    4229             :       AsmString = "movg %xcc, $\x02, $\x01";
    4230             :       break;
    4231             :     }
    4232          11 :     if (MI->getNumOperands() == 4 &&
    4233          22 :         MI->getOperand(0).isReg() &&
    4234          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4235          22 :         MI->getOperand(1).isReg() &&
    4236          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4237          33 :         MI->getOperand(3).isImm() &&
    4238          11 :         MI->getOperand(3).getImm() == 2) {
    4239             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    4240             :       AsmString = "movle %xcc, $\x02, $\x01";
    4241             :       break;
    4242             :     }
    4243          10 :     if (MI->getNumOperands() == 4 &&
    4244          20 :         MI->getOperand(0).isReg() &&
    4245          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4246          20 :         MI->getOperand(1).isReg() &&
    4247          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4248          30 :         MI->getOperand(3).isImm() &&
    4249          10 :         MI->getOperand(3).getImm() == 11) {
    4250             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    4251             :       AsmString = "movge %xcc, $\x02, $\x01";
    4252             :       break;
    4253             :     }
    4254           9 :     if (MI->getNumOperands() == 4 &&
    4255          18 :         MI->getOperand(0).isReg() &&
    4256          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4257          18 :         MI->getOperand(1).isReg() &&
    4258          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4259          27 :         MI->getOperand(3).isImm() &&
    4260           9 :         MI->getOperand(3).getImm() == 3) {
    4261             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    4262             :       AsmString = "movl %xcc, $\x02, $\x01";
    4263             :       break;
    4264             :     }
    4265           8 :     if (MI->getNumOperands() == 4 &&
    4266          16 :         MI->getOperand(0).isReg() &&
    4267          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4268          16 :         MI->getOperand(1).isReg() &&
    4269          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4270          24 :         MI->getOperand(3).isImm() &&
    4271           8 :         MI->getOperand(3).getImm() == 12) {
    4272             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    4273             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4274             :       break;
    4275             :     }
    4276           7 :     if (MI->getNumOperands() == 4 &&
    4277          14 :         MI->getOperand(0).isReg() &&
    4278          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4279          14 :         MI->getOperand(1).isReg() &&
    4280          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4281          21 :         MI->getOperand(3).isImm() &&
    4282           7 :         MI->getOperand(3).getImm() == 4) {
    4283             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    4284             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4285             :       break;
    4286             :     }
    4287           6 :     if (MI->getNumOperands() == 4 &&
    4288          12 :         MI->getOperand(0).isReg() &&
    4289          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4290          12 :         MI->getOperand(1).isReg() &&
    4291          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4292          18 :         MI->getOperand(3).isImm() &&
    4293           6 :         MI->getOperand(3).getImm() == 13) {
    4294             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    4295             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4296             :       break;
    4297             :     }
    4298           5 :     if (MI->getNumOperands() == 4 &&
    4299          10 :         MI->getOperand(0).isReg() &&
    4300          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4301          10 :         MI->getOperand(1).isReg() &&
    4302          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4303          15 :         MI->getOperand(3).isImm() &&
    4304           5 :         MI->getOperand(3).getImm() == 5) {
    4305             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    4306             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4307             :       break;
    4308             :     }
    4309           4 :     if (MI->getNumOperands() == 4 &&
    4310           8 :         MI->getOperand(0).isReg() &&
    4311           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4312           8 :         MI->getOperand(1).isReg() &&
    4313           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4314          12 :         MI->getOperand(3).isImm() &&
    4315           4 :         MI->getOperand(3).getImm() == 14) {
    4316             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    4317             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4318             :       break;
    4319             :     }
    4320           3 :     if (MI->getNumOperands() == 4 &&
    4321           6 :         MI->getOperand(0).isReg() &&
    4322           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4323           6 :         MI->getOperand(1).isReg() &&
    4324           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4325           9 :         MI->getOperand(3).isImm() &&
    4326           3 :         MI->getOperand(3).getImm() == 6) {
    4327             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4328             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4329             :       break;
    4330             :     }
    4331           2 :     if (MI->getNumOperands() == 4 &&
    4332           4 :         MI->getOperand(0).isReg() &&
    4333           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4334           4 :         MI->getOperand(1).isReg() &&
    4335           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4336           6 :         MI->getOperand(3).isImm() &&
    4337           2 :         MI->getOperand(3).getImm() == 15) {
    4338             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4339             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4340             :       break;
    4341             :     }
    4342           1 :     if (MI->getNumOperands() == 4 &&
    4343           2 :         MI->getOperand(0).isReg() &&
    4344           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4345           2 :         MI->getOperand(1).isReg() &&
    4346           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4347           3 :         MI->getOperand(3).isImm() &&
    4348           1 :         MI->getOperand(3).getImm() == 7) {
    4349             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4350             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4351             :       break;
    4352             :     }
    4353             :     return false;
    4354             :   case SP::ORCCrr:
    4355           6 :     if (MI->getNumOperands() == 3 &&
    4356          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4357           8 :         MI->getOperand(1).isReg() &&
    4358          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4359           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4360             :       // (ORCCrr G0, IntRegs:$rs2, G0)
    4361             :       AsmString = "tst $\x02";
    4362             :       break;
    4363             :     }
    4364             :     return false;
    4365             :   case SP::ORri:
    4366         320 :     if (MI->getNumOperands() == 3 &&
    4367         640 :         MI->getOperand(0).isReg() &&
    4368         960 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4369         320 :         MI->getOperand(1).getReg() == Sparc::G0) {
    4370             :       // (ORri IntRegs:$rd, G0, i32imm:$simm13)
    4371             :       AsmString = "mov $\x03, $\x01";
    4372             :       break;
    4373             :     }
    4374             :     return false;
    4375             :   case SP::ORrr:
    4376         972 :     if (MI->getNumOperands() == 3 &&
    4377        1944 :         MI->getOperand(0).isReg() &&
    4378        1944 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4379        1813 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4380        2654 :         MI->getOperand(2).isReg() &&
    4381         841 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    4382             :       // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
    4383             :       AsmString = "mov $\x03, $\x01";
    4384             :       break;
    4385             :     }
    4386             :     return false;
    4387             :   case SP::RESTORErr:
    4388         365 :     if (MI->getNumOperands() == 3 &&
    4389         654 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4390         943 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4391         289 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4392             :       // (RESTORErr G0, G0, G0)
    4393             :       AsmString = "restore";
    4394             :       break;
    4395             :     }
    4396             :     return false;
    4397             :   case SP::RET:
    4398         268 :     if (MI->getNumOperands() == 1 &&
    4399         536 :         MI->getOperand(0).isImm() &&
    4400         268 :         MI->getOperand(0).getImm() == 8) {
    4401             :       // (RET 8)
    4402             :       AsmString = "ret";
    4403             :       break;
    4404             :     }
    4405             :     return false;
    4406             :   case SP::RETL:
    4407         408 :     if (MI->getNumOperands() == 1 &&
    4408         816 :         MI->getOperand(0).isImm() &&
    4409         408 :         MI->getOperand(0).getImm() == 8) {
    4410             :       // (RETL 8)
    4411             :       AsmString = "retl";
    4412             :       break;
    4413             :     }
    4414             :     return false;
    4415             :   case SP::SAVErr:
    4416           6 :     if (MI->getNumOperands() == 3 &&
    4417          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4418          14 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4419           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4420             :       // (SAVErr G0, G0, G0)
    4421             :       AsmString = "save";
    4422             :       break;
    4423             :     }
    4424             :     return false;
    4425             :   case SP::TICCri:
    4426          41 :     if (MI->getNumOperands() == 3 &&
    4427          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4428          42 :         MI->getOperand(2).isImm() &&
    4429          64 :         MI->getOperand(2).getImm() == 8 &&
    4430             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4431             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    4432             :       AsmString = "ta %icc, $\x02";
    4433             :       break;
    4434             :     }
    4435          39 :     if (MI->getNumOperands() == 3 &&
    4436          78 :         MI->getOperand(0).isReg() &&
    4437          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4438          78 :         MI->getOperand(2).isImm() &&
    4439          80 :         MI->getOperand(2).getImm() == 8 &&
    4440             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4441             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    4442             :       AsmString = "ta %icc, $\x01 + $\x02";
    4443             :       break;
    4444             :     }
    4445          37 :     if (MI->getNumOperands() == 3 &&
    4446          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4447          38 :         MI->getOperand(2).isImm() &&
    4448          57 :         MI->getOperand(2).getImm() == 0 &&
    4449             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4450             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    4451             :       AsmString = "tn %icc, $\x02";
    4452             :       break;
    4453             :     }
    4454          36 :     if (MI->getNumOperands() == 3 &&
    4455          72 :         MI->getOperand(0).isReg() &&
    4456          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4457          72 :         MI->getOperand(2).isImm() &&
    4458          73 :         MI->getOperand(2).getImm() == 0 &&
    4459             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4460             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    4461             :       AsmString = "tn %icc, $\x01 + $\x02";
    4462             :       break;
    4463             :     }
    4464          35 :     if (MI->getNumOperands() == 3 &&
    4465          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4466          36 :         MI->getOperand(2).isImm() &&
    4467          55 :         MI->getOperand(2).getImm() == 9 &&
    4468             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4469             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    4470             :       AsmString = "tne %icc, $\x02";
    4471             :       break;
    4472             :     }
    4473          33 :     if (MI->getNumOperands() == 3 &&
    4474          66 :         MI->getOperand(0).isReg() &&
    4475          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4476          66 :         MI->getOperand(2).isImm() &&
    4477          67 :         MI->getOperand(2).getImm() == 9 &&
    4478             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4479             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    4480             :       AsmString = "tne %icc, $\x01 + $\x02";
    4481             :       break;
    4482             :     }
    4483          32 :     if (MI->getNumOperands() == 3 &&
    4484          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4485          32 :         MI->getOperand(2).isImm() &&
    4486          49 :         MI->getOperand(2).getImm() == 1 &&
    4487             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4488             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    4489             :       AsmString = "te %icc, $\x02";
    4490             :       break;
    4491             :     }
    4492          31 :     if (MI->getNumOperands() == 3 &&
    4493          62 :         MI->getOperand(0).isReg() &&
    4494          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4495          62 :         MI->getOperand(2).isImm() &&
    4496          63 :         MI->getOperand(2).getImm() == 1 &&
    4497             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4498             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    4499             :       AsmString = "te %icc, $\x01 + $\x02";
    4500             :       break;
    4501             :     }
    4502          30 :     if (MI->getNumOperands() == 3 &&
    4503          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4504          30 :         MI->getOperand(2).isImm() &&
    4505          46 :         MI->getOperand(2).getImm() == 10 &&
    4506             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4507             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    4508             :       AsmString = "tg %icc, $\x02";
    4509             :       break;
    4510             :     }
    4511          29 :     if (MI->getNumOperands() == 3 &&
    4512          58 :         MI->getOperand(0).isReg() &&
    4513          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4514          58 :         MI->getOperand(2).isImm() &&
    4515          60 :         MI->getOperand(2).getImm() == 10 &&
    4516             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4517             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    4518             :       AsmString = "tg %icc, $\x01 + $\x02";
    4519             :       break;
    4520             :     }
    4521          27 :     if (MI->getNumOperands() == 3 &&
    4522          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4523          28 :         MI->getOperand(2).isImm() &&
    4524          42 :         MI->getOperand(2).getImm() == 2 &&
    4525             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4526             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    4527             :       AsmString = "tle %icc, $\x02";
    4528             :       break;
    4529             :     }
    4530          26 :     if (MI->getNumOperands() == 3 &&
    4531          52 :         MI->getOperand(0).isReg() &&
    4532          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4533          52 :         MI->getOperand(2).isImm() &&
    4534          53 :         MI->getOperand(2).getImm() == 2 &&
    4535             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4536             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    4537             :       AsmString = "tle %icc, $\x01 + $\x02";
    4538             :       break;
    4539             :     }
    4540          25 :     if (MI->getNumOperands() == 3 &&
    4541          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4542          26 :         MI->getOperand(2).isImm() &&
    4543          40 :         MI->getOperand(2).getImm() == 11 &&
    4544             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4545             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    4546             :       AsmString = "tge %icc, $\x02";
    4547             :       break;
    4548             :     }
    4549          23 :     if (MI->getNumOperands() == 3 &&
    4550          46 :         MI->getOperand(0).isReg() &&
    4551          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4552          46 :         MI->getOperand(2).isImm() &&
    4553          47 :         MI->getOperand(2).getImm() == 11 &&
    4554             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4555             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    4556             :       AsmString = "tge %icc, $\x01 + $\x02";
    4557             :       break;
    4558             :     }
    4559          22 :     if (MI->getNumOperands() == 3 &&
    4560          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4561          22 :         MI->getOperand(2).isImm() &&
    4562          34 :         MI->getOperand(2).getImm() == 3 &&
    4563             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4564             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    4565             :       AsmString = "tl %icc, $\x02";
    4566             :       break;
    4567             :     }
    4568          21 :     if (MI->getNumOperands() == 3 &&
    4569          42 :         MI->getOperand(0).isReg() &&
    4570          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4571          42 :         MI->getOperand(2).isImm() &&
    4572          43 :         MI->getOperand(2).getImm() == 3 &&
    4573             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4574             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    4575             :       AsmString = "tl %icc, $\x01 + $\x02";
    4576             :       break;
    4577             :     }
    4578          20 :     if (MI->getNumOperands() == 3 &&
    4579          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4580          20 :         MI->getOperand(2).isImm() &&
    4581          31 :         MI->getOperand(2).getImm() == 12 &&
    4582             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4583             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    4584             :       AsmString = "tgu %icc, $\x02";
    4585             :       break;
    4586             :     }
    4587          19 :     if (MI->getNumOperands() == 3 &&
    4588          38 :         MI->getOperand(0).isReg() &&
    4589          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4590          38 :         MI->getOperand(2).isImm() &&
    4591          40 :         MI->getOperand(2).getImm() == 12 &&
    4592             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4593             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    4594             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4595             :       break;
    4596             :     }
    4597          17 :     if (MI->getNumOperands() == 3 &&
    4598          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4599          18 :         MI->getOperand(2).isImm() &&
    4600          27 :         MI->getOperand(2).getImm() == 4 &&
    4601             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4602             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    4603             :       AsmString = "tleu %icc, $\x02";
    4604             :       break;
    4605             :     }
    4606          16 :     if (MI->getNumOperands() == 3 &&
    4607          32 :         MI->getOperand(0).isReg() &&
    4608          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4609          32 :         MI->getOperand(2).isImm() &&
    4610          33 :         MI->getOperand(2).getImm() == 4 &&
    4611             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4612             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    4613             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4614             :       break;
    4615             :     }
    4616          15 :     if (MI->getNumOperands() == 3 &&
    4617          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4618          16 :         MI->getOperand(2).isImm() &&
    4619          25 :         MI->getOperand(2).getImm() == 13 &&
    4620             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4621             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    4622             :       AsmString = "tcc %icc, $\x02";
    4623             :       break;
    4624             :     }
    4625          13 :     if (MI->getNumOperands() == 3 &&
    4626          26 :         MI->getOperand(0).isReg() &&
    4627          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4628          26 :         MI->getOperand(2).isImm() &&
    4629          27 :         MI->getOperand(2).getImm() == 13 &&
    4630             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4631             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    4632             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4633             :       break;
    4634             :     }
    4635          12 :     if (MI->getNumOperands() == 3 &&
    4636          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4637          12 :         MI->getOperand(2).isImm() &&
    4638          19 :         MI->getOperand(2).getImm() == 5 &&
    4639             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4640             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    4641             :       AsmString = "tcs %icc, $\x02";
    4642             :       break;
    4643             :     }
    4644          11 :     if (MI->getNumOperands() == 3 &&
    4645          22 :         MI->getOperand(0).isReg() &&
    4646          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4647          22 :         MI->getOperand(2).isImm() &&
    4648          23 :         MI->getOperand(2).getImm() == 5 &&
    4649             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4650             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    4651             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4652             :       break;
    4653             :     }
    4654          10 :     if (MI->getNumOperands() == 3 &&
    4655          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4656          10 :         MI->getOperand(2).isImm() &&
    4657          16 :         MI->getOperand(2).getImm() == 14 &&
    4658             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4659             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    4660             :       AsmString = "tpos %icc, $\x02";
    4661             :       break;
    4662             :     }
    4663           9 :     if (MI->getNumOperands() == 3 &&
    4664          18 :         MI->getOperand(0).isReg() &&
    4665          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4666          18 :         MI->getOperand(2).isImm() &&
    4667          20 :         MI->getOperand(2).getImm() == 14 &&
    4668             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4669             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    4670             :       AsmString = "tpos %icc, $\x01 + $\x02";
    4671             :       break;
    4672             :     }
    4673           7 :     if (MI->getNumOperands() == 3 &&
    4674          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4675           8 :         MI->getOperand(2).isImm() &&
    4676          12 :         MI->getOperand(2).getImm() == 6 &&
    4677             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4678             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    4679             :       AsmString = "tneg %icc, $\x02";
    4680             :       break;
    4681             :     }
    4682           6 :     if (MI->getNumOperands() == 3 &&
    4683          12 :         MI->getOperand(0).isReg() &&
    4684          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4685          12 :         MI->getOperand(2).isImm() &&
    4686          13 :         MI->getOperand(2).getImm() == 6 &&
    4687             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4688             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    4689             :       AsmString = "tneg %icc, $\x01 + $\x02";
    4690             :       break;
    4691             :     }
    4692           5 :     if (MI->getNumOperands() == 3 &&
    4693           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4694           6 :         MI->getOperand(2).isImm() &&
    4695          10 :         MI->getOperand(2).getImm() == 15 &&
    4696             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4697             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    4698             :       AsmString = "tvc %icc, $\x02";
    4699             :       break;
    4700             :     }
    4701           3 :     if (MI->getNumOperands() == 3 &&
    4702           6 :         MI->getOperand(0).isReg() &&
    4703           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4704           6 :         MI->getOperand(2).isImm() &&
    4705           7 :         MI->getOperand(2).getImm() == 15 &&
    4706             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4707             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    4708             :       AsmString = "tvc %icc, $\x01 + $\x02";
    4709             :       break;
    4710             :     }
    4711           2 :     if (MI->getNumOperands() == 3 &&
    4712           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4713           2 :         MI->getOperand(2).isImm() &&
    4714           4 :         MI->getOperand(2).getImm() == 7 &&
    4715             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4716             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    4717             :       AsmString = "tvs %icc, $\x02";
    4718             :       break;
    4719             :     }
    4720           1 :     if (MI->getNumOperands() == 3 &&
    4721           2 :         MI->getOperand(0).isReg() &&
    4722           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4723           2 :         MI->getOperand(2).isImm() &&
    4724           3 :         MI->getOperand(2).getImm() == 7 &&
    4725             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4726             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    4727             :       AsmString = "tvs %icc, $\x01 + $\x02";
    4728             :       break;
    4729             :     }
    4730             :     return false;
    4731             :   case SP::TICCrr:
    4732          44 :     if (MI->getNumOperands() == 3 &&
    4733          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4734          46 :         MI->getOperand(1).isReg() &&
    4735          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4736          46 :         MI->getOperand(2).isImm() &&
    4737          69 :         MI->getOperand(2).getImm() == 8 &&
    4738             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4739             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    4740             :       AsmString = "ta %icc, $\x02";
    4741             :       break;
    4742             :     }
    4743          42 :     if (MI->getNumOperands() == 3 &&
    4744          84 :         MI->getOperand(0).isReg() &&
    4745          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4746          84 :         MI->getOperand(1).isReg() &&
    4747          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4748          84 :         MI->getOperand(2).isImm() &&
    4749          86 :         MI->getOperand(2).getImm() == 8 &&
    4750             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4751             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    4752             :       AsmString = "ta %icc, $\x01 + $\x02";
    4753             :       break;
    4754             :     }
    4755          40 :     if (MI->getNumOperands() == 3 &&
    4756          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4757          42 :         MI->getOperand(1).isReg() &&
    4758          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4759          42 :         MI->getOperand(2).isImm() &&
    4760          63 :         MI->getOperand(2).getImm() == 0 &&
    4761             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4762             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    4763             :       AsmString = "tn %icc, $\x02";
    4764             :       break;
    4765             :     }
    4766          38 :     if (MI->getNumOperands() == 3 &&
    4767          76 :         MI->getOperand(0).isReg() &&
    4768          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4769          76 :         MI->getOperand(1).isReg() &&
    4770          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4771          76 :         MI->getOperand(2).isImm() &&
    4772          77 :         MI->getOperand(2).getImm() == 0 &&
    4773             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4774             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    4775             :       AsmString = "tn %icc, $\x01 + $\x02";
    4776             :       break;
    4777             :     }
    4778          37 :     if (MI->getNumOperands() == 3 &&
    4779          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4780          38 :         MI->getOperand(1).isReg() &&
    4781          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4782          38 :         MI->getOperand(2).isImm() &&
    4783          58 :         MI->getOperand(2).getImm() == 9 &&
    4784             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4785             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    4786             :       AsmString = "tne %icc, $\x02";
    4787             :       break;
    4788             :     }
    4789          35 :     if (MI->getNumOperands() == 3 &&
    4790          70 :         MI->getOperand(0).isReg() &&
    4791          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4792          70 :         MI->getOperand(1).isReg() &&
    4793          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4794          70 :         MI->getOperand(2).isImm() &&
    4795          71 :         MI->getOperand(2).getImm() == 9 &&
    4796             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4797             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    4798             :       AsmString = "tne %icc, $\x01 + $\x02";
    4799             :       break;
    4800             :     }
    4801          34 :     if (MI->getNumOperands() == 3 &&
    4802          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4803          34 :         MI->getOperand(1).isReg() &&
    4804          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4805          34 :         MI->getOperand(2).isImm() &&
    4806          53 :         MI->getOperand(2).getImm() == 1 &&
    4807             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4808             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    4809             :       AsmString = "te %icc, $\x02";
    4810             :       break;
    4811             :     }
    4812          32 :     if (MI->getNumOperands() == 3 &&
    4813          64 :         MI->getOperand(0).isReg() &&
    4814          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4815          64 :         MI->getOperand(1).isReg() &&
    4816          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4817          64 :         MI->getOperand(2).isImm() &&
    4818          66 :         MI->getOperand(2).getImm() == 1 &&
    4819             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4820             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    4821             :       AsmString = "te %icc, $\x01 + $\x02";
    4822             :       break;
    4823             :     }
    4824          30 :     if (MI->getNumOperands() == 3 &&
    4825          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4826          30 :         MI->getOperand(1).isReg() &&
    4827          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4828          30 :         MI->getOperand(2).isImm() &&
    4829          46 :         MI->getOperand(2).getImm() == 10 &&
    4830             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4831             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    4832             :       AsmString = "tg %icc, $\x02";
    4833             :       break;
    4834             :     }
    4835          29 :     if (MI->getNumOperands() == 3 &&
    4836          58 :         MI->getOperand(0).isReg() &&
    4837          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4838          58 :         MI->getOperand(1).isReg() &&
    4839          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4840          58 :         MI->getOperand(2).isImm() &&
    4841          59 :         MI->getOperand(2).getImm() == 10 &&
    4842             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4843             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    4844             :       AsmString = "tg %icc, $\x01 + $\x02";
    4845             :       break;
    4846             :     }
    4847          28 :     if (MI->getNumOperands() == 3 &&
    4848          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4849          28 :         MI->getOperand(1).isReg() &&
    4850          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4851          28 :         MI->getOperand(2).isImm() &&
    4852          44 :         MI->getOperand(2).getImm() == 2 &&
    4853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4854             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    4855             :       AsmString = "tle %icc, $\x02";
    4856             :       break;
    4857             :     }
    4858          26 :     if (MI->getNumOperands() == 3 &&
    4859          52 :         MI->getOperand(0).isReg() &&
    4860          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4861          52 :         MI->getOperand(1).isReg() &&
    4862          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4863          52 :         MI->getOperand(2).isImm() &&
    4864          53 :         MI->getOperand(2).getImm() == 2 &&
    4865             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4866             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    4867             :       AsmString = "tle %icc, $\x01 + $\x02";
    4868             :       break;
    4869             :     }
    4870          25 :     if (MI->getNumOperands() == 3 &&
    4871          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4872          24 :         MI->getOperand(1).isReg() &&
    4873          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4874          24 :         MI->getOperand(2).isImm() &&
    4875          38 :         MI->getOperand(2).getImm() == 11 &&
    4876             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4877             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    4878             :       AsmString = "tge %icc, $\x02";
    4879             :       break;
    4880             :     }
    4881          24 :     if (MI->getNumOperands() == 3 &&
    4882          48 :         MI->getOperand(0).isReg() &&
    4883          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4884          48 :         MI->getOperand(1).isReg() &&
    4885          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4886          48 :         MI->getOperand(2).isImm() &&
    4887          49 :         MI->getOperand(2).getImm() == 11 &&
    4888             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4889             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    4890             :       AsmString = "tge %icc, $\x01 + $\x02";
    4891             :       break;
    4892             :     }
    4893          23 :     if (MI->getNumOperands() == 3 &&
    4894          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4895          22 :         MI->getOperand(1).isReg() &&
    4896          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4897          22 :         MI->getOperand(2).isImm() &&
    4898          35 :         MI->getOperand(2).getImm() == 3 &&
    4899             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4900             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    4901             :       AsmString = "tl %icc, $\x02";
    4902             :       break;
    4903             :     }
    4904          22 :     if (MI->getNumOperands() == 3 &&
    4905          44 :         MI->getOperand(0).isReg() &&
    4906          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4907          44 :         MI->getOperand(1).isReg() &&
    4908          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4909          44 :         MI->getOperand(2).isImm() &&
    4910          46 :         MI->getOperand(2).getImm() == 3 &&
    4911             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4912             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    4913             :       AsmString = "tl %icc, $\x01 + $\x02";
    4914             :       break;
    4915             :     }
    4916          20 :     if (MI->getNumOperands() == 3 &&
    4917          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4918          20 :         MI->getOperand(1).isReg() &&
    4919          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4920          20 :         MI->getOperand(2).isImm() &&
    4921          31 :         MI->getOperand(2).getImm() == 12 &&
    4922             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4923             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    4924             :       AsmString = "tgu %icc, $\x02";
    4925             :       break;
    4926             :     }
    4927          19 :     if (MI->getNumOperands() == 3 &&
    4928          38 :         MI->getOperand(0).isReg() &&
    4929          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4930          38 :         MI->getOperand(1).isReg() &&
    4931          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4932          38 :         MI->getOperand(2).isImm() &&
    4933          39 :         MI->getOperand(2).getImm() == 12 &&
    4934             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4935             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    4936             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4937             :       break;
    4938             :     }
    4939          18 :     if (MI->getNumOperands() == 3 &&
    4940          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4941          18 :         MI->getOperand(1).isReg() &&
    4942          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4943          18 :         MI->getOperand(2).isImm() &&
    4944          29 :         MI->getOperand(2).getImm() == 4 &&
    4945             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4946             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    4947             :       AsmString = "tleu %icc, $\x02";
    4948             :       break;
    4949             :     }
    4950          16 :     if (MI->getNumOperands() == 3 &&
    4951          32 :         MI->getOperand(0).isReg() &&
    4952          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4953          32 :         MI->getOperand(1).isReg() &&
    4954          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4955          32 :         MI->getOperand(2).isImm() &&
    4956          33 :         MI->getOperand(2).getImm() == 4 &&
    4957             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4958             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    4959             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4960             :       break;
    4961             :     }
    4962          15 :     if (MI->getNumOperands() == 3 &&
    4963          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4964          14 :         MI->getOperand(1).isReg() &&
    4965          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4966          14 :         MI->getOperand(2).isImm() &&
    4967          23 :         MI->getOperand(2).getImm() == 13 &&
    4968             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4969             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    4970             :       AsmString = "tcc %icc, $\x02";
    4971             :       break;
    4972             :     }
    4973          14 :     if (MI->getNumOperands() == 3 &&
    4974          28 :         MI->getOperand(0).isReg() &&
    4975          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4976          28 :         MI->getOperand(1).isReg() &&
    4977          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4978          28 :         MI->getOperand(2).isImm() &&
    4979          29 :         MI->getOperand(2).getImm() == 13 &&
    4980             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4981             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    4982             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4983             :       break;
    4984             :     }
    4985          13 :     if (MI->getNumOperands() == 3 &&
    4986          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4987          12 :         MI->getOperand(1).isReg() &&
    4988          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4989          12 :         MI->getOperand(2).isImm() &&
    4990          20 :         MI->getOperand(2).getImm() == 5 &&
    4991             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4992             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    4993             :       AsmString = "tcs %icc, $\x02";
    4994             :       break;
    4995             :     }
    4996          12 :     if (MI->getNumOperands() == 3 &&
    4997          24 :         MI->getOperand(0).isReg() &&
    4998          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4999          24 :         MI->getOperand(1).isReg() &&
    5000          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5001          24 :         MI->getOperand(2).isImm() &&
    5002          26 :         MI->getOperand(2).getImm() == 5 &&
    5003             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5004             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5005             :       AsmString = "tcs %icc, $\x01 + $\x02";
    5006             :       break;
    5007             :     }
    5008          10 :     if (MI->getNumOperands() == 3 &&
    5009          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5010          10 :         MI->getOperand(1).isReg() &&
    5011          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5012          10 :         MI->getOperand(2).isImm() &&
    5013          16 :         MI->getOperand(2).getImm() == 14 &&
    5014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5015             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    5016             :       AsmString = "tpos %icc, $\x02";
    5017             :       break;
    5018             :     }
    5019           9 :     if (MI->getNumOperands() == 3 &&
    5020          18 :         MI->getOperand(0).isReg() &&
    5021          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5022          18 :         MI->getOperand(1).isReg() &&
    5023          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5024          18 :         MI->getOperand(2).isImm() &&
    5025          19 :         MI->getOperand(2).getImm() == 14 &&
    5026             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5027             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5028             :       AsmString = "tpos %icc, $\x01 + $\x02";
    5029             :       break;
    5030             :     }
    5031           8 :     if (MI->getNumOperands() == 3 &&
    5032          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5033           8 :         MI->getOperand(1).isReg() &&
    5034           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5035           8 :         MI->getOperand(2).isImm() &&
    5036          14 :         MI->getOperand(2).getImm() == 6 &&
    5037             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5038             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    5039             :       AsmString = "tneg %icc, $\x02";
    5040             :       break;
    5041             :     }
    5042           6 :     if (MI->getNumOperands() == 3 &&
    5043          12 :         MI->getOperand(0).isReg() &&
    5044          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5045          12 :         MI->getOperand(1).isReg() &&
    5046          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5047          12 :         MI->getOperand(2).isImm() &&
    5048          13 :         MI->getOperand(2).getImm() == 6 &&
    5049             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5050             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5051             :       AsmString = "tneg %icc, $\x01 + $\x02";
    5052             :       break;
    5053             :     }
    5054           5 :     if (MI->getNumOperands() == 3 &&
    5055           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5056           4 :         MI->getOperand(1).isReg() &&
    5057           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5058           4 :         MI->getOperand(2).isImm() &&
    5059           8 :         MI->getOperand(2).getImm() == 15 &&
    5060             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5061             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    5062             :       AsmString = "tvc %icc, $\x02";
    5063             :       break;
    5064             :     }
    5065           4 :     if (MI->getNumOperands() == 3 &&
    5066           8 :         MI->getOperand(0).isReg() &&
    5067           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5068           8 :         MI->getOperand(1).isReg() &&
    5069           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5070           8 :         MI->getOperand(2).isImm() &&
    5071           9 :         MI->getOperand(2).getImm() == 15 &&
    5072             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5073             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5074             :       AsmString = "tvc %icc, $\x01 + $\x02";
    5075             :       break;
    5076             :     }
    5077           3 :     if (MI->getNumOperands() == 3 &&
    5078           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5079           2 :         MI->getOperand(1).isReg() &&
    5080           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5081           2 :         MI->getOperand(2).isImm() &&
    5082           5 :         MI->getOperand(2).getImm() == 7 &&
    5083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5084             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    5085             :       AsmString = "tvs %icc, $\x02";
    5086             :       break;
    5087             :     }
    5088           2 :     if (MI->getNumOperands() == 3 &&
    5089           4 :         MI->getOperand(0).isReg() &&
    5090           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5091           4 :         MI->getOperand(1).isReg() &&
    5092           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5093           4 :         MI->getOperand(2).isImm() &&
    5094           6 :         MI->getOperand(2).getImm() == 7 &&
    5095             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5096             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5097             :       AsmString = "tvs %icc, $\x01 + $\x02";
    5098             :       break;
    5099             :     }
    5100             :     return false;
    5101             :   case SP::TRAPri:
    5102          48 :     if (MI->getNumOperands() == 3 &&
    5103          76 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5104         104 :         MI->getOperand(2).isImm() &&
    5105          28 :         MI->getOperand(2).getImm() == 8) {
    5106             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5107             :       AsmString = "ta $\x02";
    5108             :       break;
    5109             :     }
    5110          39 :     if (MI->getNumOperands() == 3 &&
    5111          78 :         MI->getOperand(0).isReg() &&
    5112          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5113         117 :         MI->getOperand(2).isImm() &&
    5114          39 :         MI->getOperand(2).getImm() == 8) {
    5115             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5116             :       AsmString = "ta $\x01 + $\x02";
    5117             :       break;
    5118             :     }
    5119          37 :     if (MI->getNumOperands() == 3 &&
    5120          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5121          75 :         MI->getOperand(2).isImm() &&
    5122          19 :         MI->getOperand(2).getImm() == 0) {
    5123             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5124             :       AsmString = "tn $\x02";
    5125             :       break;
    5126             :     }
    5127          36 :     if (MI->getNumOperands() == 3 &&
    5128          72 :         MI->getOperand(0).isReg() &&
    5129          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5130         108 :         MI->getOperand(2).isImm() &&
    5131          36 :         MI->getOperand(2).getImm() == 0) {
    5132             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5133             :       AsmString = "tn $\x01 + $\x02";
    5134             :       break;
    5135             :     }
    5136          35 :     if (MI->getNumOperands() == 3 &&
    5137          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5138          71 :         MI->getOperand(2).isImm() &&
    5139          18 :         MI->getOperand(2).getImm() == 9) {
    5140             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5141             :       AsmString = "tne $\x02";
    5142             :       break;
    5143             :     }
    5144          33 :     if (MI->getNumOperands() == 3 &&
    5145          66 :         MI->getOperand(0).isReg() &&
    5146          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5147          99 :         MI->getOperand(2).isImm() &&
    5148          33 :         MI->getOperand(2).getImm() == 9) {
    5149             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5150             :       AsmString = "tne $\x01 + $\x02";
    5151             :       break;
    5152             :     }
    5153          32 :     if (MI->getNumOperands() == 3 &&
    5154          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5155          64 :         MI->getOperand(2).isImm() &&
    5156          16 :         MI->getOperand(2).getImm() == 1) {
    5157             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5158             :       AsmString = "te $\x02";
    5159             :       break;
    5160             :     }
    5161          31 :     if (MI->getNumOperands() == 3 &&
    5162          62 :         MI->getOperand(0).isReg() &&
    5163          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5164          93 :         MI->getOperand(2).isImm() &&
    5165          31 :         MI->getOperand(2).getImm() == 1) {
    5166             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5167             :       AsmString = "te $\x01 + $\x02";
    5168             :       break;
    5169             :     }
    5170          30 :     if (MI->getNumOperands() == 3 &&
    5171          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5172          60 :         MI->getOperand(2).isImm() &&
    5173          15 :         MI->getOperand(2).getImm() == 10) {
    5174             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5175             :       AsmString = "tg $\x02";
    5176             :       break;
    5177             :     }
    5178          29 :     if (MI->getNumOperands() == 3 &&
    5179          58 :         MI->getOperand(0).isReg() &&
    5180          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5181          87 :         MI->getOperand(2).isImm() &&
    5182          29 :         MI->getOperand(2).getImm() == 10) {
    5183             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5184             :       AsmString = "tg $\x01 + $\x02";
    5185             :       break;
    5186             :     }
    5187          27 :     if (MI->getNumOperands() == 3 &&
    5188          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5189          55 :         MI->getOperand(2).isImm() &&
    5190          14 :         MI->getOperand(2).getImm() == 2) {
    5191             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5192             :       AsmString = "tle $\x02";
    5193             :       break;
    5194             :     }
    5195          26 :     if (MI->getNumOperands() == 3 &&
    5196          52 :         MI->getOperand(0).isReg() &&
    5197          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5198          78 :         MI->getOperand(2).isImm() &&
    5199          26 :         MI->getOperand(2).getImm() == 2) {
    5200             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5201             :       AsmString = "tle $\x01 + $\x02";
    5202             :       break;
    5203             :     }
    5204          25 :     if (MI->getNumOperands() == 3 &&
    5205          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5206          51 :         MI->getOperand(2).isImm() &&
    5207          13 :         MI->getOperand(2).getImm() == 11) {
    5208             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5209             :       AsmString = "tge $\x02";
    5210             :       break;
    5211             :     }
    5212          23 :     if (MI->getNumOperands() == 3 &&
    5213          46 :         MI->getOperand(0).isReg() &&
    5214          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5215          69 :         MI->getOperand(2).isImm() &&
    5216          23 :         MI->getOperand(2).getImm() == 11) {
    5217             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5218             :       AsmString = "tge $\x01 + $\x02";
    5219             :       break;
    5220             :     }
    5221          22 :     if (MI->getNumOperands() == 3 &&
    5222          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5223          44 :         MI->getOperand(2).isImm() &&
    5224          11 :         MI->getOperand(2).getImm() == 3) {
    5225             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5226             :       AsmString = "tl $\x02";
    5227             :       break;
    5228             :     }
    5229          21 :     if (MI->getNumOperands() == 3 &&
    5230          42 :         MI->getOperand(0).isReg() &&
    5231          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5232          63 :         MI->getOperand(2).isImm() &&
    5233          21 :         MI->getOperand(2).getImm() == 3) {
    5234             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5235             :       AsmString = "tl $\x01 + $\x02";
    5236             :       break;
    5237             :     }
    5238          20 :     if (MI->getNumOperands() == 3 &&
    5239          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5240          40 :         MI->getOperand(2).isImm() &&
    5241          10 :         MI->getOperand(2).getImm() == 12) {
    5242             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5243             :       AsmString = "tgu $\x02";
    5244             :       break;
    5245             :     }
    5246          19 :     if (MI->getNumOperands() == 3 &&
    5247          38 :         MI->getOperand(0).isReg() &&
    5248          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5249          57 :         MI->getOperand(2).isImm() &&
    5250          19 :         MI->getOperand(2).getImm() == 12) {
    5251             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5252             :       AsmString = "tgu $\x01 + $\x02";
    5253             :       break;
    5254             :     }
    5255          17 :     if (MI->getNumOperands() == 3 &&
    5256          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5257          35 :         MI->getOperand(2).isImm() &&
    5258           9 :         MI->getOperand(2).getImm() == 4) {
    5259             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5260             :       AsmString = "tleu $\x02";
    5261             :       break;
    5262             :     }
    5263          16 :     if (MI->getNumOperands() == 3 &&
    5264          32 :         MI->getOperand(0).isReg() &&
    5265          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5266          48 :         MI->getOperand(2).isImm() &&
    5267          16 :         MI->getOperand(2).getImm() == 4) {
    5268             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5269             :       AsmString = "tleu $\x01 + $\x02";
    5270             :       break;
    5271             :     }
    5272          15 :     if (MI->getNumOperands() == 3 &&
    5273          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5274          31 :         MI->getOperand(2).isImm() &&
    5275           8 :         MI->getOperand(2).getImm() == 13) {
    5276             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5277             :       AsmString = "tcc $\x02";
    5278             :       break;
    5279             :     }
    5280          13 :     if (MI->getNumOperands() == 3 &&
    5281          26 :         MI->getOperand(0).isReg() &&
    5282          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5283          39 :         MI->getOperand(2).isImm() &&
    5284          13 :         MI->getOperand(2).getImm() == 13) {
    5285             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5286             :       AsmString = "tcc $\x01 + $\x02";
    5287             :       break;
    5288             :     }
    5289          12 :     if (MI->getNumOperands() == 3 &&
    5290          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5291          24 :         MI->getOperand(2).isImm() &&
    5292           6 :         MI->getOperand(2).getImm() == 5) {
    5293             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5294             :       AsmString = "tcs $\x02";
    5295             :       break;
    5296             :     }
    5297          11 :     if (MI->getNumOperands() == 3 &&
    5298          22 :         MI->getOperand(0).isReg() &&
    5299          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5300          33 :         MI->getOperand(2).isImm() &&
    5301          11 :         MI->getOperand(2).getImm() == 5) {
    5302             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5303             :       AsmString = "tcs $\x01 + $\x02";
    5304             :       break;
    5305             :     }
    5306          10 :     if (MI->getNumOperands() == 3 &&
    5307          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5308          20 :         MI->getOperand(2).isImm() &&
    5309           5 :         MI->getOperand(2).getImm() == 14) {
    5310             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5311             :       AsmString = "tpos $\x02";
    5312             :       break;
    5313             :     }
    5314           9 :     if (MI->getNumOperands() == 3 &&
    5315          18 :         MI->getOperand(0).isReg() &&
    5316          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5317          27 :         MI->getOperand(2).isImm() &&
    5318           9 :         MI->getOperand(2).getImm() == 14) {
    5319             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5320             :       AsmString = "tpos $\x01 + $\x02";
    5321             :       break;
    5322             :     }
    5323           7 :     if (MI->getNumOperands() == 3 &&
    5324          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5325          15 :         MI->getOperand(2).isImm() &&
    5326           4 :         MI->getOperand(2).getImm() == 6) {
    5327             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5328             :       AsmString = "tneg $\x02";
    5329             :       break;
    5330             :     }
    5331           6 :     if (MI->getNumOperands() == 3 &&
    5332          12 :         MI->getOperand(0).isReg() &&
    5333          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5334          18 :         MI->getOperand(2).isImm() &&
    5335           6 :         MI->getOperand(2).getImm() == 6) {
    5336             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5337             :       AsmString = "tneg $\x01 + $\x02";
    5338             :       break;
    5339             :     }
    5340           5 :     if (MI->getNumOperands() == 3 &&
    5341           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5342          11 :         MI->getOperand(2).isImm() &&
    5343           3 :         MI->getOperand(2).getImm() == 15) {
    5344             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5345             :       AsmString = "tvc $\x02";
    5346             :       break;
    5347             :     }
    5348           3 :     if (MI->getNumOperands() == 3 &&
    5349           6 :         MI->getOperand(0).isReg() &&
    5350           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5351           9 :         MI->getOperand(2).isImm() &&
    5352           3 :         MI->getOperand(2).getImm() == 15) {
    5353             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    5354             :       AsmString = "tvc $\x01 + $\x02";
    5355             :       break;
    5356             :     }
    5357           2 :     if (MI->getNumOperands() == 3 &&
    5358           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5359           4 :         MI->getOperand(2).isImm() &&
    5360           1 :         MI->getOperand(2).getImm() == 7) {
    5361             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 1 })
    5362             :       AsmString = "tvs $\x02";
    5363             :       break;
    5364             :     }
    5365           1 :     if (MI->getNumOperands() == 3 &&
    5366           2 :         MI->getOperand(0).isReg() &&
    5367           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5368           3 :         MI->getOperand(2).isImm() &&
    5369           1 :         MI->getOperand(2).getImm() == 7) {
    5370             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    5371             :       AsmString = "tvs $\x01 + $\x02";
    5372             :       break;
    5373             :     }
    5374             :     return false;
    5375             :   case SP::TRAPrr:
    5376          44 :     if (MI->getNumOperands() == 3 &&
    5377          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5378          46 :         MI->getOperand(1).isReg() &&
    5379          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5380          90 :         MI->getOperand(2).isImm() &&
    5381          23 :         MI->getOperand(2).getImm() == 8) {
    5382             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 0 })
    5383             :       AsmString = "ta $\x02";
    5384             :       break;
    5385             :     }
    5386          42 :     if (MI->getNumOperands() == 3 &&
    5387          84 :         MI->getOperand(0).isReg() &&
    5388          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5389          84 :         MI->getOperand(1).isReg() &&
    5390          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5391         126 :         MI->getOperand(2).isImm() &&
    5392          42 :         MI->getOperand(2).getImm() == 8) {
    5393             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    5394             :       AsmString = "ta $\x01 + $\x02";
    5395             :       break;
    5396             :     }
    5397          40 :     if (MI->getNumOperands() == 3 &&
    5398          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5399          42 :         MI->getOperand(1).isReg() &&
    5400          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5401          82 :         MI->getOperand(2).isImm() &&
    5402          21 :         MI->getOperand(2).getImm() == 0) {
    5403             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 0 })
    5404             :       AsmString = "tn $\x02";
    5405             :       break;
    5406             :     }
    5407          38 :     if (MI->getNumOperands() == 3 &&
    5408          76 :         MI->getOperand(0).isReg() &&
    5409          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5410          76 :         MI->getOperand(1).isReg() &&
    5411          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5412         114 :         MI->getOperand(2).isImm() &&
    5413          38 :         MI->getOperand(2).getImm() == 0) {
    5414             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    5415             :       AsmString = "tn $\x01 + $\x02";
    5416             :       break;
    5417             :     }
    5418          37 :     if (MI->getNumOperands() == 3 &&
    5419          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5420          38 :         MI->getOperand(1).isReg() &&
    5421          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5422          75 :         MI->getOperand(2).isImm() &&
    5423          19 :         MI->getOperand(2).getImm() == 9) {
    5424             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 1 })
    5425             :       AsmString = "tne $\x02";
    5426             :       break;
    5427             :     }
    5428          35 :     if (MI->getNumOperands() == 3 &&
    5429          70 :         MI->getOperand(0).isReg() &&
    5430          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5431          70 :         MI->getOperand(1).isReg() &&
    5432          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5433         105 :         MI->getOperand(2).isImm() &&
    5434          35 :         MI->getOperand(2).getImm() == 9) {
    5435             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    5436             :       AsmString = "tne $\x01 + $\x02";
    5437             :       break;
    5438             :     }
    5439          34 :     if (MI->getNumOperands() == 3 &&
    5440          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5441          34 :         MI->getOperand(1).isReg() &&
    5442          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5443          68 :         MI->getOperand(2).isImm() &&
    5444          17 :         MI->getOperand(2).getImm() == 1) {
    5445             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 1 })
    5446             :       AsmString = "te $\x02";
    5447             :       break;
    5448             :     }
    5449          32 :     if (MI->getNumOperands() == 3 &&
    5450          64 :         MI->getOperand(0).isReg() &&
    5451          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5452          64 :         MI->getOperand(1).isReg() &&
    5453          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5454          96 :         MI->getOperand(2).isImm() &&
    5455          32 :         MI->getOperand(2).getImm() == 1) {
    5456             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    5457             :       AsmString = "te $\x01 + $\x02";
    5458             :       break;
    5459             :     }
    5460          30 :     if (MI->getNumOperands() == 3 &&
    5461          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5462          30 :         MI->getOperand(1).isReg() &&
    5463          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5464          60 :         MI->getOperand(2).isImm() &&
    5465          15 :         MI->getOperand(2).getImm() == 10) {
    5466             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 0 })
    5467             :       AsmString = "tg $\x02";
    5468             :       break;
    5469             :     }
    5470          29 :     if (MI->getNumOperands() == 3 &&
    5471          58 :         MI->getOperand(0).isReg() &&
    5472          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5473          58 :         MI->getOperand(1).isReg() &&
    5474          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5475          87 :         MI->getOperand(2).isImm() &&
    5476          29 :         MI->getOperand(2).getImm() == 10) {
    5477             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    5478             :       AsmString = "tg $\x01 + $\x02";
    5479             :       break;
    5480             :     }
    5481          28 :     if (MI->getNumOperands() == 3 &&
    5482          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5483          28 :         MI->getOperand(1).isReg() &&
    5484          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5485          56 :         MI->getOperand(2).isImm() &&
    5486          14 :         MI->getOperand(2).getImm() == 2) {
    5487             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 0 })
    5488             :       AsmString = "tle $\x02";
    5489             :       break;
    5490             :     }
    5491          26 :     if (MI->getNumOperands() == 3 &&
    5492          52 :         MI->getOperand(0).isReg() &&
    5493          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5494          52 :         MI->getOperand(1).isReg() &&
    5495          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5496          78 :         MI->getOperand(2).isImm() &&
    5497          26 :         MI->getOperand(2).getImm() == 2) {
    5498             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    5499             :       AsmString = "tle $\x01 + $\x02";
    5500             :       break;
    5501             :     }
    5502          25 :     if (MI->getNumOperands() == 3 &&
    5503          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5504          24 :         MI->getOperand(1).isReg() &&
    5505          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5506          49 :         MI->getOperand(2).isImm() &&
    5507          12 :         MI->getOperand(2).getImm() == 11) {
    5508             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 1 })
    5509             :       AsmString = "tge $\x02";
    5510             :       break;
    5511             :     }
    5512          24 :     if (MI->getNumOperands() == 3 &&
    5513          48 :         MI->getOperand(0).isReg() &&
    5514          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5515          48 :         MI->getOperand(1).isReg() &&
    5516          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5517          72 :         MI->getOperand(2).isImm() &&
    5518          24 :         MI->getOperand(2).getImm() == 11) {
    5519             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    5520             :       AsmString = "tge $\x01 + $\x02";
    5521             :       break;
    5522             :     }
    5523          23 :     if (MI->getNumOperands() == 3 &&
    5524          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5525          22 :         MI->getOperand(1).isReg() &&
    5526          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5527          45 :         MI->getOperand(2).isImm() &&
    5528          11 :         MI->getOperand(2).getImm() == 3) {
    5529             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 1 })
    5530             :       AsmString = "tl $\x02";
    5531             :       break;
    5532             :     }
    5533          22 :     if (MI->getNumOperands() == 3 &&
    5534          44 :         MI->getOperand(0).isReg() &&
    5535          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5536          44 :         MI->getOperand(1).isReg() &&
    5537          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5538          66 :         MI->getOperand(2).isImm() &&
    5539          22 :         MI->getOperand(2).getImm() == 3) {
    5540             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    5541             :       AsmString = "tl $\x01 + $\x02";
    5542             :       break;
    5543             :     }
    5544          20 :     if (MI->getNumOperands() == 3 &&
    5545          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5546          20 :         MI->getOperand(1).isReg() &&
    5547          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5548          40 :         MI->getOperand(2).isImm() &&
    5549          10 :         MI->getOperand(2).getImm() == 12) {
    5550             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 0 })
    5551             :       AsmString = "tgu $\x02";
    5552             :       break;
    5553             :     }
    5554          19 :     if (MI->getNumOperands() == 3 &&
    5555          38 :         MI->getOperand(0).isReg() &&
    5556          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5557          38 :         MI->getOperand(1).isReg() &&
    5558          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5559          57 :         MI->getOperand(2).isImm() &&
    5560          19 :         MI->getOperand(2).getImm() == 12) {
    5561             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    5562             :       AsmString = "tgu $\x01 + $\x02";
    5563             :       break;
    5564             :     }
    5565          18 :     if (MI->getNumOperands() == 3 &&
    5566          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5567          18 :         MI->getOperand(1).isReg() &&
    5568          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5569          36 :         MI->getOperand(2).isImm() &&
    5570           9 :         MI->getOperand(2).getImm() == 4) {
    5571             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 0 })
    5572             :       AsmString = "tleu $\x02";
    5573             :       break;
    5574             :     }
    5575          16 :     if (MI->getNumOperands() == 3 &&
    5576          32 :         MI->getOperand(0).isReg() &&
    5577          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5578          32 :         MI->getOperand(1).isReg() &&
    5579          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5580          48 :         MI->getOperand(2).isImm() &&
    5581          16 :         MI->getOperand(2).getImm() == 4) {
    5582             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    5583             :       AsmString = "tleu $\x01 + $\x02";
    5584             :       break;
    5585             :     }
    5586          15 :     if (MI->getNumOperands() == 3 &&
    5587          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5588          14 :         MI->getOperand(1).isReg() &&
    5589          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5590          29 :         MI->getOperand(2).isImm() &&
    5591           7 :         MI->getOperand(2).getImm() == 13) {
    5592             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 1 })
    5593             :       AsmString = "tcc $\x02";
    5594             :       break;
    5595             :     }
    5596          14 :     if (MI->getNumOperands() == 3 &&
    5597          28 :         MI->getOperand(0).isReg() &&
    5598          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5599          28 :         MI->getOperand(1).isReg() &&
    5600          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5601          42 :         MI->getOperand(2).isImm() &&
    5602          14 :         MI->getOperand(2).getImm() == 13) {
    5603             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    5604             :       AsmString = "tcc $\x01 + $\x02";
    5605             :       break;
    5606             :     }
    5607          13 :     if (MI->getNumOperands() == 3 &&
    5608          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5609          12 :         MI->getOperand(1).isReg() &&
    5610          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5611          25 :         MI->getOperand(2).isImm() &&
    5612           6 :         MI->getOperand(2).getImm() == 5) {
    5613             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 1 })
    5614             :       AsmString = "tcs $\x02";
    5615             :       break;
    5616             :     }
    5617          12 :     if (MI->getNumOperands() == 3 &&
    5618          24 :         MI->getOperand(0).isReg() &&
    5619          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5620          24 :         MI->getOperand(1).isReg() &&
    5621          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5622          36 :         MI->getOperand(2).isImm() &&
    5623          12 :         MI->getOperand(2).getImm() == 5) {
    5624             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5625             :       AsmString = "tcs $\x01 + $\x02";
    5626             :       break;
    5627             :     }
    5628          10 :     if (MI->getNumOperands() == 3 &&
    5629          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5630          10 :         MI->getOperand(1).isReg() &&
    5631          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5632          20 :         MI->getOperand(2).isImm() &&
    5633           5 :         MI->getOperand(2).getImm() == 14) {
    5634             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 0 })
    5635             :       AsmString = "tpos $\x02";
    5636             :       break;
    5637             :     }
    5638           9 :     if (MI->getNumOperands() == 3 &&
    5639          18 :         MI->getOperand(0).isReg() &&
    5640          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5641          18 :         MI->getOperand(1).isReg() &&
    5642          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5643          27 :         MI->getOperand(2).isImm() &&
    5644           9 :         MI->getOperand(2).getImm() == 14) {
    5645             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5646             :       AsmString = "tpos $\x01 + $\x02";
    5647             :       break;
    5648             :     }
    5649           8 :     if (MI->getNumOperands() == 3 &&
    5650          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5651           8 :         MI->getOperand(1).isReg() &&
    5652           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5653          16 :         MI->getOperand(2).isImm() &&
    5654           4 :         MI->getOperand(2).getImm() == 6) {
    5655             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 0 })
    5656             :       AsmString = "tneg $\x02";
    5657             :       break;
    5658             :     }
    5659           6 :     if (MI->getNumOperands() == 3 &&
    5660          12 :         MI->getOperand(0).isReg() &&
    5661          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5662          12 :         MI->getOperand(1).isReg() &&
    5663          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5664          18 :         MI->getOperand(2).isImm() &&
    5665           6 :         MI->getOperand(2).getImm() == 6) {
    5666             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5667             :       AsmString = "tneg $\x01 + $\x02";
    5668             :       break;
    5669             :     }
    5670           5 :     if (MI->getNumOperands() == 3 &&
    5671           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5672           4 :         MI->getOperand(1).isReg() &&
    5673           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5674           9 :         MI->getOperand(2).isImm() &&
    5675           2 :         MI->getOperand(2).getImm() == 15) {
    5676             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 1 })
    5677             :       AsmString = "tvc $\x02";
    5678             :       break;
    5679             :     }
    5680           4 :     if (MI->getNumOperands() == 3 &&
    5681           8 :         MI->getOperand(0).isReg() &&
    5682           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5683           8 :         MI->getOperand(1).isReg() &&
    5684           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5685          12 :         MI->getOperand(2).isImm() &&
    5686           4 :         MI->getOperand(2).getImm() == 15) {
    5687             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5688             :       AsmString = "tvc $\x01 + $\x02";
    5689             :       break;
    5690             :     }
    5691           3 :     if (MI->getNumOperands() == 3 &&
    5692           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5693           2 :         MI->getOperand(1).isReg() &&
    5694           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5695           5 :         MI->getOperand(2).isImm() &&
    5696           1 :         MI->getOperand(2).getImm() == 7) {
    5697             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 1 })
    5698             :       AsmString = "tvs $\x02";
    5699             :       break;
    5700             :     }
    5701           2 :     if (MI->getNumOperands() == 3 &&
    5702           4 :         MI->getOperand(0).isReg() &&
    5703           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5704           4 :         MI->getOperand(1).isReg() &&
    5705           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5706           6 :         MI->getOperand(2).isImm() &&
    5707           2 :         MI->getOperand(2).getImm() == 7) {
    5708             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5709             :       AsmString = "tvs $\x01 + $\x02";
    5710             :       break;
    5711             :     }
    5712             :     return false;
    5713             :   case SP::TXCCri:
    5714          41 :     if (MI->getNumOperands() == 3 &&
    5715          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5716          42 :         MI->getOperand(2).isImm() &&
    5717          64 :         MI->getOperand(2).getImm() == 8 &&
    5718             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5719             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5720             :       AsmString = "ta %xcc, $\x02";
    5721             :       break;
    5722             :     }
    5723          39 :     if (MI->getNumOperands() == 3 &&
    5724          78 :         MI->getOperand(0).isReg() &&
    5725          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5726          78 :         MI->getOperand(2).isImm() &&
    5727          80 :         MI->getOperand(2).getImm() == 8 &&
    5728             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5729             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5730             :       AsmString = "ta %xcc, $\x01 + $\x02";
    5731             :       break;
    5732             :     }
    5733          37 :     if (MI->getNumOperands() == 3 &&
    5734          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5735          38 :         MI->getOperand(2).isImm() &&
    5736          57 :         MI->getOperand(2).getImm() == 0 &&
    5737             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5738             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5739             :       AsmString = "tn %xcc, $\x02";
    5740             :       break;
    5741             :     }
    5742          36 :     if (MI->getNumOperands() == 3 &&
    5743          72 :         MI->getOperand(0).isReg() &&
    5744          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5745          72 :         MI->getOperand(2).isImm() &&
    5746          73 :         MI->getOperand(2).getImm() == 0 &&
    5747             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5748             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5749             :       AsmString = "tn %xcc, $\x01 + $\x02";
    5750             :       break;
    5751             :     }
    5752          35 :     if (MI->getNumOperands() == 3 &&
    5753          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5754          36 :         MI->getOperand(2).isImm() &&
    5755          55 :         MI->getOperand(2).getImm() == 9 &&
    5756             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5757             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5758             :       AsmString = "tne %xcc, $\x02";
    5759             :       break;
    5760             :     }
    5761          33 :     if (MI->getNumOperands() == 3 &&
    5762          66 :         MI->getOperand(0).isReg() &&
    5763          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5764          66 :         MI->getOperand(2).isImm() &&
    5765          67 :         MI->getOperand(2).getImm() == 9 &&
    5766             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5767             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5768             :       AsmString = "tne %xcc, $\x01 + $\x02";
    5769             :       break;
    5770             :     }
    5771          32 :     if (MI->getNumOperands() == 3 &&
    5772          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5773          32 :         MI->getOperand(2).isImm() &&
    5774          49 :         MI->getOperand(2).getImm() == 1 &&
    5775             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5776             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5777             :       AsmString = "te %xcc, $\x02";
    5778             :       break;
    5779             :     }
    5780          31 :     if (MI->getNumOperands() == 3 &&
    5781          62 :         MI->getOperand(0).isReg() &&
    5782          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5783          62 :         MI->getOperand(2).isImm() &&
    5784          63 :         MI->getOperand(2).getImm() == 1 &&
    5785             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5786             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5787             :       AsmString = "te %xcc, $\x01 + $\x02";
    5788             :       break;
    5789             :     }
    5790          30 :     if (MI->getNumOperands() == 3 &&
    5791          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5792          30 :         MI->getOperand(2).isImm() &&
    5793          46 :         MI->getOperand(2).getImm() == 10 &&
    5794             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5795             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5796             :       AsmString = "tg %xcc, $\x02";
    5797             :       break;
    5798             :     }
    5799          29 :     if (MI->getNumOperands() == 3 &&
    5800          58 :         MI->getOperand(0).isReg() &&
    5801          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5802          58 :         MI->getOperand(2).isImm() &&
    5803          60 :         MI->getOperand(2).getImm() == 10 &&
    5804             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5805             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5806             :       AsmString = "tg %xcc, $\x01 + $\x02";
    5807             :       break;
    5808             :     }
    5809          27 :     if (MI->getNumOperands() == 3 &&
    5810          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5811          28 :         MI->getOperand(2).isImm() &&
    5812          42 :         MI->getOperand(2).getImm() == 2 &&
    5813             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5814             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5815             :       AsmString = "tle %xcc, $\x02";
    5816             :       break;
    5817             :     }
    5818          26 :     if (MI->getNumOperands() == 3 &&
    5819          52 :         MI->getOperand(0).isReg() &&
    5820          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5821          52 :         MI->getOperand(2).isImm() &&
    5822          53 :         MI->getOperand(2).getImm() == 2 &&
    5823             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5824             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5825             :       AsmString = "tle %xcc, $\x01 + $\x02";
    5826             :       break;
    5827             :     }
    5828          25 :     if (MI->getNumOperands() == 3 &&
    5829          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5830          26 :         MI->getOperand(2).isImm() &&
    5831          40 :         MI->getOperand(2).getImm() == 11 &&
    5832             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5833             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5834             :       AsmString = "tge %xcc, $\x02";
    5835             :       break;
    5836             :     }
    5837          23 :     if (MI->getNumOperands() == 3 &&
    5838          46 :         MI->getOperand(0).isReg() &&
    5839          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5840          46 :         MI->getOperand(2).isImm() &&
    5841          47 :         MI->getOperand(2).getImm() == 11 &&
    5842             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5843             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5844             :       AsmString = "tge %xcc, $\x01 + $\x02";
    5845             :       break;
    5846             :     }
    5847          22 :     if (MI->getNumOperands() == 3 &&
    5848          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5849          22 :         MI->getOperand(2).isImm() &&
    5850          34 :         MI->getOperand(2).getImm() == 3 &&
    5851             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5852             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5853             :       AsmString = "tl %xcc, $\x02";
    5854             :       break;
    5855             :     }
    5856          21 :     if (MI->getNumOperands() == 3 &&
    5857          42 :         MI->getOperand(0).isReg() &&
    5858          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5859          42 :         MI->getOperand(2).isImm() &&
    5860          43 :         MI->getOperand(2).getImm() == 3 &&
    5861             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5862             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5863             :       AsmString = "tl %xcc, $\x01 + $\x02";
    5864             :       break;
    5865             :     }
    5866          20 :     if (MI->getNumOperands() == 3 &&
    5867          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5868          20 :         MI->getOperand(2).isImm() &&
    5869          31 :         MI->getOperand(2).getImm() == 12 &&
    5870             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5871             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5872             :       AsmString = "tgu %xcc, $\x02";
    5873             :       break;
    5874             :     }
    5875          19 :     if (MI->getNumOperands() == 3 &&
    5876          38 :         MI->getOperand(0).isReg() &&
    5877          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5878          38 :         MI->getOperand(2).isImm() &&
    5879          40 :         MI->getOperand(2).getImm() == 12 &&
    5880             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5881             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5882             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    5883             :       break;
    5884             :     }
    5885          17 :     if (MI->getNumOperands() == 3 &&
    5886          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5887          18 :         MI->getOperand(2).isImm() &&
    5888          27 :         MI->getOperand(2).getImm() == 4 &&
    5889             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5890             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5891             :       AsmString = "tleu %xcc, $\x02";
    5892             :       break;
    5893             :     }
    5894          16 :     if (MI->getNumOperands() == 3 &&
    5895          32 :         MI->getOperand(0).isReg() &&
    5896          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5897          32 :         MI->getOperand(2).isImm() &&
    5898          33 :         MI->getOperand(2).getImm() == 4 &&
    5899             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5900             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5901             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    5902             :       break;
    5903             :     }
    5904          15 :     if (MI->getNumOperands() == 3 &&
    5905          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5906          16 :         MI->getOperand(2).isImm() &&
    5907          25 :         MI->getOperand(2).getImm() == 13 &&
    5908             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5909             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5910             :       AsmString = "tcc %xcc, $\x02";
    5911             :       break;
    5912             :     }
    5913          13 :     if (MI->getNumOperands() == 3 &&
    5914          26 :         MI->getOperand(0).isReg() &&
    5915          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5916          26 :         MI->getOperand(2).isImm() &&
    5917          27 :         MI->getOperand(2).getImm() == 13 &&
    5918             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5919             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5920             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    5921             :       break;
    5922             :     }
    5923          12 :     if (MI->getNumOperands() == 3 &&
    5924          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5925          12 :         MI->getOperand(2).isImm() &&
    5926          19 :         MI->getOperand(2).getImm() == 5 &&
    5927             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5928             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5929             :       AsmString = "tcs %xcc, $\x02";
    5930             :       break;
    5931             :     }
    5932          11 :     if (MI->getNumOperands() == 3 &&
    5933          22 :         MI->getOperand(0).isReg() &&
    5934          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5935          22 :         MI->getOperand(2).isImm() &&
    5936          23 :         MI->getOperand(2).getImm() == 5 &&
    5937             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5938             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5939             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    5940             :       break;
    5941             :     }
    5942          10 :     if (MI->getNumOperands() == 3 &&
    5943          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5944          10 :         MI->getOperand(2).isImm() &&
    5945          16 :         MI->getOperand(2).getImm() == 14 &&
    5946             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5947             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5948             :       AsmString = "tpos %xcc, $\x02";
    5949             :       break;
    5950             :     }
    5951           9 :     if (MI->getNumOperands() == 3 &&
    5952          18 :         MI->getOperand(0).isReg() &&
    5953          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5954          18 :         MI->getOperand(2).isImm() &&
    5955          20 :         MI->getOperand(2).getImm() == 14 &&
    5956             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5957             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5958             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    5959             :       break;
    5960             :     }
    5961           7 :     if (MI->getNumOperands() == 3 &&
    5962          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5963           8 :         MI->getOperand(2).isImm() &&
    5964          12 :         MI->getOperand(2).getImm() == 6 &&
    5965             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5966             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5967             :       AsmString = "tneg %xcc, $\x02";
    5968             :       break;
    5969             :     }
    5970           6 :     if (MI->getNumOperands() == 3 &&
    5971          12 :         MI->getOperand(0).isReg() &&
    5972          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5973          12 :         MI->getOperand(2).isImm() &&
    5974          13 :         MI->getOperand(2).getImm() == 6 &&
    5975             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5976             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5977             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    5978             :       break;
    5979             :     }
    5980           5 :     if (MI->getNumOperands() == 3 &&
    5981           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5982           6 :         MI->getOperand(2).isImm() &&
    5983          10 :         MI->getOperand(2).getImm() == 15 &&
    5984             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5985             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5986             :       AsmString = "tvc %xcc, $\x02";
    5987             :       break;
    5988             :     }
    5989           3 :     if (MI->getNumOperands() == 3 &&
    5990           6 :         MI->getOperand(0).isReg() &&
    5991           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5992           6 :         MI->getOperand(2).isImm() &&
    5993           7 :         MI->getOperand(2).getImm() == 15 &&
    5994             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5995             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    5996             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    5997             :       break;
    5998             :     }
    5999           2 :     if (MI->getNumOperands() == 3 &&
    6000           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6001           2 :         MI->getOperand(2).isImm() &&
    6002           4 :         MI->getOperand(2).getImm() == 7 &&
    6003             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6004             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    6005             :       AsmString = "tvs %xcc, $\x02";
    6006             :       break;
    6007             :     }
    6008           1 :     if (MI->getNumOperands() == 3 &&
    6009           2 :         MI->getOperand(0).isReg() &&
    6010           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6011           2 :         MI->getOperand(2).isImm() &&
    6012           3 :         MI->getOperand(2).getImm() == 7 &&
    6013             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6014             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    6015             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6016             :       break;
    6017             :     }
    6018             :     return false;
    6019             :   case SP::TXCCrr:
    6020          44 :     if (MI->getNumOperands() == 3 &&
    6021          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6022          46 :         MI->getOperand(1).isReg() &&
    6023          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6024          46 :         MI->getOperand(2).isImm() &&
    6025          69 :         MI->getOperand(2).getImm() == 8 &&
    6026             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6027             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    6028             :       AsmString = "ta %xcc, $\x02";
    6029             :       break;
    6030             :     }
    6031          42 :     if (MI->getNumOperands() == 3 &&
    6032          84 :         MI->getOperand(0).isReg() &&
    6033          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6034          84 :         MI->getOperand(1).isReg() &&
    6035          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6036          84 :         MI->getOperand(2).isImm() &&
    6037          86 :         MI->getOperand(2).getImm() == 8 &&
    6038             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6039             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    6040             :       AsmString = "ta %xcc, $\x01 + $\x02";
    6041             :       break;
    6042             :     }
    6043          40 :     if (MI->getNumOperands() == 3 &&
    6044          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6045          42 :         MI->getOperand(1).isReg() &&
    6046          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6047          42 :         MI->getOperand(2).isImm() &&
    6048          63 :         MI->getOperand(2).getImm() == 0 &&
    6049             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6050             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    6051             :       AsmString = "tn %xcc, $\x02";
    6052             :       break;
    6053             :     }
    6054          38 :     if (MI->getNumOperands() == 3 &&
    6055          76 :         MI->getOperand(0).isReg() &&
    6056          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6057          76 :         MI->getOperand(1).isReg() &&
    6058          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6059          76 :         MI->getOperand(2).isImm() &&
    6060          77 :         MI->getOperand(2).getImm() == 0 &&
    6061             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6062             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    6063             :       AsmString = "tn %xcc, $\x01 + $\x02";
    6064             :       break;
    6065             :     }
    6066          37 :     if (MI->getNumOperands() == 3 &&
    6067          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6068          38 :         MI->getOperand(1).isReg() &&
    6069          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6070          38 :         MI->getOperand(2).isImm() &&
    6071          58 :         MI->getOperand(2).getImm() == 9 &&
    6072             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6073             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    6074             :       AsmString = "tne %xcc, $\x02";
    6075             :       break;
    6076             :     }
    6077          35 :     if (MI->getNumOperands() == 3 &&
    6078          70 :         MI->getOperand(0).isReg() &&
    6079          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6080          70 :         MI->getOperand(1).isReg() &&
    6081          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6082          70 :         MI->getOperand(2).isImm() &&
    6083          71 :         MI->getOperand(2).getImm() == 9 &&
    6084             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6085             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    6086             :       AsmString = "tne %xcc, $\x01 + $\x02";
    6087             :       break;
    6088             :     }
    6089          34 :     if (MI->getNumOperands() == 3 &&
    6090          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6091          34 :         MI->getOperand(1).isReg() &&
    6092          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6093          34 :         MI->getOperand(2).isImm() &&
    6094          53 :         MI->getOperand(2).getImm() == 1 &&
    6095             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6096             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    6097             :       AsmString = "te %xcc, $\x02";
    6098             :       break;
    6099             :     }
    6100          32 :     if (MI->getNumOperands() == 3 &&
    6101          64 :         MI->getOperand(0).isReg() &&
    6102          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6103          64 :         MI->getOperand(1).isReg() &&
    6104          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6105          64 :         MI->getOperand(2).isImm() &&
    6106          66 :         MI->getOperand(2).getImm() == 1 &&
    6107             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6108             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    6109             :       AsmString = "te %xcc, $\x01 + $\x02";
    6110             :       break;
    6111             :     }
    6112          30 :     if (MI->getNumOperands() == 3 &&
    6113          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6114          30 :         MI->getOperand(1).isReg() &&
    6115          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6116          30 :         MI->getOperand(2).isImm() &&
    6117          46 :         MI->getOperand(2).getImm() == 10 &&
    6118             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6119             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    6120             :       AsmString = "tg %xcc, $\x02";
    6121             :       break;
    6122             :     }
    6123          29 :     if (MI->getNumOperands() == 3 &&
    6124          58 :         MI->getOperand(0).isReg() &&
    6125          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6126          58 :         MI->getOperand(1).isReg() &&
    6127          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6128          58 :         MI->getOperand(2).isImm() &&
    6129          59 :         MI->getOperand(2).getImm() == 10 &&
    6130             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6131             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    6132             :       AsmString = "tg %xcc, $\x01 + $\x02";
    6133             :       break;
    6134             :     }
    6135          28 :     if (MI->getNumOperands() == 3 &&
    6136          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6137          28 :         MI->getOperand(1).isReg() &&
    6138          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6139          28 :         MI->getOperand(2).isImm() &&
    6140          44 :         MI->getOperand(2).getImm() == 2 &&
    6141             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6142             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    6143             :       AsmString = "tle %xcc, $\x02";
    6144             :       break;
    6145             :     }
    6146          26 :     if (MI->getNumOperands() == 3 &&
    6147          52 :         MI->getOperand(0).isReg() &&
    6148          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6149          52 :         MI->getOperand(1).isReg() &&
    6150          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6151          52 :         MI->getOperand(2).isImm() &&
    6152          53 :         MI->getOperand(2).getImm() == 2 &&
    6153             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6154             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    6155             :       AsmString = "tle %xcc, $\x01 + $\x02";
    6156             :       break;
    6157             :     }
    6158          25 :     if (MI->getNumOperands() == 3 &&
    6159          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6160          24 :         MI->getOperand(1).isReg() &&
    6161          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6162          24 :         MI->getOperand(2).isImm() &&
    6163          38 :         MI->getOperand(2).getImm() == 11 &&
    6164             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6165             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    6166             :       AsmString = "tge %xcc, $\x02";
    6167             :       break;
    6168             :     }
    6169          24 :     if (MI->getNumOperands() == 3 &&
    6170          48 :         MI->getOperand(0).isReg() &&
    6171          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6172          48 :         MI->getOperand(1).isReg() &&
    6173          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6174          48 :         MI->getOperand(2).isImm() &&
    6175          49 :         MI->getOperand(2).getImm() == 11 &&
    6176             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6177             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    6178             :       AsmString = "tge %xcc, $\x01 + $\x02";
    6179             :       break;
    6180             :     }
    6181          23 :     if (MI->getNumOperands() == 3 &&
    6182          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6183          22 :         MI->getOperand(1).isReg() &&
    6184          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6185          22 :         MI->getOperand(2).isImm() &&
    6186          35 :         MI->getOperand(2).getImm() == 3 &&
    6187             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6188             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    6189             :       AsmString = "tl %xcc, $\x02";
    6190             :       break;
    6191             :     }
    6192          22 :     if (MI->getNumOperands() == 3 &&
    6193          44 :         MI->getOperand(0).isReg() &&
    6194          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6195          44 :         MI->getOperand(1).isReg() &&
    6196          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6197          44 :         MI->getOperand(2).isImm() &&
    6198          46 :         MI->getOperand(2).getImm() == 3 &&
    6199             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6200             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    6201             :       AsmString = "tl %xcc, $\x01 + $\x02";
    6202             :       break;
    6203             :     }
    6204          20 :     if (MI->getNumOperands() == 3 &&
    6205          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6206          20 :         MI->getOperand(1).isReg() &&
    6207          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6208          20 :         MI->getOperand(2).isImm() &&
    6209          31 :         MI->getOperand(2).getImm() == 12 &&
    6210             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6211             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    6212             :       AsmString = "tgu %xcc, $\x02";
    6213             :       break;
    6214             :     }
    6215          19 :     if (MI->getNumOperands() == 3 &&
    6216          38 :         MI->getOperand(0).isReg() &&
    6217          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6218          38 :         MI->getOperand(1).isReg() &&
    6219          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6220          38 :         MI->getOperand(2).isImm() &&
    6221          39 :         MI->getOperand(2).getImm() == 12 &&
    6222             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6223             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    6224             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    6225             :       break;
    6226             :     }
    6227          18 :     if (MI->getNumOperands() == 3 &&
    6228          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6229          18 :         MI->getOperand(1).isReg() &&
    6230          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6231          18 :         MI->getOperand(2).isImm() &&
    6232          29 :         MI->getOperand(2).getImm() == 4 &&
    6233             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6234             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    6235             :       AsmString = "tleu %xcc, $\x02";
    6236             :       break;
    6237             :     }
    6238          16 :     if (MI->getNumOperands() == 3 &&
    6239          32 :         MI->getOperand(0).isReg() &&
    6240          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6241          32 :         MI->getOperand(1).isReg() &&
    6242          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6243          32 :         MI->getOperand(2).isImm() &&
    6244          33 :         MI->getOperand(2).getImm() == 4 &&
    6245             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6246             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    6247             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    6248             :       break;
    6249             :     }
    6250          15 :     if (MI->getNumOperands() == 3 &&
    6251          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6252          14 :         MI->getOperand(1).isReg() &&
    6253          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6254          14 :         MI->getOperand(2).isImm() &&
    6255          23 :         MI->getOperand(2).getImm() == 13 &&
    6256             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6257             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    6258             :       AsmString = "tcc %xcc, $\x02";
    6259             :       break;
    6260             :     }
    6261          14 :     if (MI->getNumOperands() == 3 &&
    6262          28 :         MI->getOperand(0).isReg() &&
    6263          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6264          28 :         MI->getOperand(1).isReg() &&
    6265          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6266          28 :         MI->getOperand(2).isImm() &&
    6267          29 :         MI->getOperand(2).getImm() == 13 &&
    6268             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6269             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    6270             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    6271             :       break;
    6272             :     }
    6273          13 :     if (MI->getNumOperands() == 3 &&
    6274          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6275          12 :         MI->getOperand(1).isReg() &&
    6276          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6277          12 :         MI->getOperand(2).isImm() &&
    6278          20 :         MI->getOperand(2).getImm() == 5 &&
    6279             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6280             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    6281             :       AsmString = "tcs %xcc, $\x02";
    6282             :       break;
    6283             :     }
    6284          12 :     if (MI->getNumOperands() == 3 &&
    6285          24 :         MI->getOperand(0).isReg() &&
    6286          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6287          24 :         MI->getOperand(1).isReg() &&
    6288          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6289          24 :         MI->getOperand(2).isImm() &&
    6290          26 :         MI->getOperand(2).getImm() == 5 &&
    6291             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6292             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    6293             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    6294             :       break;
    6295             :     }
    6296          10 :     if (MI->getNumOperands() == 3 &&
    6297          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6298          10 :         MI->getOperand(1).isReg() &&
    6299          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6300          10 :         MI->getOperand(2).isImm() &&
    6301          16 :         MI->getOperand(2).getImm() == 14 &&
    6302             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6303             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    6304             :       AsmString = "tpos %xcc, $\x02";
    6305             :       break;
    6306             :     }
    6307           9 :     if (MI->getNumOperands() == 3 &&
    6308          18 :         MI->getOperand(0).isReg() &&
    6309          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6310          18 :         MI->getOperand(1).isReg() &&
    6311          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6312          18 :         MI->getOperand(2).isImm() &&
    6313          19 :         MI->getOperand(2).getImm() == 14 &&
    6314             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6315             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    6316             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    6317             :       break;
    6318             :     }
    6319           8 :     if (MI->getNumOperands() == 3 &&
    6320          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6321           8 :         MI->getOperand(1).isReg() &&
    6322           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6323           8 :         MI->getOperand(2).isImm() &&
    6324          14 :         MI->getOperand(2).getImm() == 6 &&
    6325             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6326             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    6327             :       AsmString = "tneg %xcc, $\x02";
    6328             :       break;
    6329             :     }
    6330           6 :     if (MI->getNumOperands() == 3 &&
    6331          12 :         MI->getOperand(0).isReg() &&
    6332          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6333          12 :         MI->getOperand(1).isReg() &&
    6334          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6335          12 :         MI->getOperand(2).isImm() &&
    6336          13 :         MI->getOperand(2).getImm() == 6 &&
    6337             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6338             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    6339             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    6340             :       break;
    6341             :     }
    6342           5 :     if (MI->getNumOperands() == 3 &&
    6343           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6344           4 :         MI->getOperand(1).isReg() &&
    6345           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6346           4 :         MI->getOperand(2).isImm() &&
    6347           8 :         MI->getOperand(2).getImm() == 15 &&
    6348             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6349             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    6350             :       AsmString = "tvc %xcc, $\x02";
    6351             :       break;
    6352             :     }
    6353           4 :     if (MI->getNumOperands() == 3 &&
    6354           8 :         MI->getOperand(0).isReg() &&
    6355           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6356           8 :         MI->getOperand(1).isReg() &&
    6357           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6358           8 :         MI->getOperand(2).isImm() &&
    6359           9 :         MI->getOperand(2).getImm() == 15 &&
    6360             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6361             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    6362             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6363             :       break;
    6364             :     }
    6365           3 :     if (MI->getNumOperands() == 3 &&
    6366           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6367           2 :         MI->getOperand(1).isReg() &&
    6368           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6369           2 :         MI->getOperand(2).isImm() &&
    6370           5 :         MI->getOperand(2).getImm() == 7 &&
    6371             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6372             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    6373             :       AsmString = "tvs %xcc, $\x02";
    6374             :       break;
    6375             :     }
    6376           2 :     if (MI->getNumOperands() == 3 &&
    6377           4 :         MI->getOperand(0).isReg() &&
    6378           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6379           4 :         MI->getOperand(1).isReg() &&
    6380           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6381           4 :         MI->getOperand(2).isImm() &&
    6382           6 :         MI->getOperand(2).getImm() == 7 &&
    6383             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6384             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    6385             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6386             :       break;
    6387             :     }
    6388             :     return false;
    6389             :   case SP::V9FCMPD:
    6390           4 :     if (MI->getNumOperands() == 3 &&
    6391           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6392           6 :         MI->getOperand(1).isReg() &&
    6393           6 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6394          10 :         MI->getOperand(2).isReg() &&
    6395           3 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6396             :       // (V9FCMPD FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6397             :       AsmString = "fcmpd $\x02, $\x03";
    6398             :       break;
    6399             :     }
    6400             :     return false;
    6401             :   case SP::V9FCMPED:
    6402           3 :     if (MI->getNumOperands() == 3 &&
    6403           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6404           4 :         MI->getOperand(1).isReg() &&
    6405           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6406           7 :         MI->getOperand(2).isReg() &&
    6407           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6408             :       // (V9FCMPED FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6409             :       AsmString = "fcmped $\x02, $\x03";
    6410             :       break;
    6411             :     }
    6412             :     return false;
    6413             :   case SP::V9FCMPEQ:
    6414           3 :     if (MI->getNumOperands() == 3 &&
    6415           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6416           4 :         MI->getOperand(1).isReg() &&
    6417           4 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6418           7 :         MI->getOperand(2).isReg() &&
    6419           2 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6420             :       // (V9FCMPEQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6421             :       AsmString = "fcmpeq $\x02, $\x03";
    6422             :       break;
    6423             :     }
    6424             :     return false;
    6425             :   case SP::V9FCMPES:
    6426           3 :     if (MI->getNumOperands() == 3 &&
    6427           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6428           4 :         MI->getOperand(1).isReg() &&
    6429           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6430           7 :         MI->getOperand(2).isReg() &&
    6431           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6432             :       // (V9FCMPES FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6433             :       AsmString = "fcmpes $\x02, $\x03";
    6434             :       break;
    6435             :     }
    6436             :     return false;
    6437             :   case SP::V9FCMPQ:
    6438           4 :     if (MI->getNumOperands() == 3 &&
    6439           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6440           6 :         MI->getOperand(1).isReg() &&
    6441           6 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6442          10 :         MI->getOperand(2).isReg() &&
    6443           3 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6444             :       // (V9FCMPQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6445             :       AsmString = "fcmpq $\x02, $\x03";
    6446             :       break;
    6447             :     }
    6448             :     return false;
    6449             :   case SP::V9FCMPS:
    6450           4 :     if (MI->getNumOperands() == 3 &&
    6451           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6452           6 :         MI->getOperand(1).isReg() &&
    6453           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6454          10 :         MI->getOperand(2).isReg() &&
    6455           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6456             :       // (V9FCMPS FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6457             :       AsmString = "fcmps $\x02, $\x03";
    6458             :       break;
    6459             :     }
    6460             :     return false;
    6461             :   case SP::V9FMOVD_FCC:
    6462           0 :     if (MI->getNumOperands() == 5 &&
    6463           0 :         MI->getOperand(0).isReg() &&
    6464           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6465           0 :         MI->getOperand(1).isReg() &&
    6466           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6467           0 :         MI->getOperand(2).isReg() &&
    6468           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6469           0 :         MI->getOperand(4).isImm() &&
    6470           0 :         MI->getOperand(4).getImm() == 8 &&
    6471             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6472             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 0 })
    6473             :       AsmString = "fmovda $\x02, $\x03, $\x01";
    6474             :       break;
    6475             :     }
    6476           0 :     if (MI->getNumOperands() == 5 &&
    6477           0 :         MI->getOperand(0).isReg() &&
    6478           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6479           0 :         MI->getOperand(1).isReg() &&
    6480           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6481           0 :         MI->getOperand(2).isReg() &&
    6482           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6483           0 :         MI->getOperand(4).isImm() &&
    6484           0 :         MI->getOperand(4).getImm() == 0 &&
    6485             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6486             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 0 })
    6487             :       AsmString = "fmovdn $\x02, $\x03, $\x01";
    6488             :       break;
    6489             :     }
    6490           0 :     if (MI->getNumOperands() == 5 &&
    6491           0 :         MI->getOperand(0).isReg() &&
    6492           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6493           0 :         MI->getOperand(1).isReg() &&
    6494           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6495           0 :         MI->getOperand(2).isReg() &&
    6496           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6497           0 :         MI->getOperand(4).isImm() &&
    6498           0 :         MI->getOperand(4).getImm() == 7 &&
    6499             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6500             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 1 })
    6501             :       AsmString = "fmovdu $\x02, $\x03, $\x01";
    6502             :       break;
    6503             :     }
    6504           0 :     if (MI->getNumOperands() == 5 &&
    6505           0 :         MI->getOperand(0).isReg() &&
    6506           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6507           0 :         MI->getOperand(1).isReg() &&
    6508           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6509           0 :         MI->getOperand(2).isReg() &&
    6510           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6511           0 :         MI->getOperand(4).isImm() &&
    6512           0 :         MI->getOperand(4).getImm() == 6 &&
    6513             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6514             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 0 })
    6515             :       AsmString = "fmovdg $\x02, $\x03, $\x01";
    6516             :       break;
    6517             :     }
    6518           0 :     if (MI->getNumOperands() == 5 &&
    6519           0 :         MI->getOperand(0).isReg() &&
    6520           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6521           0 :         MI->getOperand(1).isReg() &&
    6522           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6523           0 :         MI->getOperand(2).isReg() &&
    6524           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6525           0 :         MI->getOperand(4).isImm() &&
    6526           0 :         MI->getOperand(4).getImm() == 5 &&
    6527             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6528             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 1 })
    6529             :       AsmString = "fmovdug $\x02, $\x03, $\x01";
    6530             :       break;
    6531             :     }
    6532           0 :     if (MI->getNumOperands() == 5 &&
    6533           0 :         MI->getOperand(0).isReg() &&
    6534           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6535           0 :         MI->getOperand(1).isReg() &&
    6536           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6537           0 :         MI->getOperand(2).isReg() &&
    6538           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6539           0 :         MI->getOperand(4).isImm() &&
    6540           0 :         MI->getOperand(4).getImm() == 4 &&
    6541             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6542             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 0 })
    6543             :       AsmString = "fmovdl $\x02, $\x03, $\x01";
    6544             :       break;
    6545             :     }
    6546           0 :     if (MI->getNumOperands() == 5 &&
    6547           0 :         MI->getOperand(0).isReg() &&
    6548           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6549           0 :         MI->getOperand(1).isReg() &&
    6550           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6551           0 :         MI->getOperand(2).isReg() &&
    6552           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6553           0 :         MI->getOperand(4).isImm() &&
    6554           0 :         MI->getOperand(4).getImm() == 3 &&
    6555             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6556             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 1 })
    6557             :       AsmString = "fmovdul $\x02, $\x03, $\x01";
    6558             :       break;
    6559             :     }
    6560           0 :     if (MI->getNumOperands() == 5 &&
    6561           0 :         MI->getOperand(0).isReg() &&
    6562           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6563           0 :         MI->getOperand(1).isReg() &&
    6564           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6565           0 :         MI->getOperand(2).isReg() &&
    6566           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6567           0 :         MI->getOperand(4).isImm() &&
    6568           0 :         MI->getOperand(4).getImm() == 2 &&
    6569             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6570             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 0 })
    6571             :       AsmString = "fmovdlg $\x02, $\x03, $\x01";
    6572             :       break;
    6573             :     }
    6574           0 :     if (MI->getNumOperands() == 5 &&
    6575           0 :         MI->getOperand(0).isReg() &&
    6576           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6577           0 :         MI->getOperand(1).isReg() &&
    6578           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6579           0 :         MI->getOperand(2).isReg() &&
    6580           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6581           0 :         MI->getOperand(4).isImm() &&
    6582           0 :         MI->getOperand(4).getImm() == 1 &&
    6583             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6584             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 1 })
    6585             :       AsmString = "fmovdne $\x02, $\x03, $\x01";
    6586             :       break;
    6587             :     }
    6588           0 :     if (MI->getNumOperands() == 5 &&
    6589           0 :         MI->getOperand(0).isReg() &&
    6590           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6591           0 :         MI->getOperand(1).isReg() &&
    6592           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6593           0 :         MI->getOperand(2).isReg() &&
    6594           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6595           0 :         MI->getOperand(4).isImm() &&
    6596           0 :         MI->getOperand(4).getImm() == 9 &&
    6597             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6598             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 1 })
    6599             :       AsmString = "fmovde $\x02, $\x03, $\x01";
    6600             :       break;
    6601             :     }
    6602           0 :     if (MI->getNumOperands() == 5 &&
    6603           0 :         MI->getOperand(0).isReg() &&
    6604           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6605           0 :         MI->getOperand(1).isReg() &&
    6606           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6607           0 :         MI->getOperand(2).isReg() &&
    6608           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6609           0 :         MI->getOperand(4).isImm() &&
    6610           0 :         MI->getOperand(4).getImm() == 10 &&
    6611             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6612             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 0 })
    6613             :       AsmString = "fmovdue $\x02, $\x03, $\x01";
    6614             :       break;
    6615             :     }
    6616           0 :     if (MI->getNumOperands() == 5 &&
    6617           0 :         MI->getOperand(0).isReg() &&
    6618           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6619           0 :         MI->getOperand(1).isReg() &&
    6620           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6621           0 :         MI->getOperand(2).isReg() &&
    6622           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6623           0 :         MI->getOperand(4).isImm() &&
    6624           0 :         MI->getOperand(4).getImm() == 11 &&
    6625             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6626             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 1 })
    6627             :       AsmString = "fmovdge $\x02, $\x03, $\x01";
    6628             :       break;
    6629             :     }
    6630           0 :     if (MI->getNumOperands() == 5 &&
    6631           0 :         MI->getOperand(0).isReg() &&
    6632           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6633           0 :         MI->getOperand(1).isReg() &&
    6634           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6635           0 :         MI->getOperand(2).isReg() &&
    6636           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6637           0 :         MI->getOperand(4).isImm() &&
    6638           0 :         MI->getOperand(4).getImm() == 12 &&
    6639             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6640             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 0 })
    6641             :       AsmString = "fmovduge $\x02, $\x03, $\x01";
    6642             :       break;
    6643             :     }
    6644           0 :     if (MI->getNumOperands() == 5 &&
    6645           0 :         MI->getOperand(0).isReg() &&
    6646           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6647           0 :         MI->getOperand(1).isReg() &&
    6648           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6649           0 :         MI->getOperand(2).isReg() &&
    6650           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6651           0 :         MI->getOperand(4).isImm() &&
    6652           0 :         MI->getOperand(4).getImm() == 13 &&
    6653             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6654             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 1 })
    6655             :       AsmString = "fmovdle $\x02, $\x03, $\x01";
    6656             :       break;
    6657             :     }
    6658           0 :     if (MI->getNumOperands() == 5 &&
    6659           0 :         MI->getOperand(0).isReg() &&
    6660           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6661           0 :         MI->getOperand(1).isReg() &&
    6662           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6663           0 :         MI->getOperand(2).isReg() &&
    6664           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6665           0 :         MI->getOperand(4).isImm() &&
    6666           0 :         MI->getOperand(4).getImm() == 14 &&
    6667             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6668             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 0 })
    6669             :       AsmString = "fmovdule $\x02, $\x03, $\x01";
    6670             :       break;
    6671             :     }
    6672           0 :     if (MI->getNumOperands() == 5 &&
    6673           0 :         MI->getOperand(0).isReg() &&
    6674           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6675           0 :         MI->getOperand(1).isReg() &&
    6676           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6677           0 :         MI->getOperand(2).isReg() &&
    6678           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6679           0 :         MI->getOperand(4).isImm() &&
    6680           0 :         MI->getOperand(4).getImm() == 15 &&
    6681             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6682             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 1 })
    6683             :       AsmString = "fmovdo $\x02, $\x03, $\x01";
    6684             :       break;
    6685             :     }
    6686             :     return false;
    6687             :   case SP::V9FMOVQ_FCC:
    6688           0 :     if (MI->getNumOperands() == 5 &&
    6689           0 :         MI->getOperand(0).isReg() &&
    6690           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6691           0 :         MI->getOperand(1).isReg() &&
    6692           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6693           0 :         MI->getOperand(2).isReg() &&
    6694           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6695           0 :         MI->getOperand(4).isImm() &&
    6696           0 :         MI->getOperand(4).getImm() == 8 &&
    6697             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6698             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 0 })
    6699             :       AsmString = "fmovqa $\x02, $\x03, $\x01";
    6700             :       break;
    6701             :     }
    6702           0 :     if (MI->getNumOperands() == 5 &&
    6703           0 :         MI->getOperand(0).isReg() &&
    6704           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6705           0 :         MI->getOperand(1).isReg() &&
    6706           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6707           0 :         MI->getOperand(2).isReg() &&
    6708           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6709           0 :         MI->getOperand(4).isImm() &&
    6710           0 :         MI->getOperand(4).getImm() == 0 &&
    6711             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6712             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 0 })
    6713             :       AsmString = "fmovqn $\x02, $\x03, $\x01";
    6714             :       break;
    6715             :     }
    6716           0 :     if (MI->getNumOperands() == 5 &&
    6717           0 :         MI->getOperand(0).isReg() &&
    6718           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6719           0 :         MI->getOperand(1).isReg() &&
    6720           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6721           0 :         MI->getOperand(2).isReg() &&
    6722           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6723           0 :         MI->getOperand(4).isImm() &&
    6724           0 :         MI->getOperand(4).getImm() == 7 &&
    6725             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6726             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 1 })
    6727             :       AsmString = "fmovqu $\x02, $\x03, $\x01";
    6728             :       break;
    6729             :     }
    6730           0 :     if (MI->getNumOperands() == 5 &&
    6731           0 :         MI->getOperand(0).isReg() &&
    6732           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6733           0 :         MI->getOperand(1).isReg() &&
    6734           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6735           0 :         MI->getOperand(2).isReg() &&
    6736           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6737           0 :         MI->getOperand(4).isImm() &&
    6738           0 :         MI->getOperand(4).getImm() == 6 &&
    6739             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6740             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 0 })
    6741             :       AsmString = "fmovqg $\x02, $\x03, $\x01";
    6742             :       break;
    6743             :     }
    6744           0 :     if (MI->getNumOperands() == 5 &&
    6745           0 :         MI->getOperand(0).isReg() &&
    6746           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6747           0 :         MI->getOperand(1).isReg() &&
    6748           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6749           0 :         MI->getOperand(2).isReg() &&
    6750           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6751           0 :         MI->getOperand(4).isImm() &&
    6752           0 :         MI->getOperand(4).getImm() == 5 &&
    6753             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6754             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 1 })
    6755             :       AsmString = "fmovqug $\x02, $\x03, $\x01";
    6756             :       break;
    6757             :     }
    6758           0 :     if (MI->getNumOperands() == 5 &&
    6759           0 :         MI->getOperand(0).isReg() &&
    6760           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6761           0 :         MI->getOperand(1).isReg() &&
    6762           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6763           0 :         MI->getOperand(2).isReg() &&
    6764           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6765           0 :         MI->getOperand(4).isImm() &&
    6766           0 :         MI->getOperand(4).getImm() == 4 &&
    6767             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6768             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 0 })
    6769             :       AsmString = "fmovql $\x02, $\x03, $\x01";
    6770             :       break;
    6771             :     }
    6772           0 :     if (MI->getNumOperands() == 5 &&
    6773           0 :         MI->getOperand(0).isReg() &&
    6774           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6775           0 :         MI->getOperand(1).isReg() &&
    6776           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6777           0 :         MI->getOperand(2).isReg() &&
    6778           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6779           0 :         MI->getOperand(4).isImm() &&
    6780           0 :         MI->getOperand(4).getImm() == 3 &&
    6781             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6782             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 1 })
    6783             :       AsmString = "fmovqul $\x02, $\x03, $\x01";
    6784             :       break;
    6785             :     }
    6786           0 :     if (MI->getNumOperands() == 5 &&
    6787           0 :         MI->getOperand(0).isReg() &&
    6788           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6789           0 :         MI->getOperand(1).isReg() &&
    6790           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6791           0 :         MI->getOperand(2).isReg() &&
    6792           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6793           0 :         MI->getOperand(4).isImm() &&
    6794           0 :         MI->getOperand(4).getImm() == 2 &&
    6795             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6796             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 0 })
    6797             :       AsmString = "fmovqlg $\x02, $\x03, $\x01";
    6798             :       break;
    6799             :     }
    6800           0 :     if (MI->getNumOperands() == 5 &&
    6801           0 :         MI->getOperand(0).isReg() &&
    6802           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6803           0 :         MI->getOperand(1).isReg() &&
    6804           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6805           0 :         MI->getOperand(2).isReg() &&
    6806           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6807           0 :         MI->getOperand(4).isImm() &&
    6808           0 :         MI->getOperand(4).getImm() == 1 &&
    6809             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6810             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 1 })
    6811             :       AsmString = "fmovqne $\x02, $\x03, $\x01";
    6812             :       break;
    6813             :     }
    6814           0 :     if (MI->getNumOperands() == 5 &&
    6815           0 :         MI->getOperand(0).isReg() &&
    6816           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6817           0 :         MI->getOperand(1).isReg() &&
    6818           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6819           0 :         MI->getOperand(2).isReg() &&
    6820           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6821           0 :         MI->getOperand(4).isImm() &&
    6822           0 :         MI->getOperand(4).getImm() == 9 &&
    6823             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6824             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 1 })
    6825             :       AsmString = "fmovqe $\x02, $\x03, $\x01";
    6826             :       break;
    6827             :     }
    6828           0 :     if (MI->getNumOperands() == 5 &&
    6829           0 :         MI->getOperand(0).isReg() &&
    6830           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6831           0 :         MI->getOperand(1).isReg() &&
    6832           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6833           0 :         MI->getOperand(2).isReg() &&
    6834           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6835           0 :         MI->getOperand(4).isImm() &&
    6836           0 :         MI->getOperand(4).getImm() == 10 &&
    6837             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6838             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 0 })
    6839             :       AsmString = "fmovque $\x02, $\x03, $\x01";
    6840             :       break;
    6841             :     }
    6842           0 :     if (MI->getNumOperands() == 5 &&
    6843           0 :         MI->getOperand(0).isReg() &&
    6844           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6845           0 :         MI->getOperand(1).isReg() &&
    6846           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6847           0 :         MI->getOperand(2).isReg() &&
    6848           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6849           0 :         MI->getOperand(4).isImm() &&
    6850           0 :         MI->getOperand(4).getImm() == 11 &&
    6851             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6852             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 1 })
    6853             :       AsmString = "fmovqge $\x02, $\x03, $\x01";
    6854             :       break;
    6855             :     }
    6856           0 :     if (MI->getNumOperands() == 5 &&
    6857           0 :         MI->getOperand(0).isReg() &&
    6858           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6859           0 :         MI->getOperand(1).isReg() &&
    6860           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6861           0 :         MI->getOperand(2).isReg() &&
    6862           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6863           0 :         MI->getOperand(4).isImm() &&
    6864           0 :         MI->getOperand(4).getImm() == 12 &&
    6865             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6866             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 0 })
    6867             :       AsmString = "fmovquge $\x02, $\x03, $\x01";
    6868             :       break;
    6869             :     }
    6870           0 :     if (MI->getNumOperands() == 5 &&
    6871           0 :         MI->getOperand(0).isReg() &&
    6872           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6873           0 :         MI->getOperand(1).isReg() &&
    6874           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6875           0 :         MI->getOperand(2).isReg() &&
    6876           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6877           0 :         MI->getOperand(4).isImm() &&
    6878           0 :         MI->getOperand(4).getImm() == 13 &&
    6879             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6880             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 1 })
    6881             :       AsmString = "fmovqle $\x02, $\x03, $\x01";
    6882             :       break;
    6883             :     }
    6884           0 :     if (MI->getNumOperands() == 5 &&
    6885           0 :         MI->getOperand(0).isReg() &&
    6886           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6887           0 :         MI->getOperand(1).isReg() &&
    6888           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6889           0 :         MI->getOperand(2).isReg() &&
    6890           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6891           0 :         MI->getOperand(4).isImm() &&
    6892           0 :         MI->getOperand(4).getImm() == 14 &&
    6893             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6894             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 0 })
    6895             :       AsmString = "fmovqule $\x02, $\x03, $\x01";
    6896             :       break;
    6897             :     }
    6898           0 :     if (MI->getNumOperands() == 5 &&
    6899           0 :         MI->getOperand(0).isReg() &&
    6900           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6901           0 :         MI->getOperand(1).isReg() &&
    6902           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6903           0 :         MI->getOperand(2).isReg() &&
    6904           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6905           0 :         MI->getOperand(4).isImm() &&
    6906           0 :         MI->getOperand(4).getImm() == 15 &&
    6907             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6908             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 1 })
    6909             :       AsmString = "fmovqo $\x02, $\x03, $\x01";
    6910             :       break;
    6911             :     }
    6912             :     return false;
    6913             :   case SP::V9FMOVS_FCC:
    6914          15 :     if (MI->getNumOperands() == 5 &&
    6915          30 :         MI->getOperand(0).isReg() &&
    6916          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6917          30 :         MI->getOperand(1).isReg() &&
    6918          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6919          30 :         MI->getOperand(2).isReg() &&
    6920          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6921          30 :         MI->getOperand(4).isImm() &&
    6922          30 :         MI->getOperand(4).getImm() == 8 &&
    6923             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6924             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 0 })
    6925             :       AsmString = "fmovsa $\x02, $\x03, $\x01";
    6926             :       break;
    6927             :     }
    6928          15 :     if (MI->getNumOperands() == 5 &&
    6929          30 :         MI->getOperand(0).isReg() &&
    6930          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6931          30 :         MI->getOperand(1).isReg() &&
    6932          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6933          30 :         MI->getOperand(2).isReg() &&
    6934          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6935          30 :         MI->getOperand(4).isImm() &&
    6936          30 :         MI->getOperand(4).getImm() == 0 &&
    6937             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6938             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 0 })
    6939             :       AsmString = "fmovsn $\x02, $\x03, $\x01";
    6940             :       break;
    6941             :     }
    6942          15 :     if (MI->getNumOperands() == 5 &&
    6943          30 :         MI->getOperand(0).isReg() &&
    6944          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6945          30 :         MI->getOperand(1).isReg() &&
    6946          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6947          30 :         MI->getOperand(2).isReg() &&
    6948          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6949          30 :         MI->getOperand(4).isImm() &&
    6950          31 :         MI->getOperand(4).getImm() == 7 &&
    6951             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6952             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 1 })
    6953             :       AsmString = "fmovsu $\x02, $\x03, $\x01";
    6954             :       break;
    6955             :     }
    6956          14 :     if (MI->getNumOperands() == 5 &&
    6957          28 :         MI->getOperand(0).isReg() &&
    6958          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6959          28 :         MI->getOperand(1).isReg() &&
    6960          28 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6961          28 :         MI->getOperand(2).isReg() &&
    6962          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6963          28 :         MI->getOperand(4).isImm() &&
    6964          30 :         MI->getOperand(4).getImm() == 6 &&
    6965             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6966             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 0 })
    6967             :       AsmString = "fmovsg $\x02, $\x03, $\x01";
    6968             :       break;
    6969             :     }
    6970          12 :     if (MI->getNumOperands() == 5 &&
    6971          24 :         MI->getOperand(0).isReg() &&
    6972          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6973          24 :         MI->getOperand(1).isReg() &&
    6974          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6975          24 :         MI->getOperand(2).isReg() &&
    6976          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6977          24 :         MI->getOperand(4).isImm() &&
    6978          25 :         MI->getOperand(4).getImm() == 5 &&
    6979             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6980             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 1 })
    6981             :       AsmString = "fmovsug $\x02, $\x03, $\x01";
    6982             :       break;
    6983             :     }
    6984          11 :     if (MI->getNumOperands() == 5 &&
    6985          22 :         MI->getOperand(0).isReg() &&
    6986          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6987          22 :         MI->getOperand(1).isReg() &&
    6988          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6989          22 :         MI->getOperand(2).isReg() &&
    6990          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6991          22 :         MI->getOperand(4).isImm() &&
    6992          23 :         MI->getOperand(4).getImm() == 4 &&
    6993             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6994             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 0 })
    6995             :       AsmString = "fmovsl $\x02, $\x03, $\x01";
    6996             :       break;
    6997             :     }
    6998          10 :     if (MI->getNumOperands() == 5 &&
    6999          20 :         MI->getOperand(0).isReg() &&
    7000          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7001          20 :         MI->getOperand(1).isReg() &&
    7002          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7003          20 :         MI->getOperand(2).isReg() &&
    7004          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7005          20 :         MI->getOperand(4).isImm() &&
    7006          21 :         MI->getOperand(4).getImm() == 3 &&
    7007             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7008             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 1 })
    7009             :       AsmString = "fmovsul $\x02, $\x03, $\x01";
    7010             :       break;
    7011             :     }
    7012           9 :     if (MI->getNumOperands() == 5 &&
    7013          18 :         MI->getOperand(0).isReg() &&
    7014          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7015          18 :         MI->getOperand(1).isReg() &&
    7016          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7017          18 :         MI->getOperand(2).isReg() &&
    7018          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7019          18 :         MI->getOperand(4).isImm() &&
    7020          19 :         MI->getOperand(4).getImm() == 2 &&
    7021             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7022             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 0 })
    7023             :       AsmString = "fmovslg $\x02, $\x03, $\x01";
    7024             :       break;
    7025             :     }
    7026           8 :     if (MI->getNumOperands() == 5 &&
    7027          16 :         MI->getOperand(0).isReg() &&
    7028          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7029          16 :         MI->getOperand(1).isReg() &&
    7030          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7031          16 :         MI->getOperand(2).isReg() &&
    7032          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7033          16 :         MI->getOperand(4).isImm() &&
    7034          17 :         MI->getOperand(4).getImm() == 1 &&
    7035             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7036             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 1 })
    7037             :       AsmString = "fmovsne $\x02, $\x03, $\x01";
    7038             :       break;
    7039             :     }
    7040           7 :     if (MI->getNumOperands() == 5 &&
    7041          14 :         MI->getOperand(0).isReg() &&
    7042          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7043          14 :         MI->getOperand(1).isReg() &&
    7044          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7045          14 :         MI->getOperand(2).isReg() &&
    7046          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7047          14 :         MI->getOperand(4).isImm() &&
    7048          15 :         MI->getOperand(4).getImm() == 9 &&
    7049             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7050             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 1 })
    7051             :       AsmString = "fmovse $\x02, $\x03, $\x01";
    7052             :       break;
    7053             :     }
    7054           6 :     if (MI->getNumOperands() == 5 &&
    7055          12 :         MI->getOperand(0).isReg() &&
    7056          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7057          12 :         MI->getOperand(1).isReg() &&
    7058          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7059          12 :         MI->getOperand(2).isReg() &&
    7060          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7061          12 :         MI->getOperand(4).isImm() &&
    7062          13 :         MI->getOperand(4).getImm() == 10 &&
    7063             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7064             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 0 })
    7065             :       AsmString = "fmovsue $\x02, $\x03, $\x01";
    7066             :       break;
    7067             :     }
    7068           5 :     if (MI->getNumOperands() == 5 &&
    7069          10 :         MI->getOperand(0).isReg() &&
    7070          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7071          10 :         MI->getOperand(1).isReg() &&
    7072          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7073          10 :         MI->getOperand(2).isReg() &&
    7074          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7075          10 :         MI->getOperand(4).isImm() &&
    7076          11 :         MI->getOperand(4).getImm() == 11 &&
    7077             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7078             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 1 })
    7079             :       AsmString = "fmovsge $\x02, $\x03, $\x01";
    7080             :       break;
    7081             :     }
    7082           4 :     if (MI->getNumOperands() == 5 &&
    7083           8 :         MI->getOperand(0).isReg() &&
    7084           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7085           8 :         MI->getOperand(1).isReg() &&
    7086           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7087           8 :         MI->getOperand(2).isReg() &&
    7088           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7089           8 :         MI->getOperand(4).isImm() &&
    7090           9 :         MI->getOperand(4).getImm() == 12 &&
    7091             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7092             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 0 })
    7093             :       AsmString = "fmovsuge $\x02, $\x03, $\x01";
    7094             :       break;
    7095             :     }
    7096           3 :     if (MI->getNumOperands() == 5 &&
    7097           6 :         MI->getOperand(0).isReg() &&
    7098           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7099           6 :         MI->getOperand(1).isReg() &&
    7100           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7101           6 :         MI->getOperand(2).isReg() &&
    7102           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7103           6 :         MI->getOperand(4).isImm() &&
    7104           7 :         MI->getOperand(4).getImm() == 13 &&
    7105             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7106             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 1 })
    7107             :       AsmString = "fmovsle $\x02, $\x03, $\x01";
    7108             :       break;
    7109             :     }
    7110           2 :     if (MI->getNumOperands() == 5 &&
    7111           4 :         MI->getOperand(0).isReg() &&
    7112           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7113           4 :         MI->getOperand(1).isReg() &&
    7114           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7115           4 :         MI->getOperand(2).isReg() &&
    7116           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7117           4 :         MI->getOperand(4).isImm() &&
    7118           5 :         MI->getOperand(4).getImm() == 14 &&
    7119             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7120             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 0 })
    7121             :       AsmString = "fmovsule $\x02, $\x03, $\x01";
    7122             :       break;
    7123             :     }
    7124           1 :     if (MI->getNumOperands() == 5 &&
    7125           2 :         MI->getOperand(0).isReg() &&
    7126           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7127           2 :         MI->getOperand(1).isReg() &&
    7128           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7129           2 :         MI->getOperand(2).isReg() &&
    7130           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7131           2 :         MI->getOperand(4).isImm() &&
    7132           3 :         MI->getOperand(4).getImm() == 15 &&
    7133             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7134             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 1 })
    7135             :       AsmString = "fmovso $\x02, $\x03, $\x01";
    7136             :       break;
    7137             :     }
    7138             :     return false;
    7139             :   case SP::V9MOVFCCri:
    7140           0 :     if (MI->getNumOperands() == 5 &&
    7141           0 :         MI->getOperand(0).isReg() &&
    7142           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7143           0 :         MI->getOperand(1).isReg() &&
    7144           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7145           0 :         MI->getOperand(4).isImm() &&
    7146           0 :         MI->getOperand(4).getImm() == 8 &&
    7147             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7148             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 0 })
    7149             :       AsmString = "mova $\x02, $\x03, $\x01";
    7150             :       break;
    7151             :     }
    7152           0 :     if (MI->getNumOperands() == 5 &&
    7153           0 :         MI->getOperand(0).isReg() &&
    7154           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7155           0 :         MI->getOperand(1).isReg() &&
    7156           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7157           0 :         MI->getOperand(4).isImm() &&
    7158           0 :         MI->getOperand(4).getImm() == 0 &&
    7159             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7160             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 0 })
    7161             :       AsmString = "movn $\x02, $\x03, $\x01";
    7162             :       break;
    7163             :     }
    7164           0 :     if (MI->getNumOperands() == 5 &&
    7165           0 :         MI->getOperand(0).isReg() &&
    7166           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7167           0 :         MI->getOperand(1).isReg() &&
    7168           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7169           0 :         MI->getOperand(4).isImm() &&
    7170           0 :         MI->getOperand(4).getImm() == 7 &&
    7171             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7172             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 1 })
    7173             :       AsmString = "movu $\x02, $\x03, $\x01";
    7174             :       break;
    7175             :     }
    7176           0 :     if (MI->getNumOperands() == 5 &&
    7177           0 :         MI->getOperand(0).isReg() &&
    7178           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7179           0 :         MI->getOperand(1).isReg() &&
    7180           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7181           0 :         MI->getOperand(4).isImm() &&
    7182           0 :         MI->getOperand(4).getImm() == 6 &&
    7183             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7184             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 0 })
    7185             :       AsmString = "movg $\x02, $\x03, $\x01";
    7186             :       break;
    7187             :     }
    7188           0 :     if (MI->getNumOperands() == 5 &&
    7189           0 :         MI->getOperand(0).isReg() &&
    7190           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7191           0 :         MI->getOperand(1).isReg() &&
    7192           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7193           0 :         MI->getOperand(4).isImm() &&
    7194           0 :         MI->getOperand(4).getImm() == 5 &&
    7195             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7196             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 1 })
    7197             :       AsmString = "movug $\x02, $\x03, $\x01";
    7198             :       break;
    7199             :     }
    7200           0 :     if (MI->getNumOperands() == 5 &&
    7201           0 :         MI->getOperand(0).isReg() &&
    7202           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7203           0 :         MI->getOperand(1).isReg() &&
    7204           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7205           0 :         MI->getOperand(4).isImm() &&
    7206           0 :         MI->getOperand(4).getImm() == 4 &&
    7207             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7208             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 0 })
    7209             :       AsmString = "movl $\x02, $\x03, $\x01";
    7210             :       break;
    7211             :     }
    7212           0 :     if (MI->getNumOperands() == 5 &&
    7213           0 :         MI->getOperand(0).isReg() &&
    7214           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7215           0 :         MI->getOperand(1).isReg() &&
    7216           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7217           0 :         MI->getOperand(4).isImm() &&
    7218           0 :         MI->getOperand(4).getImm() == 3 &&
    7219             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7220             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 1 })
    7221             :       AsmString = "movul $\x02, $\x03, $\x01";
    7222             :       break;
    7223             :     }
    7224           0 :     if (MI->getNumOperands() == 5 &&
    7225           0 :         MI->getOperand(0).isReg() &&
    7226           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7227           0 :         MI->getOperand(1).isReg() &&
    7228           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7229           0 :         MI->getOperand(4).isImm() &&
    7230           0 :         MI->getOperand(4).getImm() == 2 &&
    7231             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7232             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 0 })
    7233             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7234             :       break;
    7235             :     }
    7236           0 :     if (MI->getNumOperands() == 5 &&
    7237           0 :         MI->getOperand(0).isReg() &&
    7238           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7239           0 :         MI->getOperand(1).isReg() &&
    7240           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7241           0 :         MI->getOperand(4).isImm() &&
    7242           0 :         MI->getOperand(4).getImm() == 1 &&
    7243             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7244             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 1 })
    7245             :       AsmString = "movne $\x02, $\x03, $\x01";
    7246             :       break;
    7247             :     }
    7248           0 :     if (MI->getNumOperands() == 5 &&
    7249           0 :         MI->getOperand(0).isReg() &&
    7250           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7251           0 :         MI->getOperand(1).isReg() &&
    7252           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7253           0 :         MI->getOperand(4).isImm() &&
    7254           0 :         MI->getOperand(4).getImm() == 9 &&
    7255             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7256             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 1 })
    7257             :       AsmString = "move $\x02, $\x03, $\x01";
    7258             :       break;
    7259             :     }
    7260           0 :     if (MI->getNumOperands() == 5 &&
    7261           0 :         MI->getOperand(0).isReg() &&
    7262           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7263           0 :         MI->getOperand(1).isReg() &&
    7264           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7265           0 :         MI->getOperand(4).isImm() &&
    7266           0 :         MI->getOperand(4).getImm() == 10 &&
    7267             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7268             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 0 })
    7269             :       AsmString = "movue $\x02, $\x03, $\x01";
    7270             :       break;
    7271             :     }
    7272           0 :     if (MI->getNumOperands() == 5 &&
    7273           0 :         MI->getOperand(0).isReg() &&
    7274           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7275           0 :         MI->getOperand(1).isReg() &&
    7276           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7277           0 :         MI->getOperand(4).isImm() &&
    7278           0 :         MI->getOperand(4).getImm() == 11 &&
    7279             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7280             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 1 })
    7281             :       AsmString = "movge $\x02, $\x03, $\x01";
    7282             :       break;
    7283             :     }
    7284           0 :     if (MI->getNumOperands() == 5 &&
    7285           0 :         MI->getOperand(0).isReg() &&
    7286           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7287           0 :         MI->getOperand(1).isReg() &&
    7288           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7289           0 :         MI->getOperand(4).isImm() &&
    7290           0 :         MI->getOperand(4).getImm() == 12 &&
    7291             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7292             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 0 })
    7293             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7294             :       break;
    7295             :     }
    7296           0 :     if (MI->getNumOperands() == 5 &&
    7297           0 :         MI->getOperand(0).isReg() &&
    7298           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7299           0 :         MI->getOperand(1).isReg() &&
    7300           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7301           0 :         MI->getOperand(4).isImm() &&
    7302           0 :         MI->getOperand(4).getImm() == 13 &&
    7303             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7304             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 1 })
    7305             :       AsmString = "movle $\x02, $\x03, $\x01";
    7306             :       break;
    7307             :     }
    7308           0 :     if (MI->getNumOperands() == 5 &&
    7309           0 :         MI->getOperand(0).isReg() &&
    7310           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7311           0 :         MI->getOperand(1).isReg() &&
    7312           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7313           0 :         MI->getOperand(4).isImm() &&
    7314           0 :         MI->getOperand(4).getImm() == 14 &&
    7315             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7316             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 0 })
    7317             :       AsmString = "movule $\x02, $\x03, $\x01";
    7318             :       break;
    7319             :     }
    7320           0 :     if (MI->getNumOperands() == 5 &&
    7321           0 :         MI->getOperand(0).isReg() &&
    7322           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7323           0 :         MI->getOperand(1).isReg() &&
    7324           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7325           0 :         MI->getOperand(4).isImm() &&
    7326           0 :         MI->getOperand(4).getImm() == 15 &&
    7327             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7328             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 1 })
    7329             :       AsmString = "movo $\x02, $\x03, $\x01";
    7330             :       break;
    7331             :     }
    7332             :     return false;
    7333             :   case SP::V9MOVFCCrr:
    7334          15 :     if (MI->getNumOperands() == 5 &&
    7335          30 :         MI->getOperand(0).isReg() &&
    7336          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7337          30 :         MI->getOperand(1).isReg() &&
    7338          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7339          30 :         MI->getOperand(2).isReg() &&
    7340          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7341          30 :         MI->getOperand(4).isImm() &&
    7342          30 :         MI->getOperand(4).getImm() == 8 &&
    7343             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7344             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 0 })
    7345             :       AsmString = "mova $\x02, $\x03, $\x01";
    7346             :       break;
    7347             :     }
    7348          15 :     if (MI->getNumOperands() == 5 &&
    7349          30 :         MI->getOperand(0).isReg() &&
    7350          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7351          30 :         MI->getOperand(1).isReg() &&
    7352          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7353          30 :         MI->getOperand(2).isReg() &&
    7354          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7355          30 :         MI->getOperand(4).isImm() &&
    7356          30 :         MI->getOperand(4).getImm() == 0 &&
    7357             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7358             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 0 })
    7359             :       AsmString = "movn $\x02, $\x03, $\x01";
    7360             :       break;
    7361             :     }
    7362          15 :     if (MI->getNumOperands() == 5 &&
    7363          30 :         MI->getOperand(0).isReg() &&
    7364          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7365          30 :         MI->getOperand(1).isReg() &&
    7366          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7367          30 :         MI->getOperand(2).isReg() &&
    7368          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7369          30 :         MI->getOperand(4).isImm() &&
    7370          32 :         MI->getOperand(4).getImm() == 7 &&
    7371             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7372             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 1 })
    7373             :       AsmString = "movu $\x02, $\x03, $\x01";
    7374             :       break;
    7375             :     }
    7376          13 :     if (MI->getNumOperands() == 5 &&
    7377          26 :         MI->getOperand(0).isReg() &&
    7378          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7379          26 :         MI->getOperand(1).isReg() &&
    7380          26 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7381          26 :         MI->getOperand(2).isReg() &&
    7382          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7383          26 :         MI->getOperand(4).isImm() &&
    7384          27 :         MI->getOperand(4).getImm() == 6 &&
    7385             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7386             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 0 })
    7387             :       AsmString = "movg $\x02, $\x03, $\x01";
    7388             :       break;
    7389             :     }
    7390          12 :     if (MI->getNumOperands() == 5 &&
    7391          24 :         MI->getOperand(0).isReg() &&
    7392          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7393          24 :         MI->getOperand(1).isReg() &&
    7394          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7395          24 :         MI->getOperand(2).isReg() &&
    7396          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7397          24 :         MI->getOperand(4).isImm() &&
    7398          25 :         MI->getOperand(4).getImm() == 5 &&
    7399             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7400             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 1 })
    7401             :       AsmString = "movug $\x02, $\x03, $\x01";
    7402             :       break;
    7403             :     }
    7404          11 :     if (MI->getNumOperands() == 5 &&
    7405          22 :         MI->getOperand(0).isReg() &&
    7406          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7407          22 :         MI->getOperand(1).isReg() &&
    7408          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7409          22 :         MI->getOperand(2).isReg() &&
    7410          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7411          22 :         MI->getOperand(4).isImm() &&
    7412          23 :         MI->getOperand(4).getImm() == 4 &&
    7413             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7414             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 0 })
    7415             :       AsmString = "movl $\x02, $\x03, $\x01";
    7416             :       break;
    7417             :     }
    7418          10 :     if (MI->getNumOperands() == 5 &&
    7419          20 :         MI->getOperand(0).isReg() &&
    7420          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7421          20 :         MI->getOperand(1).isReg() &&
    7422          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7423          20 :         MI->getOperand(2).isReg() &&
    7424          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7425          20 :         MI->getOperand(4).isImm() &&
    7426          21 :         MI->getOperand(4).getImm() == 3 &&
    7427             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7428             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 1 })
    7429             :       AsmString = "movul $\x02, $\x03, $\x01";
    7430             :       break;
    7431             :     }
    7432           9 :     if (MI->getNumOperands() == 5 &&
    7433          18 :         MI->getOperand(0).isReg() &&
    7434          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7435          18 :         MI->getOperand(1).isReg() &&
    7436          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7437          18 :         MI->getOperand(2).isReg() &&
    7438          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7439          18 :         MI->getOperand(4).isImm() &&
    7440          19 :         MI->getOperand(4).getImm() == 2 &&
    7441             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7442             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 0 })
    7443             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7444             :       break;
    7445             :     }
    7446           8 :     if (MI->getNumOperands() == 5 &&
    7447          16 :         MI->getOperand(0).isReg() &&
    7448          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7449          16 :         MI->getOperand(1).isReg() &&
    7450          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7451          16 :         MI->getOperand(2).isReg() &&
    7452          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7453          16 :         MI->getOperand(4).isImm() &&
    7454          17 :         MI->getOperand(4).getImm() == 1 &&
    7455             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7456             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 1 })
    7457             :       AsmString = "movne $\x02, $\x03, $\x01";
    7458             :       break;
    7459             :     }
    7460           7 :     if (MI->getNumOperands() == 5 &&
    7461          14 :         MI->getOperand(0).isReg() &&
    7462          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7463          14 :         MI->getOperand(1).isReg() &&
    7464          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7465          14 :         MI->getOperand(2).isReg() &&
    7466          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7467          14 :         MI->getOperand(4).isImm() &&
    7468          15 :         MI->getOperand(4).getImm() == 9 &&
    7469             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7470             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 1 })
    7471             :       AsmString = "move $\x02, $\x03, $\x01";
    7472             :       break;
    7473             :     }
    7474           6 :     if (MI->getNumOperands() == 5 &&
    7475          12 :         MI->getOperand(0).isReg() &&
    7476          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7477          12 :         MI->getOperand(1).isReg() &&
    7478          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7479          12 :         MI->getOperand(2).isReg() &&
    7480          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7481          12 :         MI->getOperand(4).isImm() &&
    7482          13 :         MI->getOperand(4).getImm() == 10 &&
    7483             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7484             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 0 })
    7485             :       AsmString = "movue $\x02, $\x03, $\x01";
    7486             :       break;
    7487             :     }
    7488           5 :     if (MI->getNumOperands() == 5 &&
    7489          10 :         MI->getOperand(0).isReg() &&
    7490          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7491          10 :         MI->getOperand(1).isReg() &&
    7492          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7493          10 :         MI->getOperand(2).isReg() &&
    7494          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7495          10 :         MI->getOperand(4).isImm() &&
    7496          11 :         MI->getOperand(4).getImm() == 11 &&
    7497             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7498             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 1 })
    7499             :       AsmString = "movge $\x02, $\x03, $\x01";
    7500             :       break;
    7501             :     }
    7502           4 :     if (MI->getNumOperands() == 5 &&
    7503           8 :         MI->getOperand(0).isReg() &&
    7504           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7505           8 :         MI->getOperand(1).isReg() &&
    7506           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7507           8 :         MI->getOperand(2).isReg() &&
    7508           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7509           8 :         MI->getOperand(4).isImm() &&
    7510           9 :         MI->getOperand(4).getImm() == 12 &&
    7511             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7512             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 0 })
    7513             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7514             :       break;
    7515             :     }
    7516           3 :     if (MI->getNumOperands() == 5 &&
    7517           6 :         MI->getOperand(0).isReg() &&
    7518           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7519           6 :         MI->getOperand(1).isReg() &&
    7520           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7521           6 :         MI->getOperand(2).isReg() &&
    7522           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7523           6 :         MI->getOperand(4).isImm() &&
    7524           7 :         MI->getOperand(4).getImm() == 13 &&
    7525             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7526             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 1 })
    7527             :       AsmString = "movle $\x02, $\x03, $\x01";
    7528             :       break;
    7529             :     }
    7530           2 :     if (MI->getNumOperands() == 5 &&
    7531           4 :         MI->getOperand(0).isReg() &&
    7532           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7533           4 :         MI->getOperand(1).isReg() &&
    7534           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7535           4 :         MI->getOperand(2).isReg() &&
    7536           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7537           4 :         MI->getOperand(4).isImm() &&
    7538           5 :         MI->getOperand(4).getImm() == 14 &&
    7539             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7540             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 0 })
    7541             :       AsmString = "movule $\x02, $\x03, $\x01";
    7542             :       break;
    7543             :     }
    7544           1 :     if (MI->getNumOperands() == 5 &&
    7545           2 :         MI->getOperand(0).isReg() &&
    7546           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7547           2 :         MI->getOperand(1).isReg() &&
    7548           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7549           2 :         MI->getOperand(2).isReg() &&
    7550           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7551           2 :         MI->getOperand(4).isImm() &&
    7552           3 :         MI->getOperand(4).getImm() == 15 &&
    7553             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7554             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 1 })
    7555             :       AsmString = "movo $\x02, $\x03, $\x01";
    7556             :       break;
    7557             :     }
    7558             :     return false;
    7559             :   }
    7560             : 
    7561             :   unsigned I = 0;
    7562       34009 :   while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
    7563       23867 :          AsmString[I] != '$' && AsmString[I] != '\0')
    7564       10142 :     ++I;
    7565        2639 :   OS << '\t' << StringRef(AsmString, I);
    7566        2639 :   if (AsmString[I] != '\0') {
    7567        1695 :     if (AsmString[I] == ' ' || AsmString[I] == '\t') {
    7568             :       OS << '\t';
    7569        1695 :       ++I;
    7570             :     }
    7571             :     do {
    7572        7725 :       if (AsmString[I] == '$') {
    7573        3024 :         ++I;
    7574        3024 :         if (AsmString[I] == (char)0xff) {
    7575           0 :           ++I;
    7576           0 :           int OpIdx = AsmString[I++] - 1;
    7577           0 :           int PrintMethodIdx = AsmString[I++] - 1;
    7578           0 :           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
    7579             :         } else
    7580        3024 :           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
    7581             :       } else {
    7582        4701 :         OS << AsmString[I++];
    7583             :       }
    7584        7725 :     } while (AsmString[I] != '\0');
    7585             :   }
    7586             : 
    7587             :   return true;
    7588             : }
    7589             : 
    7590           0 : void SparcInstPrinter::printCustomAliasOperand(
    7591             :          const MCInst *MI, unsigned OpIdx,
    7592             :          unsigned PrintMethodIdx,
    7593             :          const MCSubtargetInfo &STI,
    7594             :          raw_ostream &OS) {
    7595           0 :   llvm_unreachable("Unknown PrintMethod kind");
    7596             : }
    7597             : 
    7598             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13