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-07-13 00:08:38 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        7861 : 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             :     0U, // G_ADDRSPACE_CAST
     489             :     4556U,      // ADJCALLSTACKDOWN
     490             :     70111U,     // ADJCALLSTACKUP
     491             :     2675U,      // EH_SJLJ_LONGJMP32ri
     492             :     2675U,      // EH_SJLJ_LONGJMP32rr
     493             :     2694U,      // EH_SJLJ_SETJMP32ri
     494             :     2694U,      // EH_SJLJ_SETJMP32rr
     495             :     8202U,      // GETPCX
     496             :     2277U,      // SELECT_CC_DFP_FCC
     497             :     2388U,      // SELECT_CC_DFP_ICC
     498             :     2333U,      // SELECT_CC_FP_FCC
     499             :     2444U,      // SELECT_CC_FP_ICC
     500             :     2360U,      // SELECT_CC_Int_FCC
     501             :     2471U,      // SELECT_CC_Int_ICC
     502             :     2305U,      // SELECT_CC_QFP_FCC
     503             :     2416U,      // SELECT_CC_QFP_ICC
     504             :     2111263U,   // SET
     505             :     4207243U,   // ADDCCri
     506             :     4207243U,   // ADDCCrr
     507             :     4208516U,   // ADDCri
     508             :     4208516U,   // ADDCrr
     509             :     4207335U,   // ADDEri
     510             :     4207335U,   // ADDErr
     511             :     4207349U,   // ADDXC
     512             :     4207233U,   // ADDXCCC
     513             :     4207371U,   // ADDXri
     514             :     4207371U,   // ADDXrr
     515             :     4207371U,   // ADDri
     516             :     4207371U,   // ADDrr
     517             :     4208071U,   // ALIGNADDR
     518             :     4207701U,   // ALIGNADDRL
     519             :     4207250U,   // ANDCCri
     520             :     4207250U,   // ANDCCrr
     521             :     4207273U,   // ANDNCCri
     522             :     4207273U,   // ANDNCCrr
     523             :     4207756U,   // ANDNri
     524             :     4207756U,   // ANDNrr
     525             :     4207756U,   // ANDXNrr
     526             :     4207439U,   // ANDXri
     527             :     4207439U,   // ANDXrr
     528             :     4207439U,   // ANDri
     529             :     4207439U,   // ANDrr
     530             :     4207020U,   // ARRAY16
     531             :     4206773U,   // ARRAY32
     532             :     4207044U,   // ARRAY8
     533             :     70199U,     // BA
     534             :     2247606U,   // BCOND
     535             :     2313142U,   // BCONDA
     536             :     87369U,     // BINDri
     537             :     87369U,     // BINDrr
     538             :     4207639U,   // BMASK
     539             :     4344760U,   // BPFCC
     540             :     4410296U,   // BPFCCA
     541             :     281528U,    // BPFCCANT
     542             :     347064U,    // BPFCCNT
     543             :     5295U,      // BPGEZapn
     544             :     4612U,      // BPGEZapt
     545             :     5362U,      // BPGEZnapn
     546             :     6135U,      // BPGEZnapt
     547             :     5319U,      // BPGZapn
     548             :     4630U,      // BPGZapt
     549             :     5382U,      // BPGZnapn
     550             :     6231U,      // BPGZnapt
     551             :     2509750U,   // BPICC
     552             :     478134U,    // BPICCA
     553             :     543670U,    // BPICCANT
     554             :     609206U,    // BPICCNT
     555             :     5307U,      // BPLEZapn
     556             :     4621U,      // BPLEZapt
     557             :     5372U,      // BPLEZnapn
     558             :     6184U,      // BPLEZnapt
     559             :     5330U,      // BPLZapn
     560             :     4638U,      // BPLZapt
     561             :     5391U,      // BPLZnapn
     562             :     6275U,      // BPLZnapt
     563             :     5341U,      // BPNZapn
     564             :     4646U,      // BPNZapt
     565             :     5400U,      // BPNZnapn
     566             :     6319U,      // BPNZnapt
     567             :     2771894U,   // BPXCC
     568             :     740278U,    // BPXCCA
     569             :     805814U,    // BPXCCANT
     570             :     871350U,    // BPXCCNT
     571             :     5352U,      // BPZapn
     572             :     4654U,      // BPZapt
     573             :     5409U,      // BPZnapn
     574             :     6352U,      // BPZnapt
     575             :     4207550U,   // BSHUFFLE
     576             :     70724U,     // CALL
     577             :     87108U,     // CALLri
     578             :     87108U,     // CALLrr
     579             :     932695U,    // CASAasi10
     580             :     7289687U,   // CASArr
     581             :     5258158U,   // CASXrr
     582             :     5258139U,   // CASrr
     583             :     2247605U,   // CBCOND
     584             :     2313141U,   // CBCONDA
     585             :     69927U,     // CMASK16
     586             :     69759U,     // CMASK32
     587             :     70076U,     // CMASK8
     588             :     5437U,      // CMPri
     589             :     5437U,      // CMPrr
     590             :     4206850U,   // EDGE16
     591             :     4207655U,   // EDGE16L
     592             :     4207772U,   // EDGE16LN
     593             :     4207739U,   // EDGE16N
     594             :     4206682U,   // EDGE32
     595             :     4207646U,   // EDGE32L
     596             :     4207762U,   // EDGE32LN
     597             :     4207730U,   // EDGE32N
     598             :     4207029U,   // EDGE8
     599             :     4207664U,   // EDGE8L
     600             :     4207782U,   // EDGE8LN
     601             :     4207748U,   // EDGE8N
     602             :     2110355U,   // FABSD
     603             :     2110877U,   // FABSQ
     604             :     2111234U,   // FABSS
     605             :     4207376U,   // FADDD
     606             :     4207957U,   // FADDQ
     607             :     4208231U,   // FADDS
     608             :     4207186U,   // FALIGNADATA
     609             :     4207438U,   // FAND
     610             :     4206630U,   // FANDNOT1
     611             :     4208130U,   // FANDNOT1S
     612             :     4206789U,   // FANDNOT2
     613             :     4208177U,   // FANDNOT2S
     614             :     4208263U,   // FANDS
     615             :     2247608U,   // FBCOND
     616             :     2313144U,   // FBCONDA
     617             :     4206912U,   // FCHKSM16
     618             :     4992U,      // FCMPD
     619             :     4206931U,   // FCMPEQ16
     620             :     4206744U,   // FCMPEQ32
     621             :     4206950U,   // FCMPGT16
     622             :     4206763U,   // FCMPGT32
     623             :     4206858U,   // FCMPLE16
     624             :     4206690U,   // FCMPLE32
     625             :     4206868U,   // FCMPNE16
     626             :     4206700U,   // FCMPNE32
     627             :     5526U,      // FCMPQ
     628             :     5847U,      // FCMPS
     629             :     4207527U,   // FDIVD
     630             :     4208049U,   // FDIVQ
     631             :     4208401U,   // FDIVS
     632             :     4207979U,   // FDMULQ
     633             :     2110466U,   // FDTOI
     634             :     2110842U,   // FDTOQ
     635             :     2111163U,   // FDTOS
     636             :     2111399U,   // FDTOX
     637             :     2110299U,   // FEXPAND
     638             :     4207383U,   // FHADDD
     639             :     4208238U,   // FHADDS
     640             :     4207363U,   // FHSUBD
     641             :     4208223U,   // FHSUBS
     642             :     2110308U,   // FITOD
     643             :     2110849U,   // FITOQ
     644             :     2111170U,   // FITOS
     645             :     16782215U,  // FLCMPD
     646             :     16783070U,  // FLCMPS
     647             :     2665U,      // FLUSH
     648             :     3065U,      // FLUSHW
     649             :     87005U,     // FLUSHri
     650             :     87005U,     // FLUSHrr
     651             :     4206922U,   // FMEAN16
     652             :     2110382U,   // FMOVD
     653             :     1141691U,   // FMOVD_FCC
     654             :     151415739U, // FMOVD_ICC
     655             :     151677883U, // FMOVD_XCC
     656             :     2110904U,   // FMOVQ
     657             :     1141729U,   // FMOVQ_FCC
     658             :     151415777U, // FMOVQ_ICC
     659             :     151677921U, // FMOVQ_XCC
     660             :     4208609U,   // FMOVRGEZD
     661             :     4208620U,   // FMOVRGEZQ
     662             :     4208647U,   // FMOVRGEZS
     663             :     4208707U,   // FMOVRGZD
     664             :     4208717U,   // FMOVRGZQ
     665             :     4208741U,   // FMOVRGZS
     666             :     4208658U,   // FMOVRLEZD
     667             :     4208669U,   // FMOVRLEZQ
     668             :     4208696U,   // FMOVRLEZS
     669             :     4208751U,   // FMOVRLZD
     670             :     4208761U,   // FMOVRLZQ
     671             :     4208785U,   // FMOVRLZS
     672             :     4208795U,   // FMOVRNZD
     673             :     4208805U,   // FMOVRNZQ
     674             :     4208829U,   // FMOVRNZS
     675             :     4208600U,   // FMOVRZD
     676             :     4208839U,   // FMOVRZQ
     677             :     4208860U,   // FMOVRZS
     678             :     2111256U,   // FMOVS
     679             :     1141741U,   // FMOVS_FCC
     680             :     151415789U, // FMOVS_ICC
     681             :     151677933U, // FMOVS_XCC
     682             :     4207008U,   // FMUL8SUX16
     683             :     4206983U,   // FMUL8ULX16
     684             :     4206960U,   // FMUL8X16
     685             :     4207672U,   // FMUL8X16AL
     686             :     4208440U,   // FMUL8X16AU
     687             :     4207423U,   // FMULD
     688             :     4206995U,   // FMULD8SUX16
     689             :     4206970U,   // FMULD8ULX16
     690             :     4207987U,   // FMULQ
     691             :     4208300U,   // FMULS
     692             :     4207400U,   // FNADDD
     693             :     4208255U,   // FNADDS
     694             :     4207444U,   // FNAND
     695             :     4208270U,   // FNANDS
     696             :     2110264U,   // FNEGD
     697             :     2110820U,   // FNEGQ
     698             :     2111141U,   // FNEGS
     699             :     4207391U,   // FNHADDD
     700             :     4208246U,   // FNHADDS
     701             :     4207391U,   // FNMULD
     702             :     4208246U,   // FNMULS
     703             :     4208087U,   // FNOR
     704             :     4208364U,   // FNORS
     705             :     2109488U,   // FNOT1
     706             :     2110989U,   // FNOT1S
     707             :     2109647U,   // FNOT2
     708             :     2111036U,   // FNOT2S
     709             :     4208246U,   // FNSMULD
     710             :     70600U,     // FONE
     711             :     71318U,     // FONES
     712             :     4208082U,   // FOR
     713             :     4206647U,   // FORNOT1
     714             :     4208149U,   // FORNOT1S
     715             :     4206806U,   // FORNOT2
     716             :     4208196U,   // FORNOT2S
     717             :     4208358U,   // FORS
     718             :     2109726U,   // FPACK16
     719             :     4206710U,   // FPACK32
     720             :     2111370U,   // FPACKFIX
     721             :     4206841U,   // FPADD16
     722             :     4208206U,   // FPADD16S
     723             :     4206673U,   // FPADD32
     724             :     4208159U,   // FPADD32S
     725             :     4206815U,   // FPADD64
     726             :     4207541U,   // FPMERGE
     727             :     4206832U,   // FPSUB16
     728             :     4207098U,   // FPSUB16S
     729             :     4206664U,   // FPSUB32
     730             :     4207088U,   // FPSUB32S
     731             :     2110315U,   // FQTOD
     732             :     2110473U,   // FQTOI
     733             :     2111177U,   // FQTOS
     734             :     2111415U,   // FQTOX
     735             :     4206941U,   // FSLAS16
     736             :     4206754U,   // FSLAS32
     737             :     4206896U,   // FSLL16
     738             :     4206728U,   // FSLL32
     739             :     4207430U,   // FSMULD
     740             :     2110362U,   // FSQRTD
     741             :     2110884U,   // FSQRTQ
     742             :     2111241U,   // FSQRTS
     743             :     4206824U,   // FSRA16
     744             :     4206656U,   // FSRA32
     745             :     2109471U,   // FSRC1
     746             :     2110970U,   // FSRC1S
     747             :     2109630U,   // FSRC2
     748             :     2111017U,   // FSRC2S
     749             :     4206904U,   // FSRL16
     750             :     4206736U,   // FSRL32
     751             :     2110322U,   // FSTOD
     752             :     2110480U,   // FSTOI
     753             :     2110856U,   // FSTOQ
     754             :     2111422U,   // FSTOX
     755             :     4207356U,   // FSUBD
     756             :     4207950U,   // FSUBQ
     757             :     4208216U,   // FSUBS
     758             :     4208093U,   // FXNOR
     759             :     4208371U,   // FXNORS
     760             :     4208100U,   // FXOR
     761             :     4208379U,   // FXORS
     762             :     2110329U,   // FXTOD
     763             :     2110863U,   // FXTOQ
     764             :     2111184U,   // FXTOS
     765             :     70966U,     // FZERO
     766             :     71347U,     // FZEROS
     767             :     2126927U,   // JMPLri
     768             :     2126927U,   // JMPLrr
     769             :     160398130U, // LDArr
     770             :     1203067U,   // LDCSRri
     771             :     1203067U,   // LDCSRrr
     772             :     3177339U,   // LDCri
     773             :     3177339U,   // LDCrr
     774             :     160398123U, // LDDArr
     775             :     3177333U,   // LDDCri
     776             :     3177333U,   // LDDCrr
     777             :     160398123U, // LDDFArr
     778             :     3177333U,   // LDDFri
     779             :     3177333U,   // LDDFrr
     780             :     3177333U,   // LDDri
     781             :     3177333U,   // LDDrr
     782             :     160398130U, // LDFArr
     783             :     1268603U,   // LDFSRri
     784             :     1268603U,   // LDFSRrr
     785             :     3177339U,   // LDFri
     786             :     3177339U,   // LDFrr
     787             :     160398160U, // LDQFArr
     788             :     3177365U,   // LDQFri
     789             :     3177365U,   // LDQFrr
     790             :     160398097U, // LDSBArr
     791             :     3177310U,   // LDSBri
     792             :     3177310U,   // LDSBrr
     793             :     160398136U, // LDSHArr
     794             :     3177344U,   // LDSHri
     795             :     3177344U,   // LDSHrr
     796             :     160398113U, // LDSTUBArr
     797             :     3177324U,   // LDSTUBri
     798             :     3177324U,   // LDSTUBrr
     799             :     3177377U,   // LDSWri
     800             :     3177377U,   // LDSWrr
     801             :     160398105U, // LDUBArr
     802             :     3177317U,   // LDUBri
     803             :     3177317U,   // LDUBrr
     804             :     160398144U, // LDUHArr
     805             :     3177351U,   // LDUHri
     806             :     3177351U,   // LDUHrr
     807             :     1268648U,   // LDXFSRri
     808             :     1268648U,   // LDXFSRrr
     809             :     3177384U,   // LDXri
     810             :     3177384U,   // LDXrr
     811             :     3177339U,   // LDri
     812             :     3177339U,   // LDrr
     813             :     33547U,     // LEAX_ADDri
     814             :     33547U,     // LEA_ADDri
     815             :     2111268U,   // LZCNT
     816             :     71103U,     // MEMBARi
     817             :     2111406U,   // MOVDTOX
     818             :     1141749U,   // MOVFCCri
     819             :     1141749U,   // MOVFCCrr
     820             :     151415797U, // MOVICCri
     821             :     151415797U, // MOVICCrr
     822             :     4208638U,   // MOVRGEZri
     823             :     4208638U,   // MOVRGEZrr
     824             :     4208733U,   // MOVRGZri
     825             :     4208733U,   // MOVRGZrr
     826             :     4208687U,   // MOVRLEZri
     827             :     4208687U,   // MOVRLEZrr
     828             :     4208777U,   // MOVRLZri
     829             :     4208777U,   // MOVRLZrr
     830             :     4208821U,   // MOVRNZri
     831             :     4208821U,   // MOVRNZrr
     832             :     4208853U,   // MOVRRZri
     833             :     4208853U,   // MOVRRZrr
     834             :     2111332U,   // MOVSTOSW
     835             :     2111342U,   // MOVSTOUW
     836             :     2111406U,   // MOVWTOS
     837             :     151677941U, // MOVXCCri
     838             :     151677941U, // MOVXCCrr
     839             :     2111406U,   // MOVXTOD
     840             :     4207303U,   // MULSCCri
     841             :     4207303U,   // MULSCCrr
     842             :     4208545U,   // MULXri
     843             :     4208545U,   // MULXrr
     844             :     3037U,      // NOP
     845             :     4207290U,   // ORCCri
     846             :     4207290U,   // ORCCrr
     847             :     4207281U,   // ORNCCri
     848             :     4207281U,   // ORNCCrr
     849             :     4207913U,   // ORNri
     850             :     4207913U,   // ORNrr
     851             :     4207913U,   // ORXNrr
     852             :     4208083U,   // ORXri
     853             :     4208083U,   // ORXrr
     854             :     4208083U,   // ORri
     855             :     4208083U,   // ORrr
     856             :     4208427U,   // PDIST
     857             :     4207918U,   // PDISTN
     858             :     2110191U,   // POPCrr
     859             :     2110351U,   // RDASR
     860             :     2110954U,   // RDPR
     861             :     69653U,     // RDPSR
     862             :     69643U,     // RDTBR
     863             :     69633U,     // RDWIM
     864             :     4207566U,   // RESTOREri
     865             :     4207566U,   // RESTORErr
     866             :     72131U,     // RET
     867             :     72140U,     // RETL
     868             :     87858U,     // RETTri
     869             :     87858U,     // RETTrr
     870             :     4207575U,   // SAVEri
     871             :     4207575U,   // SAVErr
     872             :     4207311U,   // SDIVCCri
     873             :     4207311U,   // SDIVCCrr
     874             :     4208586U,   // SDIVXri
     875             :     4208586U,   // SDIVXrr
     876             :     4208452U,   // SDIVri
     877             :     4208452U,   // SDIVrr
     878             :     2110441U,   // SETHIXi
     879             :     2110441U,   // SETHIi
     880             :     3028U,      // SHUTDOWN
     881             :     3023U,      // SIAM
     882             :     4208532U,   // SLLXri
     883             :     4208532U,   // SLLXrr
     884             :     4207690U,   // SLLri
     885             :     4207690U,   // SLLrr
     886             :     4207213U,   // SMACri
     887             :     4207213U,   // SMACrr
     888             :     4207257U,   // SMULCCri
     889             :     4207257U,   // SMULCCrr
     890             :     4207718U,   // SMULri
     891             :     4207718U,   // SMULrr
     892             :     4208504U,   // SRAXri
     893             :     4208504U,   // SRAXrr
     894             :     4207181U,   // SRAri
     895             :     4207181U,   // SRArr
     896             :     4208538U,   // SRLXri
     897             :     4208538U,   // SRLXrr
     898             :     4207713U,   // SRLri
     899             :     4207713U,   // SRLrr
     900             :     9409118U,   // STArr
     901             :     3047U,      // STBAR
     902             :     9409077U,   // STBArr
     903             :     1348195U,   // STBri
     904             :     1348195U,   // STBrr
     905             :     1333999U,   // STCSRri
     906             :     1333999U,   // STCSRrr
     907             :     1349422U,   // STCri
     908             :     1349422U,   // STCrr
     909             :     9409083U,   // STDArr
     910             :     1333977U,   // STDCQri
     911             :     1333977U,   // STDCQrr
     912             :     1348514U,   // STDCri
     913             :     1348514U,   // STDCrr
     914             :     9409083U,   // STDFArr
     915             :     1333988U,   // STDFQri
     916             :     1333988U,   // STDFQrr
     917             :     1348514U,   // STDFri
     918             :     1348514U,   // STDFrr
     919             :     1348514U,   // STDri
     920             :     1348514U,   // STDrr
     921             :     9409118U,   // STFArr
     922             :     1334010U,   // STFSRri
     923             :     1334010U,   // STFSRrr
     924             :     1349422U,   // STFri
     925             :     1349422U,   // STFrr
     926             :     9409089U,   // STHArr
     927             :     1348580U,   // STHri
     928             :     1348580U,   // STHrr
     929             :     9409095U,   // STQFArr
     930             :     1349036U,   // STQFri
     931             :     1349036U,   // STQFrr
     932             :     1334021U,   // STXFSRri
     933             :     1334021U,   // STXFSRrr
     934             :     1349573U,   // STXri
     935             :     1349573U,   // STXrr
     936             :     1349422U,   // STri
     937             :     1349422U,   // STrr
     938             :     4207226U,   // SUBCCri
     939             :     4207226U,   // SUBCCrr
     940             :     4208510U,   // SUBCri
     941             :     4208510U,   // SUBCrr
     942             :     4207327U,   // SUBEri
     943             :     4207327U,   // SUBErr
     944             :     4207208U,   // SUBXri
     945             :     4207208U,   // SUBXrr
     946             :     4207208U,   // SUBri
     947             :     4207208U,   // SUBrr
     948             :     160398152U, // SWAPArr
     949             :     3177358U,   // SWAPri
     950             :     3177358U,   // SWAPrr
     951             :     2712U,      // TA3
     952             :     2717U,      // TA5
     953             :     4208474U,   // TADDCCTVri
     954             :     4208474U,   // TADDCCTVrr
     955             :     4207242U,   // TADDCCri
     956             :     4207242U,   // TADDCCrr
     957             :     36088819U,  // TICCri
     958             :     36088819U,  // TICCrr
     959             :     289420043U, // TLS_ADDXrr
     960             :     289420043U, // TLS_ADDrr
     961             :     5188U,      // TLS_CALL
     962             :     288390056U, // TLS_LDXrr
     963             :     288390011U, // TLS_LDrr
     964             :     35826675U,  // TRAPri
     965             :     35826675U,  // TRAPrr
     966             :     4208464U,   // TSUBCCTVri
     967             :     4208464U,   // TSUBCCTVrr
     968             :     4207225U,   // TSUBCCri
     969             :     4207225U,   // TSUBCCrr
     970             :     36350963U,  // TXCCri
     971             :     36350963U,  // TXCCrr
     972             :     4207319U,   // UDIVCCri
     973             :     4207319U,   // UDIVCCrr
     974             :     4208593U,   // UDIVXri
     975             :     4208593U,   // UDIVXrr
     976             :     4208458U,   // UDIVri
     977             :     4208458U,   // UDIVrr
     978             :     4207219U,   // UMACri
     979             :     4207219U,   // UMACrr
     980             :     4207265U,   // UMULCCri
     981             :     4207265U,   // UMULCCrr
     982             :     4207600U,   // UMULXHI
     983             :     4207724U,   // UMULri
     984             :     4207724U,   // UMULrr
     985             :     70978U,     // UNIMP
     986             :     16782208U,  // V9FCMPD
     987             :     16782128U,  // V9FCMPED
     988             :     16782684U,  // V9FCMPEQ
     989             :     16783005U,  // V9FCMPES
     990             :     16782742U,  // V9FCMPQ
     991             :     16783063U,  // V9FCMPS
     992             :     48059U,     // V9FMOVD_FCC
     993             :     48097U,     // V9FMOVQ_FCC
     994             :     48109U,     // V9FMOVS_FCC
     995             :     48117U,     // V9MOVFCCri
     996             :     48117U,     // V9MOVFCCrr
     997             :     4208118U,   // WRASRri
     998             :     4208118U,   // WRASRrr
     999             :     4208112U,   // WRPRri
    1000             :     4208112U,   // WRPRrr
    1001             :     50337270U,  // WRPSRri
    1002             :     50337270U,  // WRPSRrr
    1003             :     67114486U,  // WRTBRri
    1004             :     67114486U,  // WRTBRrr
    1005             :     83891702U,  // WRWIMri
    1006             :     83891702U,  // WRWIMrr
    1007             :     4208544U,   // XMULX
    1008             :     4207609U,   // XMULXHI
    1009             :     4207288U,   // XNORCCri
    1010             :     4207288U,   // XNORCCrr
    1011             :     4208094U,   // XNORXrr
    1012             :     4208094U,   // XNORri
    1013             :     4208094U,   // XNORrr
    1014             :     4207296U,   // XORCCri
    1015             :     4207296U,   // XORCCrr
    1016             :     4208101U,   // XORXri
    1017             :     4208101U,   // XORXrr
    1018             :     4208101U,   // XORri
    1019             :     4208101U,   // XORrr
    1020             :   };
    1021             : 
    1022        7861 :   O << "\t";
    1023             : 
    1024             :   // Emit the opcode for the instruction.
    1025             :   uint32_t Bits = 0;
    1026        7861 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
    1027             :   assert(Bits != 0 && "Cannot print this instruction.");
    1028        7861 :   O << AsmStrs+(Bits & 4095)-1;
    1029             : 
    1030             : 
    1031             :   // Fragment 0 encoded into 4 bits for 12 unique commands.
    1032        7861 :   switch ((Bits >> 12) & 15) {
    1033           0 :   default: llvm_unreachable("Invalid command number.");
    1034             :   case 0:
    1035             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
    1036             :     return;
    1037             :     break;
    1038         777 :   case 1:
    1039             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
    1040         777 :     printOperand(MI, 0, STI, O);
    1041         777 :     break;
    1042           0 :   case 2:
    1043             :     // GETPCX
    1044           0 :     printGetPCX(MI, 0, STI, O);
    1045           0 :     return;
    1046             :     break;
    1047        3091 :   case 3:
    1048             :     // SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC,...
    1049        3091 :     printOperand(MI, 1, STI, O);
    1050        3091 :     break;
    1051         369 :   case 4:
    1052             :     // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
    1053         369 :     printCCOperand(MI, 1, STI, O);
    1054         369 :     break;
    1055          56 :   case 5:
    1056             :     // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
    1057          56 :     printMemOperand(MI, 0, STI, O);
    1058          56 :     break;
    1059          13 :   case 6:
    1060             :     // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
    1061          13 :     printCCOperand(MI, 3, STI, O);
    1062          13 :     break;
    1063        1286 :   case 7:
    1064             :     // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
    1065        1286 :     printMemOperand(MI, 1, STI, O);
    1066        1286 :     break;
    1067         124 :   case 8:
    1068             :     // LEAX_ADDri, LEA_ADDri
    1069         124 :     printMemOperand(MI, 1, STI, O, "arith");
    1070         124 :     O << ", ";
    1071         124 :     printOperand(MI, 0, STI, O);
    1072         124 :     return;
    1073             :     break;
    1074        1580 :   case 9:
    1075             :     // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
    1076        1580 :     printOperand(MI, 2, STI, O);
    1077        1580 :     O << ", [";
    1078        1580 :     printMemOperand(MI, 0, STI, O);
    1079        1580 :     break;
    1080           0 :   case 10:
    1081             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1082           0 :     printCCOperand(MI, 2, STI, O);
    1083           0 :     break;
    1084           0 :   case 11:
    1085             :     // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
    1086           0 :     printCCOperand(MI, 4, STI, O);
    1087             :     O << ' ';
    1088           0 :     printOperand(MI, 1, STI, O);
    1089           0 :     O << ", ";
    1090           0 :     printOperand(MI, 2, STI, O);
    1091           0 :     O << ", ";
    1092           0 :     printOperand(MI, 0, STI, O);
    1093           0 :     return;
    1094             :     break;
    1095             :   }
    1096             : 
    1097             : 
    1098             :   // Fragment 1 encoded into 5 bits for 21 unique commands.
    1099        7172 :   switch ((Bits >> 16) & 31) {
    1100           0 :   default: llvm_unreachable("Invalid command number.");
    1101        3323 :   case 0:
    1102             :     // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
    1103        3323 :     O << ", ";
    1104        3323 :     break;
    1105             :   case 1:
    1106             :     // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
    1107             :     return;
    1108             :     break;
    1109             :   case 2:
    1110             :     // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
    1111             :     O << ' ';
    1112             :     break;
    1113         115 :   case 3:
    1114             :     // BCONDA, BPFCCA, CBCONDA, FBCONDA
    1115         115 :     O << ",a ";
    1116         115 :     break;
    1117           0 :   case 4:
    1118             :     // BPFCCANT
    1119           0 :     O << ",a,pn ";
    1120           0 :     printOperand(MI, 2, STI, O);
    1121           0 :     O << ", ";
    1122           0 :     printOperand(MI, 0, STI, O);
    1123           0 :     return;
    1124             :     break;
    1125           0 :   case 5:
    1126             :     // BPFCCNT
    1127           0 :     O << ",pn ";
    1128           0 :     printOperand(MI, 2, STI, O);
    1129           0 :     O << ", ";
    1130           0 :     printOperand(MI, 0, STI, O);
    1131           0 :     return;
    1132             :     break;
    1133          14 :   case 6:
    1134             :     // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
    1135          14 :     O << " %icc, ";
    1136          14 :     break;
    1137          25 :   case 7:
    1138             :     // BPICCA
    1139          25 :     O << ",a %icc, ";
    1140          25 :     printOperand(MI, 0, STI, O);
    1141          25 :     return;
    1142             :     break;
    1143           0 :   case 8:
    1144             :     // BPICCANT
    1145           0 :     O << ",a,pn %icc, ";
    1146           0 :     printOperand(MI, 0, STI, O);
    1147           0 :     return;
    1148             :     break;
    1149           0 :   case 9:
    1150             :     // BPICCNT
    1151           0 :     O << ",pn %icc, ";
    1152           0 :     printOperand(MI, 0, STI, O);
    1153           0 :     return;
    1154             :     break;
    1155          33 :   case 10:
    1156             :     // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
    1157          33 :     O << " %xcc, ";
    1158          33 :     break;
    1159          25 :   case 11:
    1160             :     // BPXCCA
    1161          25 :     O << ",a %xcc, ";
    1162          25 :     printOperand(MI, 0, STI, O);
    1163          25 :     return;
    1164             :     break;
    1165           0 :   case 12:
    1166             :     // BPXCCANT
    1167           0 :     O << ",a,pn %xcc, ";
    1168           0 :     printOperand(MI, 0, STI, O);
    1169           0 :     return;
    1170             :     break;
    1171           0 :   case 13:
    1172             :     // BPXCCNT
    1173           0 :     O << ",pn %xcc, ";
    1174           0 :     printOperand(MI, 0, STI, O);
    1175           0 :     return;
    1176             :     break;
    1177          19 :   case 14:
    1178             :     // CASAasi10
    1179          19 :     O << "] 10, ";
    1180          19 :     printOperand(MI, 2, STI, O);
    1181          19 :     O << ", ";
    1182          19 :     printOperand(MI, 0, STI, O);
    1183          19 :     return;
    1184             :     break;
    1185          53 :   case 15:
    1186             :     // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
    1187          53 :     O << "] ";
    1188          53 :     break;
    1189        1272 :   case 16:
    1190             :     // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
    1191        1272 :     O << "], ";
    1192        1272 :     break;
    1193          13 :   case 17:
    1194             :     // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
    1195          13 :     O << " %fcc0, ";
    1196          13 :     printOperand(MI, 1, STI, O);
    1197          13 :     O << ", ";
    1198          13 :     printOperand(MI, 0, STI, O);
    1199          13 :     return;
    1200             :     break;
    1201           3 :   case 18:
    1202             :     // LDCSRri, LDCSRrr
    1203           3 :     O << "], %csr";
    1204           3 :     return;
    1205             :     break;
    1206           6 :   case 19:
    1207             :     // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
    1208           6 :     O << "], %fsr";
    1209           6 :     return;
    1210             :     break;
    1211             :   case 20:
    1212             :     // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
    1213             :     O << ']';
    1214             :     return;
    1215             :     break;
    1216             :   }
    1217             : 
    1218             : 
    1219             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
    1220        4967 :   switch ((Bits >> 21) & 7) {
    1221           0 :   default: llvm_unreachable("Invalid command number.");
    1222         271 :   case 0:
    1223             :     // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
    1224         271 :     printOperand(MI, 1, STI, O);
    1225         271 :     break;
    1226        2165 :   case 1:
    1227             :     // SET, BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS...
    1228        2165 :     printOperand(MI, 0, STI, O);
    1229        2165 :     break;
    1230        2478 :   case 2:
    1231             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1232        2478 :     printOperand(MI, 2, STI, O);
    1233        2478 :     O << ", ";
    1234        2478 :     printOperand(MI, 0, STI, O);
    1235        2478 :     break;
    1236          10 :   case 3:
    1237             :     // CASArr
    1238          10 :     printOperand(MI, 4, STI, O);
    1239          10 :     O << ", ";
    1240          10 :     printOperand(MI, 2, STI, O);
    1241          10 :     O << ", ";
    1242          10 :     printOperand(MI, 0, STI, O);
    1243          10 :     return;
    1244             :     break;
    1245          43 :   case 4:
    1246             :     // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
    1247          43 :     printOperand(MI, 3, STI, O);
    1248          43 :     break;
    1249             :   }
    1250             : 
    1251             : 
    1252             :   // Fragment 3 encoded into 3 bits for 6 unique commands.
    1253        4957 :   switch ((Bits >> 24) & 7) {
    1254           0 :   default: llvm_unreachable("Invalid command number.");
    1255             :   case 0:
    1256             :     // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
    1257             :     return;
    1258             :     break;
    1259          40 :   case 1:
    1260             :     // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
    1261          40 :     O << ", ";
    1262             :     break;
    1263           0 :   case 2:
    1264             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1265           0 :     O << " + ";
    1266           0 :     printOperand(MI, 1, STI, O);
    1267           0 :     return;
    1268             :     break;
    1269          19 :   case 3:
    1270             :     // WRPSRri, WRPSRrr
    1271          19 :     O << ", %psr";
    1272          19 :     return;
    1273             :     break;
    1274          19 :   case 4:
    1275             :     // WRTBRri, WRTBRrr
    1276          19 :     O << ", %tbr";
    1277          19 :     return;
    1278             :     break;
    1279          19 :   case 5:
    1280             :     // WRWIMri, WRWIMrr
    1281          19 :     O << ", %wim";
    1282          19 :     return;
    1283             :     break;
    1284             :   }
    1285             : 
    1286             : 
    1287             :   // Fragment 4 encoded into 2 bits for 3 unique commands.
    1288          40 :   switch ((Bits >> 27) & 3) {
    1289           0 :   default: llvm_unreachable("Invalid command number.");
    1290           6 :   case 0:
    1291             :     // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
    1292           6 :     printOperand(MI, 2, STI, O);
    1293           6 :     return;
    1294             :     break;
    1295          24 :   case 1:
    1296             :     // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
    1297          24 :     printOperand(MI, 0, STI, O);
    1298          24 :     return;
    1299             :     break;
    1300          10 :   case 2:
    1301             :     // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
    1302          10 :     printOperand(MI, 3, STI, O);
    1303          10 :     return;
    1304             :     break;
    1305             :   }
    1306             : 
    1307             : }
    1308             : 
    1309             : 
    1310             : /// getRegisterName - This method is automatically generated by tblgen
    1311             : /// from the register set description.  This returns the assembler name
    1312             : /// for the specified register.
    1313       16464 : const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
    1314             :   assert(RegNo && RegNo < 236 && "Invalid register number!");
    1315             : 
    1316             :   static const char AsmStrs[] = {
    1317             :   /* 0 */ 'C', '1', '0', 0,
    1318             :   /* 4 */ 'F', '1', '0', 0,
    1319             :   /* 8 */ 'A', 'S', 'R', '1', '0', 0,
    1320             :   /* 14 */ 'C', '2', '0', 0,
    1321             :   /* 18 */ 'F', '2', '0', 0,
    1322             :   /* 22 */ 'A', 'S', 'R', '2', '0', 0,
    1323             :   /* 28 */ 'C', '3', '0', 0,
    1324             :   /* 32 */ 'F', '3', '0', 0,
    1325             :   /* 36 */ 'A', 'S', 'R', '3', '0', 0,
    1326             :   /* 42 */ 'F', '4', '0', 0,
    1327             :   /* 46 */ 'F', '5', '0', 0,
    1328             :   /* 50 */ 'F', '6', '0', 0,
    1329             :   /* 54 */ 'F', 'C', 'C', '0', 0,
    1330             :   /* 59 */ 'F', '0', 0,
    1331             :   /* 62 */ 'G', '0', 0,
    1332             :   /* 65 */ 'I', '0', 0,
    1333             :   /* 68 */ 'L', '0', 0,
    1334             :   /* 71 */ 'O', '0', 0,
    1335             :   /* 74 */ 'C', '1', '1', 0,
    1336             :   /* 78 */ 'F', '1', '1', 0,
    1337             :   /* 82 */ 'A', 'S', 'R', '1', '1', 0,
    1338             :   /* 88 */ 'C', '2', '1', 0,
    1339             :   /* 92 */ 'F', '2', '1', 0,
    1340             :   /* 96 */ 'A', 'S', 'R', '2', '1', 0,
    1341             :   /* 102 */ 'C', '3', '1', 0,
    1342             :   /* 106 */ 'F', '3', '1', 0,
    1343             :   /* 110 */ 'A', 'S', 'R', '3', '1', 0,
    1344             :   /* 116 */ 'F', 'C', 'C', '1', 0,
    1345             :   /* 121 */ 'F', '1', 0,
    1346             :   /* 124 */ 'G', '1', 0,
    1347             :   /* 127 */ 'I', '1', 0,
    1348             :   /* 130 */ 'L', '1', 0,
    1349             :   /* 133 */ 'O', '1', 0,
    1350             :   /* 136 */ 'A', 'S', 'R', '1', 0,
    1351             :   /* 141 */ 'C', '1', '2', 0,
    1352             :   /* 145 */ 'F', '1', '2', 0,
    1353             :   /* 149 */ 'A', 'S', 'R', '1', '2', 0,
    1354             :   /* 155 */ 'C', '2', '2', 0,
    1355             :   /* 159 */ 'F', '2', '2', 0,
    1356             :   /* 163 */ 'A', 'S', 'R', '2', '2', 0,
    1357             :   /* 169 */ 'F', '3', '2', 0,
    1358             :   /* 173 */ 'F', '4', '2', 0,
    1359             :   /* 177 */ 'F', '5', '2', 0,
    1360             :   /* 181 */ 'F', '6', '2', 0,
    1361             :   /* 185 */ 'F', 'C', 'C', '2', 0,
    1362             :   /* 190 */ 'F', '2', 0,
    1363             :   /* 193 */ 'G', '2', 0,
    1364             :   /* 196 */ 'I', '2', 0,
    1365             :   /* 199 */ 'L', '2', 0,
    1366             :   /* 202 */ 'O', '2', 0,
    1367             :   /* 205 */ 'A', 'S', 'R', '2', 0,
    1368             :   /* 210 */ 'C', '1', '3', 0,
    1369             :   /* 214 */ 'F', '1', '3', 0,
    1370             :   /* 218 */ 'A', 'S', 'R', '1', '3', 0,
    1371             :   /* 224 */ 'C', '2', '3', 0,
    1372             :   /* 228 */ 'F', '2', '3', 0,
    1373             :   /* 232 */ 'A', 'S', 'R', '2', '3', 0,
    1374             :   /* 238 */ 'F', 'C', 'C', '3', 0,
    1375             :   /* 243 */ 'F', '3', 0,
    1376             :   /* 246 */ 'G', '3', 0,
    1377             :   /* 249 */ 'I', '3', 0,
    1378             :   /* 252 */ 'L', '3', 0,
    1379             :   /* 255 */ 'O', '3', 0,
    1380             :   /* 258 */ 'A', 'S', 'R', '3', 0,
    1381             :   /* 263 */ 'C', '1', '4', 0,
    1382             :   /* 267 */ 'F', '1', '4', 0,
    1383             :   /* 271 */ 'A', 'S', 'R', '1', '4', 0,
    1384             :   /* 277 */ 'C', '2', '4', 0,
    1385             :   /* 281 */ 'F', '2', '4', 0,
    1386             :   /* 285 */ 'A', 'S', 'R', '2', '4', 0,
    1387             :   /* 291 */ 'F', '3', '4', 0,
    1388             :   /* 295 */ 'F', '4', '4', 0,
    1389             :   /* 299 */ 'F', '5', '4', 0,
    1390             :   /* 303 */ 'C', '4', 0,
    1391             :   /* 306 */ 'F', '4', 0,
    1392             :   /* 309 */ 'G', '4', 0,
    1393             :   /* 312 */ 'I', '4', 0,
    1394             :   /* 315 */ 'L', '4', 0,
    1395             :   /* 318 */ 'O', '4', 0,
    1396             :   /* 321 */ 'A', 'S', 'R', '4', 0,
    1397             :   /* 326 */ 'C', '1', '5', 0,
    1398             :   /* 330 */ 'F', '1', '5', 0,
    1399             :   /* 334 */ 'A', 'S', 'R', '1', '5', 0,
    1400             :   /* 340 */ 'C', '2', '5', 0,
    1401             :   /* 344 */ 'F', '2', '5', 0,
    1402             :   /* 348 */ 'A', 'S', 'R', '2', '5', 0,
    1403             :   /* 354 */ 'C', '5', 0,
    1404             :   /* 357 */ 'F', '5', 0,
    1405             :   /* 360 */ 'G', '5', 0,
    1406             :   /* 363 */ 'I', '5', 0,
    1407             :   /* 366 */ 'L', '5', 0,
    1408             :   /* 369 */ 'O', '5', 0,
    1409             :   /* 372 */ 'A', 'S', 'R', '5', 0,
    1410             :   /* 377 */ 'C', '1', '6', 0,
    1411             :   /* 381 */ 'F', '1', '6', 0,
    1412             :   /* 385 */ 'A', 'S', 'R', '1', '6', 0,
    1413             :   /* 391 */ 'C', '2', '6', 0,
    1414             :   /* 395 */ 'F', '2', '6', 0,
    1415             :   /* 399 */ 'A', 'S', 'R', '2', '6', 0,
    1416             :   /* 405 */ 'F', '3', '6', 0,
    1417             :   /* 409 */ 'F', '4', '6', 0,
    1418             :   /* 413 */ 'F', '5', '6', 0,
    1419             :   /* 417 */ 'C', '6', 0,
    1420             :   /* 420 */ 'F', '6', 0,
    1421             :   /* 423 */ 'G', '6', 0,
    1422             :   /* 426 */ 'I', '6', 0,
    1423             :   /* 429 */ 'L', '6', 0,
    1424             :   /* 432 */ 'O', '6', 0,
    1425             :   /* 435 */ 'A', 'S', 'R', '6', 0,
    1426             :   /* 440 */ 'C', '1', '7', 0,
    1427             :   /* 444 */ 'F', '1', '7', 0,
    1428             :   /* 448 */ 'A', 'S', 'R', '1', '7', 0,
    1429             :   /* 454 */ 'C', '2', '7', 0,
    1430             :   /* 458 */ 'F', '2', '7', 0,
    1431             :   /* 462 */ 'A', 'S', 'R', '2', '7', 0,
    1432             :   /* 468 */ 'C', '7', 0,
    1433             :   /* 471 */ 'F', '7', 0,
    1434             :   /* 474 */ 'G', '7', 0,
    1435             :   /* 477 */ 'I', '7', 0,
    1436             :   /* 480 */ 'L', '7', 0,
    1437             :   /* 483 */ 'O', '7', 0,
    1438             :   /* 486 */ 'A', 'S', 'R', '7', 0,
    1439             :   /* 491 */ 'C', '1', '8', 0,
    1440             :   /* 495 */ 'F', '1', '8', 0,
    1441             :   /* 499 */ 'A', 'S', 'R', '1', '8', 0,
    1442             :   /* 505 */ 'C', '2', '8', 0,
    1443             :   /* 509 */ 'F', '2', '8', 0,
    1444             :   /* 513 */ 'A', 'S', 'R', '2', '8', 0,
    1445             :   /* 519 */ 'F', '3', '8', 0,
    1446             :   /* 523 */ 'F', '4', '8', 0,
    1447             :   /* 527 */ 'F', '5', '8', 0,
    1448             :   /* 531 */ 'C', '8', 0,
    1449             :   /* 534 */ 'F', '8', 0,
    1450             :   /* 537 */ 'A', 'S', 'R', '8', 0,
    1451             :   /* 542 */ 'C', '1', '9', 0,
    1452             :   /* 546 */ 'F', '1', '9', 0,
    1453             :   /* 550 */ 'A', 'S', 'R', '1', '9', 0,
    1454             :   /* 556 */ 'C', '2', '9', 0,
    1455             :   /* 560 */ 'F', '2', '9', 0,
    1456             :   /* 564 */ 'A', 'S', 'R', '2', '9', 0,
    1457             :   /* 570 */ 'C', '9', 0,
    1458             :   /* 573 */ 'F', '9', 0,
    1459             :   /* 576 */ 'A', 'S', 'R', '9', 0,
    1460             :   /* 581 */ 'T', 'B', 'A', 0,
    1461             :   /* 585 */ 'I', 'C', 'C', 0,
    1462             :   /* 589 */ 'T', 'N', 'P', 'C', 0,
    1463             :   /* 594 */ 'T', 'P', 'C', 0,
    1464             :   /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
    1465             :   /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
    1466             :   /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
    1467             :   /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
    1468             :   /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
    1469             :   /* 638 */ 'T', 'I', 'C', 'K', 0,
    1470             :   /* 643 */ 'P', 'I', 'L', 0,
    1471             :   /* 647 */ 'T', 'L', 0,
    1472             :   /* 650 */ 'W', 'I', 'M', 0,
    1473             :   /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
    1474             :   /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
    1475             :   /* 672 */ 'F', 'P', 0,
    1476             :   /* 675 */ 'S', 'P', 0,
    1477             :   /* 678 */ 'C', 'W', 'P', 0,
    1478             :   /* 682 */ 'F', 'Q', 0,
    1479             :   /* 685 */ 'C', 'P', 'Q', 0,
    1480             :   /* 689 */ 'T', 'B', 'R', 0,
    1481             :   /* 693 */ 'F', 'S', 'R', 0,
    1482             :   /* 697 */ 'C', 'P', 'S', 'R', 0,
    1483             :   /* 702 */ 'T', 'T', 0,
    1484             :   /* 705 */ 'Y', 0,
    1485             :   };
    1486             : 
    1487             :   static const uint16_t RegAsmOffset[] = {
    1488             :     598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
    1489             :     689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
    1490             :     372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
    1491             :     550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
    1492             :     118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
    1493             :     326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
    1494             :     556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
    1495             :     159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
    1496             :     46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
    1497             :     471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
    1498             :     92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
    1499             :     238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
    1500             :     363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
    1501             :     255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
    1502             :     405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
    1503             :     263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
    1504             :     196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
    1505             :   };
    1506             : 
    1507             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
    1508             :           "Invalid alt name index for register!");
    1509       16464 :   return AsmStrs+RegAsmOffset[RegNo-1];
    1510             : }
    1511             : 
    1512             : #ifdef PRINT_ALIAS_INSTR
    1513             : #undef PRINT_ALIAS_INSTR
    1514             : 
    1515       10531 : bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
    1516             :   const char *AsmString;
    1517       10531 :   switch (MI->getOpcode()) {
    1518             :   default: return false;
    1519             :   case SP::BCOND:
    1520         167 :     if (MI->getNumOperands() == 2 &&
    1521         334 :         MI->getOperand(1).isImm() &&
    1522         167 :         MI->getOperand(1).getImm() == 8) {
    1523             :       // (BCOND brtarget:$imm, { 1, 0, 0, 0 })
    1524             :       AsmString = "ba $\x01";
    1525             :       break;
    1526             :     }
    1527         161 :     if (MI->getNumOperands() == 2 &&
    1528         322 :         MI->getOperand(1).isImm() &&
    1529         161 :         MI->getOperand(1).getImm() == 0) {
    1530             :       // (BCOND brtarget:$imm, { 0, 0, 0, 0 })
    1531             :       AsmString = "bn $\x01";
    1532             :       break;
    1533             :     }
    1534         157 :     if (MI->getNumOperands() == 2 &&
    1535         314 :         MI->getOperand(1).isImm() &&
    1536         157 :         MI->getOperand(1).getImm() == 9) {
    1537             :       // (BCOND brtarget:$imm, { 1, 0, 0, 1 })
    1538             :       AsmString = "bne $\x01";
    1539             :       break;
    1540             :     }
    1541          90 :     if (MI->getNumOperands() == 2 &&
    1542         180 :         MI->getOperand(1).isImm() &&
    1543          90 :         MI->getOperand(1).getImm() == 1) {
    1544             :       // (BCOND brtarget:$imm, { 0, 0, 0, 1 })
    1545             :       AsmString = "be $\x01";
    1546             :       break;
    1547             :     }
    1548          60 :     if (MI->getNumOperands() == 2 &&
    1549         120 :         MI->getOperand(1).isImm() &&
    1550          60 :         MI->getOperand(1).getImm() == 10) {
    1551             :       // (BCOND brtarget:$imm, { 1, 0, 1, 0 })
    1552             :       AsmString = "bg $\x01";
    1553             :       break;
    1554             :     }
    1555          49 :     if (MI->getNumOperands() == 2 &&
    1556          98 :         MI->getOperand(1).isImm() &&
    1557          49 :         MI->getOperand(1).getImm() == 2) {
    1558             :       // (BCOND brtarget:$imm, { 0, 0, 1, 0 })
    1559             :       AsmString = "ble $\x01";
    1560             :       break;
    1561             :     }
    1562          45 :     if (MI->getNumOperands() == 2 &&
    1563          90 :         MI->getOperand(1).isImm() &&
    1564          45 :         MI->getOperand(1).getImm() == 11) {
    1565             :       // (BCOND brtarget:$imm, { 1, 0, 1, 1 })
    1566             :       AsmString = "bge $\x01";
    1567             :       break;
    1568             :     }
    1569          42 :     if (MI->getNumOperands() == 2 &&
    1570          84 :         MI->getOperand(1).isImm() &&
    1571          42 :         MI->getOperand(1).getImm() == 3) {
    1572             :       // (BCOND brtarget:$imm, { 0, 0, 1, 1 })
    1573             :       AsmString = "bl $\x01";
    1574             :       break;
    1575             :     }
    1576          31 :     if (MI->getNumOperands() == 2 &&
    1577          62 :         MI->getOperand(1).isImm() &&
    1578          31 :         MI->getOperand(1).getImm() == 12) {
    1579             :       // (BCOND brtarget:$imm, { 1, 1, 0, 0 })
    1580             :       AsmString = "bgu $\x01";
    1581             :       break;
    1582             :     }
    1583          27 :     if (MI->getNumOperands() == 2 &&
    1584          54 :         MI->getOperand(1).isImm() &&
    1585          27 :         MI->getOperand(1).getImm() == 4) {
    1586             :       // (BCOND brtarget:$imm, { 0, 1, 0, 0 })
    1587             :       AsmString = "bleu $\x01";
    1588             :       break;
    1589             :     }
    1590          22 :     if (MI->getNumOperands() == 2 &&
    1591          44 :         MI->getOperand(1).isImm() &&
    1592          22 :         MI->getOperand(1).getImm() == 13) {
    1593             :       // (BCOND brtarget:$imm, { 1, 1, 0, 1 })
    1594             :       AsmString = "bcc $\x01";
    1595             :       break;
    1596             :     }
    1597          17 :     if (MI->getNumOperands() == 2 &&
    1598          34 :         MI->getOperand(1).isImm() &&
    1599          17 :         MI->getOperand(1).getImm() == 5) {
    1600             :       // (BCOND brtarget:$imm, { 0, 1, 0, 1 })
    1601             :       AsmString = "bcs $\x01";
    1602             :       break;
    1603             :     }
    1604          12 :     if (MI->getNumOperands() == 2 &&
    1605          24 :         MI->getOperand(1).isImm() &&
    1606          12 :         MI->getOperand(1).getImm() == 14) {
    1607             :       // (BCOND brtarget:$imm, { 1, 1, 1, 0 })
    1608             :       AsmString = "bpos $\x01";
    1609             :       break;
    1610             :     }
    1611           9 :     if (MI->getNumOperands() == 2 &&
    1612          18 :         MI->getOperand(1).isImm() &&
    1613           9 :         MI->getOperand(1).getImm() == 6) {
    1614             :       // (BCOND brtarget:$imm, { 0, 1, 1, 0 })
    1615             :       AsmString = "bneg $\x01";
    1616             :       break;
    1617             :     }
    1618           6 :     if (MI->getNumOperands() == 2 &&
    1619          12 :         MI->getOperand(1).isImm() &&
    1620           6 :         MI->getOperand(1).getImm() == 15) {
    1621             :       // (BCOND brtarget:$imm, { 1, 1, 1, 1 })
    1622             :       AsmString = "bvc $\x01";
    1623             :       break;
    1624             :     }
    1625           3 :     if (MI->getNumOperands() == 2 &&
    1626           6 :         MI->getOperand(1).isImm() &&
    1627           3 :         MI->getOperand(1).getImm() == 7) {
    1628             :       // (BCOND brtarget:$imm, { 0, 1, 1, 1 })
    1629             :       AsmString = "bvs $\x01";
    1630             :       break;
    1631             :     }
    1632             :     return false;
    1633             :   case SP::BCONDA:
    1634          30 :     if (MI->getNumOperands() == 2 &&
    1635          60 :         MI->getOperand(1).isImm() &&
    1636          30 :         MI->getOperand(1).getImm() == 8) {
    1637             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 0 })
    1638             :       AsmString = "ba,a $\x01";
    1639             :       break;
    1640             :     }
    1641          28 :     if (MI->getNumOperands() == 2 &&
    1642          56 :         MI->getOperand(1).isImm() &&
    1643          28 :         MI->getOperand(1).getImm() == 0) {
    1644             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 0 })
    1645             :       AsmString = "bn,a $\x01";
    1646             :       break;
    1647             :     }
    1648          28 :     if (MI->getNumOperands() == 2 &&
    1649          56 :         MI->getOperand(1).isImm() &&
    1650          28 :         MI->getOperand(1).getImm() == 9) {
    1651             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 1 })
    1652             :       AsmString = "bne,a $\x01";
    1653             :       break;
    1654             :     }
    1655          26 :     if (MI->getNumOperands() == 2 &&
    1656          52 :         MI->getOperand(1).isImm() &&
    1657          26 :         MI->getOperand(1).getImm() == 1) {
    1658             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 1 })
    1659             :       AsmString = "be,a $\x01";
    1660             :       break;
    1661             :     }
    1662          24 :     if (MI->getNumOperands() == 2 &&
    1663          48 :         MI->getOperand(1).isImm() &&
    1664          24 :         MI->getOperand(1).getImm() == 10) {
    1665             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 0 })
    1666             :       AsmString = "bg,a $\x01";
    1667             :       break;
    1668             :     }
    1669          22 :     if (MI->getNumOperands() == 2 &&
    1670          44 :         MI->getOperand(1).isImm() &&
    1671          22 :         MI->getOperand(1).getImm() == 2) {
    1672             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 0 })
    1673             :       AsmString = "ble,a $\x01";
    1674             :       break;
    1675             :     }
    1676          20 :     if (MI->getNumOperands() == 2 &&
    1677          40 :         MI->getOperand(1).isImm() &&
    1678          20 :         MI->getOperand(1).getImm() == 11) {
    1679             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 1 })
    1680             :       AsmString = "bge,a $\x01";
    1681             :       break;
    1682             :     }
    1683          18 :     if (MI->getNumOperands() == 2 &&
    1684          36 :         MI->getOperand(1).isImm() &&
    1685          18 :         MI->getOperand(1).getImm() == 3) {
    1686             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 1 })
    1687             :       AsmString = "bl,a $\x01";
    1688             :       break;
    1689             :     }
    1690          16 :     if (MI->getNumOperands() == 2 &&
    1691          32 :         MI->getOperand(1).isImm() &&
    1692          16 :         MI->getOperand(1).getImm() == 12) {
    1693             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 0 })
    1694             :       AsmString = "bgu,a $\x01";
    1695             :       break;
    1696             :     }
    1697          14 :     if (MI->getNumOperands() == 2 &&
    1698          28 :         MI->getOperand(1).isImm() &&
    1699          14 :         MI->getOperand(1).getImm() == 4) {
    1700             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 0 })
    1701             :       AsmString = "bleu,a $\x01";
    1702             :       break;
    1703             :     }
    1704          12 :     if (MI->getNumOperands() == 2 &&
    1705          24 :         MI->getOperand(1).isImm() &&
    1706          12 :         MI->getOperand(1).getImm() == 13) {
    1707             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 1 })
    1708             :       AsmString = "bcc,a $\x01";
    1709             :       break;
    1710             :     }
    1711          10 :     if (MI->getNumOperands() == 2 &&
    1712          20 :         MI->getOperand(1).isImm() &&
    1713          10 :         MI->getOperand(1).getImm() == 5) {
    1714             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 1 })
    1715             :       AsmString = "bcs,a $\x01";
    1716             :       break;
    1717             :     }
    1718           8 :     if (MI->getNumOperands() == 2 &&
    1719          16 :         MI->getOperand(1).isImm() &&
    1720           8 :         MI->getOperand(1).getImm() == 14) {
    1721             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 0 })
    1722             :       AsmString = "bpos,a $\x01";
    1723             :       break;
    1724             :     }
    1725           6 :     if (MI->getNumOperands() == 2 &&
    1726          12 :         MI->getOperand(1).isImm() &&
    1727           6 :         MI->getOperand(1).getImm() == 6) {
    1728             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 0 })
    1729             :       AsmString = "bneg,a $\x01";
    1730             :       break;
    1731             :     }
    1732           4 :     if (MI->getNumOperands() == 2 &&
    1733           8 :         MI->getOperand(1).isImm() &&
    1734           4 :         MI->getOperand(1).getImm() == 15) {
    1735             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 1 })
    1736             :       AsmString = "bvc,a $\x01";
    1737             :       break;
    1738             :     }
    1739           2 :     if (MI->getNumOperands() == 2 &&
    1740           4 :         MI->getOperand(1).isImm() &&
    1741           2 :         MI->getOperand(1).getImm() == 7) {
    1742             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 1 })
    1743             :       AsmString = "bvs,a $\x01";
    1744             :       break;
    1745             :     }
    1746             :     return false;
    1747             :   case SP::BPFCCANT:
    1748          15 :     if (MI->getNumOperands() == 3 &&
    1749          30 :         MI->getOperand(1).isImm() &&
    1750          15 :         MI->getOperand(1).getImm() == 8 &&
    1751           0 :         MI->getOperand(2).isReg() &&
    1752          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1753             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1754             :       // (BPFCCANT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1755             :       AsmString = "fba,a,pn $\x03, $\x01";
    1756             :       break;
    1757             :     }
    1758          15 :     if (MI->getNumOperands() == 3 &&
    1759          30 :         MI->getOperand(1).isImm() &&
    1760          15 :         MI->getOperand(1).getImm() == 0 &&
    1761           0 :         MI->getOperand(2).isReg() &&
    1762          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1763             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1764             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1765             :       AsmString = "fbn,a,pn $\x03, $\x01";
    1766             :       break;
    1767             :     }
    1768          15 :     if (MI->getNumOperands() == 3 &&
    1769          30 :         MI->getOperand(1).isImm() &&
    1770          16 :         MI->getOperand(1).getImm() == 7 &&
    1771           2 :         MI->getOperand(2).isReg() &&
    1772          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1773             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1774             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1775             :       AsmString = "fbu,a,pn $\x03, $\x01";
    1776             :       break;
    1777             :     }
    1778          14 :     if (MI->getNumOperands() == 3 &&
    1779          28 :         MI->getOperand(1).isImm() &&
    1780          15 :         MI->getOperand(1).getImm() == 6 &&
    1781           2 :         MI->getOperand(2).isReg() &&
    1782          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1783             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1784             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1785             :       AsmString = "fbg,a,pn $\x03, $\x01";
    1786             :       break;
    1787             :     }
    1788          13 :     if (MI->getNumOperands() == 3 &&
    1789          26 :         MI->getOperand(1).isImm() &&
    1790          14 :         MI->getOperand(1).getImm() == 5 &&
    1791           2 :         MI->getOperand(2).isReg() &&
    1792          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1793             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1794             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1795             :       AsmString = "fbug,a,pn $\x03, $\x01";
    1796             :       break;
    1797             :     }
    1798          12 :     if (MI->getNumOperands() == 3 &&
    1799          24 :         MI->getOperand(1).isImm() &&
    1800          13 :         MI->getOperand(1).getImm() == 4 &&
    1801           2 :         MI->getOperand(2).isReg() &&
    1802          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1803             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1804             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1805             :       AsmString = "fbl,a,pn $\x03, $\x01";
    1806             :       break;
    1807             :     }
    1808          11 :     if (MI->getNumOperands() == 3 &&
    1809          22 :         MI->getOperand(1).isImm() &&
    1810          12 :         MI->getOperand(1).getImm() == 3 &&
    1811           2 :         MI->getOperand(2).isReg() &&
    1812          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1813             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1814             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1815             :       AsmString = "fbul,a,pn $\x03, $\x01";
    1816             :       break;
    1817             :     }
    1818          10 :     if (MI->getNumOperands() == 3 &&
    1819          20 :         MI->getOperand(1).isImm() &&
    1820          11 :         MI->getOperand(1).getImm() == 2 &&
    1821           2 :         MI->getOperand(2).isReg() &&
    1822          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1823             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1824             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1825             :       AsmString = "fblg,a,pn $\x03, $\x01";
    1826             :       break;
    1827             :     }
    1828           9 :     if (MI->getNumOperands() == 3 &&
    1829          18 :         MI->getOperand(1).isImm() &&
    1830          11 :         MI->getOperand(1).getImm() == 1 &&
    1831           4 :         MI->getOperand(2).isReg() &&
    1832          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1833             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1834             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    1835             :       AsmString = "fbne,a,pn $\x03, $\x01";
    1836             :       break;
    1837             :     }
    1838           7 :     if (MI->getNumOperands() == 3 &&
    1839          14 :         MI->getOperand(1).isImm() &&
    1840           8 :         MI->getOperand(1).getImm() == 9 &&
    1841           2 :         MI->getOperand(2).isReg() &&
    1842           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1844             :       // (BPFCCANT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    1845             :       AsmString = "fbe,a,pn $\x03, $\x01";
    1846             :       break;
    1847             :     }
    1848           6 :     if (MI->getNumOperands() == 3 &&
    1849          12 :         MI->getOperand(1).isImm() &&
    1850           7 :         MI->getOperand(1).getImm() == 10 &&
    1851           2 :         MI->getOperand(2).isReg() &&
    1852           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1854             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    1855             :       AsmString = "fbue,a,pn $\x03, $\x01";
    1856             :       break;
    1857             :     }
    1858           5 :     if (MI->getNumOperands() == 3 &&
    1859          10 :         MI->getOperand(1).isImm() &&
    1860           6 :         MI->getOperand(1).getImm() == 11 &&
    1861           2 :         MI->getOperand(2).isReg() &&
    1862           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1863             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1864             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    1865             :       AsmString = "fbge,a,pn $\x03, $\x01";
    1866             :       break;
    1867             :     }
    1868           4 :     if (MI->getNumOperands() == 3 &&
    1869           8 :         MI->getOperand(1).isImm() &&
    1870           5 :         MI->getOperand(1).getImm() == 12 &&
    1871           2 :         MI->getOperand(2).isReg() &&
    1872           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1873             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1874             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    1875             :       AsmString = "fbuge,a,pn $\x03, $\x01";
    1876             :       break;
    1877             :     }
    1878           3 :     if (MI->getNumOperands() == 3 &&
    1879           6 :         MI->getOperand(1).isImm() &&
    1880           4 :         MI->getOperand(1).getImm() == 13 &&
    1881           2 :         MI->getOperand(2).isReg() &&
    1882           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1883             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1884             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    1885             :       AsmString = "fble,a,pn $\x03, $\x01";
    1886             :       break;
    1887             :     }
    1888           2 :     if (MI->getNumOperands() == 3 &&
    1889           4 :         MI->getOperand(1).isImm() &&
    1890           3 :         MI->getOperand(1).getImm() == 14 &&
    1891           2 :         MI->getOperand(2).isReg() &&
    1892           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1893             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1894             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    1895             :       AsmString = "fbule,a,pn $\x03, $\x01";
    1896             :       break;
    1897             :     }
    1898           1 :     if (MI->getNumOperands() == 3 &&
    1899           2 :         MI->getOperand(1).isImm() &&
    1900           2 :         MI->getOperand(1).getImm() == 15 &&
    1901           2 :         MI->getOperand(2).isReg() &&
    1902           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1903             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1904             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    1905             :       AsmString = "fbo,a,pn $\x03, $\x01";
    1906             :       break;
    1907             :     }
    1908             :     return false;
    1909             :   case SP::BPFCCNT:
    1910          15 :     if (MI->getNumOperands() == 3 &&
    1911          30 :         MI->getOperand(1).isImm() &&
    1912          15 :         MI->getOperand(1).getImm() == 8 &&
    1913           0 :         MI->getOperand(2).isReg() &&
    1914          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1915             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1916             :       // (BPFCCNT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1917             :       AsmString = "fba,pn $\x03, $\x01";
    1918             :       break;
    1919             :     }
    1920          15 :     if (MI->getNumOperands() == 3 &&
    1921          30 :         MI->getOperand(1).isImm() &&
    1922          15 :         MI->getOperand(1).getImm() == 0 &&
    1923           0 :         MI->getOperand(2).isReg() &&
    1924          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1925             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1926             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1927             :       AsmString = "fbn,pn $\x03, $\x01";
    1928             :       break;
    1929             :     }
    1930          15 :     if (MI->getNumOperands() == 3 &&
    1931          30 :         MI->getOperand(1).isImm() &&
    1932          16 :         MI->getOperand(1).getImm() == 7 &&
    1933           2 :         MI->getOperand(2).isReg() &&
    1934          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1935             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1936             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1937             :       AsmString = "fbu,pn $\x03, $\x01";
    1938             :       break;
    1939             :     }
    1940          14 :     if (MI->getNumOperands() == 3 &&
    1941          28 :         MI->getOperand(1).isImm() &&
    1942          15 :         MI->getOperand(1).getImm() == 6 &&
    1943           2 :         MI->getOperand(2).isReg() &&
    1944          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1945             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1946             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1947             :       AsmString = "fbg,pn $\x03, $\x01";
    1948             :       break;
    1949             :     }
    1950          13 :     if (MI->getNumOperands() == 3 &&
    1951          26 :         MI->getOperand(1).isImm() &&
    1952          14 :         MI->getOperand(1).getImm() == 5 &&
    1953           2 :         MI->getOperand(2).isReg() &&
    1954          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1955             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1956             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1957             :       AsmString = "fbug,pn $\x03, $\x01";
    1958             :       break;
    1959             :     }
    1960          12 :     if (MI->getNumOperands() == 3 &&
    1961          24 :         MI->getOperand(1).isImm() &&
    1962          13 :         MI->getOperand(1).getImm() == 4 &&
    1963           2 :         MI->getOperand(2).isReg() &&
    1964          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1965             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1966             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1967             :       AsmString = "fbl,pn $\x03, $\x01";
    1968             :       break;
    1969             :     }
    1970          11 :     if (MI->getNumOperands() == 3 &&
    1971          22 :         MI->getOperand(1).isImm() &&
    1972          12 :         MI->getOperand(1).getImm() == 3 &&
    1973           2 :         MI->getOperand(2).isReg() &&
    1974          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1975             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1976             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1977             :       AsmString = "fbul,pn $\x03, $\x01";
    1978             :       break;
    1979             :     }
    1980          10 :     if (MI->getNumOperands() == 3 &&
    1981          20 :         MI->getOperand(1).isImm() &&
    1982          11 :         MI->getOperand(1).getImm() == 2 &&
    1983           2 :         MI->getOperand(2).isReg() &&
    1984          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1985             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1986             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1987             :       AsmString = "fblg,pn $\x03, $\x01";
    1988             :       break;
    1989             :     }
    1990           9 :     if (MI->getNumOperands() == 3 &&
    1991          18 :         MI->getOperand(1).isImm() &&
    1992          10 :         MI->getOperand(1).getImm() == 1 &&
    1993           2 :         MI->getOperand(2).isReg() &&
    1994          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1996             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    1997             :       AsmString = "fbne,pn $\x03, $\x01";
    1998             :       break;
    1999             :     }
    2000           8 :     if (MI->getNumOperands() == 3 &&
    2001          16 :         MI->getOperand(1).isImm() &&
    2002           9 :         MI->getOperand(1).getImm() == 9 &&
    2003           2 :         MI->getOperand(2).isReg() &&
    2004          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2005             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2006             :       // (BPFCCNT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    2007             :       AsmString = "fbe,pn $\x03, $\x01";
    2008             :       break;
    2009             :     }
    2010           7 :     if (MI->getNumOperands() == 3 &&
    2011          14 :         MI->getOperand(1).isImm() &&
    2012           9 :         MI->getOperand(1).getImm() == 10 &&
    2013           4 :         MI->getOperand(2).isReg() &&
    2014          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2015             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2016             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    2017             :       AsmString = "fbue,pn $\x03, $\x01";
    2018             :       break;
    2019             :     }
    2020           5 :     if (MI->getNumOperands() == 3 &&
    2021          10 :         MI->getOperand(1).isImm() &&
    2022           6 :         MI->getOperand(1).getImm() == 11 &&
    2023           2 :         MI->getOperand(2).isReg() &&
    2024           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2025             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2026             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    2027             :       AsmString = "fbge,pn $\x03, $\x01";
    2028             :       break;
    2029             :     }
    2030           4 :     if (MI->getNumOperands() == 3 &&
    2031           8 :         MI->getOperand(1).isImm() &&
    2032           5 :         MI->getOperand(1).getImm() == 12 &&
    2033           2 :         MI->getOperand(2).isReg() &&
    2034           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2035             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2036             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    2037             :       AsmString = "fbuge,pn $\x03, $\x01";
    2038             :       break;
    2039             :     }
    2040           3 :     if (MI->getNumOperands() == 3 &&
    2041           6 :         MI->getOperand(1).isImm() &&
    2042           4 :         MI->getOperand(1).getImm() == 13 &&
    2043           2 :         MI->getOperand(2).isReg() &&
    2044           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2045             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2046             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    2047             :       AsmString = "fble,pn $\x03, $\x01";
    2048             :       break;
    2049             :     }
    2050           2 :     if (MI->getNumOperands() == 3 &&
    2051           4 :         MI->getOperand(1).isImm() &&
    2052           3 :         MI->getOperand(1).getImm() == 14 &&
    2053           2 :         MI->getOperand(2).isReg() &&
    2054           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2055             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2056             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    2057             :       AsmString = "fbule,pn $\x03, $\x01";
    2058             :       break;
    2059             :     }
    2060           1 :     if (MI->getNumOperands() == 3 &&
    2061           2 :         MI->getOperand(1).isImm() &&
    2062           2 :         MI->getOperand(1).getImm() == 15 &&
    2063           2 :         MI->getOperand(2).isReg() &&
    2064           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2065             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2066             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    2067             :       AsmString = "fbo,pn $\x03, $\x01";
    2068             :       break;
    2069             :     }
    2070             :     return false;
    2071             :   case SP::BPICCANT:
    2072          14 :     if (MI->getNumOperands() == 2 &&
    2073          28 :         MI->getOperand(1).isImm() &&
    2074          28 :         MI->getOperand(1).getImm() == 8 &&
    2075             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2076             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 0 })
    2077             :       AsmString = "ba,a,pn %icc, $\x01";
    2078             :       break;
    2079             :     }
    2080          14 :     if (MI->getNumOperands() == 2 &&
    2081          28 :         MI->getOperand(1).isImm() &&
    2082          28 :         MI->getOperand(1).getImm() == 0 &&
    2083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2084             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 0 })
    2085             :       AsmString = "bn,a,pn %icc, $\x01";
    2086             :       break;
    2087             :     }
    2088          14 :     if (MI->getNumOperands() == 2 &&
    2089          28 :         MI->getOperand(1).isImm() &&
    2090          29 :         MI->getOperand(1).getImm() == 9 &&
    2091             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2092             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 1 })
    2093             :       AsmString = "bne,a,pn %icc, $\x01";
    2094             :       break;
    2095             :     }
    2096          13 :     if (MI->getNumOperands() == 2 &&
    2097          26 :         MI->getOperand(1).isImm() &&
    2098          27 :         MI->getOperand(1).getImm() == 1 &&
    2099             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2100             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 1 })
    2101             :       AsmString = "be,a,pn %icc, $\x01";
    2102             :       break;
    2103             :     }
    2104          12 :     if (MI->getNumOperands() == 2 &&
    2105          24 :         MI->getOperand(1).isImm() &&
    2106          25 :         MI->getOperand(1).getImm() == 10 &&
    2107             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2108             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 0 })
    2109             :       AsmString = "bg,a,pn %icc, $\x01";
    2110             :       break;
    2111             :     }
    2112          11 :     if (MI->getNumOperands() == 2 &&
    2113          22 :         MI->getOperand(1).isImm() &&
    2114          23 :         MI->getOperand(1).getImm() == 2 &&
    2115             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2116             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 0 })
    2117             :       AsmString = "ble,a,pn %icc, $\x01";
    2118             :       break;
    2119             :     }
    2120          10 :     if (MI->getNumOperands() == 2 &&
    2121          20 :         MI->getOperand(1).isImm() &&
    2122          21 :         MI->getOperand(1).getImm() == 11 &&
    2123             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2124             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 1 })
    2125             :       AsmString = "bge,a,pn %icc, $\x01";
    2126             :       break;
    2127             :     }
    2128           9 :     if (MI->getNumOperands() == 2 &&
    2129          18 :         MI->getOperand(1).isImm() &&
    2130          19 :         MI->getOperand(1).getImm() == 3 &&
    2131             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2132             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 1 })
    2133             :       AsmString = "bl,a,pn %icc, $\x01";
    2134             :       break;
    2135             :     }
    2136           8 :     if (MI->getNumOperands() == 2 &&
    2137          16 :         MI->getOperand(1).isImm() &&
    2138          17 :         MI->getOperand(1).getImm() == 12 &&
    2139             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2140             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 0 })
    2141             :       AsmString = "bgu,a,pn %icc, $\x01";
    2142             :       break;
    2143             :     }
    2144           7 :     if (MI->getNumOperands() == 2 &&
    2145          14 :         MI->getOperand(1).isImm() &&
    2146          15 :         MI->getOperand(1).getImm() == 4 &&
    2147             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2148             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 0 })
    2149             :       AsmString = "bleu,a,pn %icc, $\x01";
    2150             :       break;
    2151             :     }
    2152           6 :     if (MI->getNumOperands() == 2 &&
    2153          12 :         MI->getOperand(1).isImm() &&
    2154          13 :         MI->getOperand(1).getImm() == 13 &&
    2155             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2156             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 1 })
    2157             :       AsmString = "bcc,a,pn %icc, $\x01";
    2158             :       break;
    2159             :     }
    2160           5 :     if (MI->getNumOperands() == 2 &&
    2161          10 :         MI->getOperand(1).isImm() &&
    2162          11 :         MI->getOperand(1).getImm() == 5 &&
    2163             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2164             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 1 })
    2165             :       AsmString = "bcs,a,pn %icc, $\x01";
    2166             :       break;
    2167             :     }
    2168           4 :     if (MI->getNumOperands() == 2 &&
    2169           8 :         MI->getOperand(1).isImm() &&
    2170           9 :         MI->getOperand(1).getImm() == 14 &&
    2171             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2172             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 0 })
    2173             :       AsmString = "bpos,a,pn %icc, $\x01";
    2174             :       break;
    2175             :     }
    2176           3 :     if (MI->getNumOperands() == 2 &&
    2177           6 :         MI->getOperand(1).isImm() &&
    2178           7 :         MI->getOperand(1).getImm() == 6 &&
    2179             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2180             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 0 })
    2181             :       AsmString = "bneg,a,pn %icc, $\x01";
    2182             :       break;
    2183             :     }
    2184           2 :     if (MI->getNumOperands() == 2 &&
    2185           4 :         MI->getOperand(1).isImm() &&
    2186           5 :         MI->getOperand(1).getImm() == 15 &&
    2187             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2188             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 1 })
    2189             :       AsmString = "bvc,a,pn %icc, $\x01";
    2190             :       break;
    2191             :     }
    2192           1 :     if (MI->getNumOperands() == 2 &&
    2193           2 :         MI->getOperand(1).isImm() &&
    2194           3 :         MI->getOperand(1).getImm() == 7 &&
    2195             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2196             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 1 })
    2197             :       AsmString = "bvs,a,pn %icc, $\x01";
    2198             :       break;
    2199             :     }
    2200             :     return false;
    2201             :   case SP::BPICCNT:
    2202          14 :     if (MI->getNumOperands() == 2 &&
    2203          28 :         MI->getOperand(1).isImm() &&
    2204          28 :         MI->getOperand(1).getImm() == 8 &&
    2205             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2206             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 0 })
    2207             :       AsmString = "ba,pn %icc, $\x01";
    2208             :       break;
    2209             :     }
    2210          14 :     if (MI->getNumOperands() == 2 &&
    2211          28 :         MI->getOperand(1).isImm() &&
    2212          28 :         MI->getOperand(1).getImm() == 0 &&
    2213             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2214             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 0 })
    2215             :       AsmString = "bn,pn %icc, $\x01";
    2216             :       break;
    2217             :     }
    2218          14 :     if (MI->getNumOperands() == 2 &&
    2219          28 :         MI->getOperand(1).isImm() &&
    2220          29 :         MI->getOperand(1).getImm() == 9 &&
    2221             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2222             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 1 })
    2223             :       AsmString = "bne,pn %icc, $\x01";
    2224             :       break;
    2225             :     }
    2226          13 :     if (MI->getNumOperands() == 2 &&
    2227          26 :         MI->getOperand(1).isImm() &&
    2228          27 :         MI->getOperand(1).getImm() == 1 &&
    2229             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2230             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 1 })
    2231             :       AsmString = "be,pn %icc, $\x01";
    2232             :       break;
    2233             :     }
    2234          12 :     if (MI->getNumOperands() == 2 &&
    2235          24 :         MI->getOperand(1).isImm() &&
    2236          25 :         MI->getOperand(1).getImm() == 10 &&
    2237             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2238             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 0 })
    2239             :       AsmString = "bg,pn %icc, $\x01";
    2240             :       break;
    2241             :     }
    2242          11 :     if (MI->getNumOperands() == 2 &&
    2243          22 :         MI->getOperand(1).isImm() &&
    2244          23 :         MI->getOperand(1).getImm() == 2 &&
    2245             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2246             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 0 })
    2247             :       AsmString = "ble,pn %icc, $\x01";
    2248             :       break;
    2249             :     }
    2250          10 :     if (MI->getNumOperands() == 2 &&
    2251          20 :         MI->getOperand(1).isImm() &&
    2252          21 :         MI->getOperand(1).getImm() == 11 &&
    2253             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2254             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 1 })
    2255             :       AsmString = "bge,pn %icc, $\x01";
    2256             :       break;
    2257             :     }
    2258           9 :     if (MI->getNumOperands() == 2 &&
    2259          18 :         MI->getOperand(1).isImm() &&
    2260          19 :         MI->getOperand(1).getImm() == 3 &&
    2261             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2262             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 1 })
    2263             :       AsmString = "bl,pn %icc, $\x01";
    2264             :       break;
    2265             :     }
    2266           8 :     if (MI->getNumOperands() == 2 &&
    2267          16 :         MI->getOperand(1).isImm() &&
    2268          17 :         MI->getOperand(1).getImm() == 12 &&
    2269             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2270             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 0 })
    2271             :       AsmString = "bgu,pn %icc, $\x01";
    2272             :       break;
    2273             :     }
    2274           7 :     if (MI->getNumOperands() == 2 &&
    2275          14 :         MI->getOperand(1).isImm() &&
    2276          15 :         MI->getOperand(1).getImm() == 4 &&
    2277             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2278             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 0 })
    2279             :       AsmString = "bleu,pn %icc, $\x01";
    2280             :       break;
    2281             :     }
    2282           6 :     if (MI->getNumOperands() == 2 &&
    2283          12 :         MI->getOperand(1).isImm() &&
    2284          13 :         MI->getOperand(1).getImm() == 13 &&
    2285             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2286             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 1 })
    2287             :       AsmString = "bcc,pn %icc, $\x01";
    2288             :       break;
    2289             :     }
    2290           5 :     if (MI->getNumOperands() == 2 &&
    2291          10 :         MI->getOperand(1).isImm() &&
    2292          11 :         MI->getOperand(1).getImm() == 5 &&
    2293             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2294             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 1 })
    2295             :       AsmString = "bcs,pn %icc, $\x01";
    2296             :       break;
    2297             :     }
    2298           4 :     if (MI->getNumOperands() == 2 &&
    2299           8 :         MI->getOperand(1).isImm() &&
    2300           9 :         MI->getOperand(1).getImm() == 14 &&
    2301             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2302             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 0 })
    2303             :       AsmString = "bpos,pn %icc, $\x01";
    2304             :       break;
    2305             :     }
    2306           3 :     if (MI->getNumOperands() == 2 &&
    2307           6 :         MI->getOperand(1).isImm() &&
    2308           7 :         MI->getOperand(1).getImm() == 6 &&
    2309             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2310             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 0 })
    2311             :       AsmString = "bneg,pn %icc, $\x01";
    2312             :       break;
    2313             :     }
    2314           2 :     if (MI->getNumOperands() == 2 &&
    2315           4 :         MI->getOperand(1).isImm() &&
    2316           5 :         MI->getOperand(1).getImm() == 15 &&
    2317             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2318             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 1 })
    2319             :       AsmString = "bvc,pn %icc, $\x01";
    2320             :       break;
    2321             :     }
    2322           1 :     if (MI->getNumOperands() == 2 &&
    2323           2 :         MI->getOperand(1).isImm() &&
    2324           3 :         MI->getOperand(1).getImm() == 7 &&
    2325             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2326             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 1 })
    2327             :       AsmString = "bvs,pn %icc, $\x01";
    2328             :       break;
    2329             :     }
    2330             :     return false;
    2331             :   case SP::BPXCCANT:
    2332          14 :     if (MI->getNumOperands() == 2 &&
    2333          28 :         MI->getOperand(1).isImm() &&
    2334          14 :         MI->getOperand(1).getImm() == 8) {
    2335             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 0 })
    2336             :       AsmString = "ba,a,pn %xcc, $\x01";
    2337             :       break;
    2338             :     }
    2339          14 :     if (MI->getNumOperands() == 2 &&
    2340          28 :         MI->getOperand(1).isImm() &&
    2341          14 :         MI->getOperand(1).getImm() == 0) {
    2342             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 0 })
    2343             :       AsmString = "bn,a,pn %xcc, $\x01";
    2344             :       break;
    2345             :     }
    2346          14 :     if (MI->getNumOperands() == 2 &&
    2347          28 :         MI->getOperand(1).isImm() &&
    2348          14 :         MI->getOperand(1).getImm() == 9) {
    2349             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 1 })
    2350             :       AsmString = "bne,a,pn %xcc, $\x01";
    2351             :       break;
    2352             :     }
    2353          13 :     if (MI->getNumOperands() == 2 &&
    2354          26 :         MI->getOperand(1).isImm() &&
    2355          13 :         MI->getOperand(1).getImm() == 1) {
    2356             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 1 })
    2357             :       AsmString = "be,a,pn %xcc, $\x01";
    2358             :       break;
    2359             :     }
    2360          12 :     if (MI->getNumOperands() == 2 &&
    2361          24 :         MI->getOperand(1).isImm() &&
    2362          12 :         MI->getOperand(1).getImm() == 10) {
    2363             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 0 })
    2364             :       AsmString = "bg,a,pn %xcc, $\x01";
    2365             :       break;
    2366             :     }
    2367          11 :     if (MI->getNumOperands() == 2 &&
    2368          22 :         MI->getOperand(1).isImm() &&
    2369          11 :         MI->getOperand(1).getImm() == 2) {
    2370             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 0 })
    2371             :       AsmString = "ble,a,pn %xcc, $\x01";
    2372             :       break;
    2373             :     }
    2374          10 :     if (MI->getNumOperands() == 2 &&
    2375          20 :         MI->getOperand(1).isImm() &&
    2376          10 :         MI->getOperand(1).getImm() == 11) {
    2377             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 1 })
    2378             :       AsmString = "bge,a,pn %xcc, $\x01";
    2379             :       break;
    2380             :     }
    2381           9 :     if (MI->getNumOperands() == 2 &&
    2382          18 :         MI->getOperand(1).isImm() &&
    2383           9 :         MI->getOperand(1).getImm() == 3) {
    2384             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 1 })
    2385             :       AsmString = "bl,a,pn %xcc, $\x01";
    2386             :       break;
    2387             :     }
    2388           8 :     if (MI->getNumOperands() == 2 &&
    2389          16 :         MI->getOperand(1).isImm() &&
    2390           8 :         MI->getOperand(1).getImm() == 12) {
    2391             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 0 })
    2392             :       AsmString = "bgu,a,pn %xcc, $\x01";
    2393             :       break;
    2394             :     }
    2395           7 :     if (MI->getNumOperands() == 2 &&
    2396          14 :         MI->getOperand(1).isImm() &&
    2397           7 :         MI->getOperand(1).getImm() == 4) {
    2398             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 0 })
    2399             :       AsmString = "bleu,a,pn %xcc, $\x01";
    2400             :       break;
    2401             :     }
    2402           6 :     if (MI->getNumOperands() == 2 &&
    2403          12 :         MI->getOperand(1).isImm() &&
    2404           6 :         MI->getOperand(1).getImm() == 13) {
    2405             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 1 })
    2406             :       AsmString = "bcc,a,pn %xcc, $\x01";
    2407             :       break;
    2408             :     }
    2409           5 :     if (MI->getNumOperands() == 2 &&
    2410          10 :         MI->getOperand(1).isImm() &&
    2411           5 :         MI->getOperand(1).getImm() == 5) {
    2412             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 1 })
    2413             :       AsmString = "bcs,a,pn %xcc, $\x01";
    2414             :       break;
    2415             :     }
    2416           4 :     if (MI->getNumOperands() == 2 &&
    2417           8 :         MI->getOperand(1).isImm() &&
    2418           4 :         MI->getOperand(1).getImm() == 14) {
    2419             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 0 })
    2420             :       AsmString = "bpos,a,pn %xcc, $\x01";
    2421             :       break;
    2422             :     }
    2423           3 :     if (MI->getNumOperands() == 2 &&
    2424           6 :         MI->getOperand(1).isImm() &&
    2425           3 :         MI->getOperand(1).getImm() == 6) {
    2426             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 0 })
    2427             :       AsmString = "bneg,a,pn %xcc, $\x01";
    2428             :       break;
    2429             :     }
    2430           2 :     if (MI->getNumOperands() == 2 &&
    2431           4 :         MI->getOperand(1).isImm() &&
    2432           2 :         MI->getOperand(1).getImm() == 15) {
    2433             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 1 })
    2434             :       AsmString = "bvc,a,pn %xcc, $\x01";
    2435             :       break;
    2436             :     }
    2437           1 :     if (MI->getNumOperands() == 2 &&
    2438           2 :         MI->getOperand(1).isImm() &&
    2439           1 :         MI->getOperand(1).getImm() == 7) {
    2440             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 1 })
    2441             :       AsmString = "bvs,a,pn %xcc, $\x01";
    2442             :       break;
    2443             :     }
    2444             :     return false;
    2445             :   case SP::BPXCCNT:
    2446          14 :     if (MI->getNumOperands() == 2 &&
    2447          28 :         MI->getOperand(1).isImm() &&
    2448          14 :         MI->getOperand(1).getImm() == 8) {
    2449             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 0 })
    2450             :       AsmString = "ba,pn %xcc, $\x01";
    2451             :       break;
    2452             :     }
    2453          14 :     if (MI->getNumOperands() == 2 &&
    2454          28 :         MI->getOperand(1).isImm() &&
    2455          14 :         MI->getOperand(1).getImm() == 0) {
    2456             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 0 })
    2457             :       AsmString = "bn,pn %xcc, $\x01";
    2458             :       break;
    2459             :     }
    2460          14 :     if (MI->getNumOperands() == 2 &&
    2461          28 :         MI->getOperand(1).isImm() &&
    2462          14 :         MI->getOperand(1).getImm() == 9) {
    2463             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 1 })
    2464             :       AsmString = "bne,pn %xcc, $\x01";
    2465             :       break;
    2466             :     }
    2467          13 :     if (MI->getNumOperands() == 2 &&
    2468          26 :         MI->getOperand(1).isImm() &&
    2469          13 :         MI->getOperand(1).getImm() == 1) {
    2470             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 1 })
    2471             :       AsmString = "be,pn %xcc, $\x01";
    2472             :       break;
    2473             :     }
    2474          12 :     if (MI->getNumOperands() == 2 &&
    2475          24 :         MI->getOperand(1).isImm() &&
    2476          12 :         MI->getOperand(1).getImm() == 10) {
    2477             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 0 })
    2478             :       AsmString = "bg,pn %xcc, $\x01";
    2479             :       break;
    2480             :     }
    2481          11 :     if (MI->getNumOperands() == 2 &&
    2482          22 :         MI->getOperand(1).isImm() &&
    2483          11 :         MI->getOperand(1).getImm() == 2) {
    2484             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 0 })
    2485             :       AsmString = "ble,pn %xcc, $\x01";
    2486             :       break;
    2487             :     }
    2488          10 :     if (MI->getNumOperands() == 2 &&
    2489          20 :         MI->getOperand(1).isImm() &&
    2490          10 :         MI->getOperand(1).getImm() == 11) {
    2491             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 1 })
    2492             :       AsmString = "bge,pn %xcc, $\x01";
    2493             :       break;
    2494             :     }
    2495           9 :     if (MI->getNumOperands() == 2 &&
    2496          18 :         MI->getOperand(1).isImm() &&
    2497           9 :         MI->getOperand(1).getImm() == 3) {
    2498             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 1 })
    2499             :       AsmString = "bl,pn %xcc, $\x01";
    2500             :       break;
    2501             :     }
    2502           8 :     if (MI->getNumOperands() == 2 &&
    2503          16 :         MI->getOperand(1).isImm() &&
    2504           8 :         MI->getOperand(1).getImm() == 12) {
    2505             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 0 })
    2506             :       AsmString = "bgu,pn %xcc, $\x01";
    2507             :       break;
    2508             :     }
    2509           7 :     if (MI->getNumOperands() == 2 &&
    2510          14 :         MI->getOperand(1).isImm() &&
    2511           7 :         MI->getOperand(1).getImm() == 4) {
    2512             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 0 })
    2513             :       AsmString = "bleu,pn %xcc, $\x01";
    2514             :       break;
    2515             :     }
    2516           6 :     if (MI->getNumOperands() == 2 &&
    2517          12 :         MI->getOperand(1).isImm() &&
    2518           6 :         MI->getOperand(1).getImm() == 13) {
    2519             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 1 })
    2520             :       AsmString = "bcc,pn %xcc, $\x01";
    2521             :       break;
    2522             :     }
    2523           5 :     if (MI->getNumOperands() == 2 &&
    2524          10 :         MI->getOperand(1).isImm() &&
    2525           5 :         MI->getOperand(1).getImm() == 5) {
    2526             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 1 })
    2527             :       AsmString = "bcs,pn %xcc, $\x01";
    2528             :       break;
    2529             :     }
    2530           4 :     if (MI->getNumOperands() == 2 &&
    2531           8 :         MI->getOperand(1).isImm() &&
    2532           4 :         MI->getOperand(1).getImm() == 14) {
    2533             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 0 })
    2534             :       AsmString = "bpos,pn %xcc, $\x01";
    2535             :       break;
    2536             :     }
    2537           3 :     if (MI->getNumOperands() == 2 &&
    2538           6 :         MI->getOperand(1).isImm() &&
    2539           3 :         MI->getOperand(1).getImm() == 6) {
    2540             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 0 })
    2541             :       AsmString = "bneg,pn %xcc, $\x01";
    2542             :       break;
    2543             :     }
    2544           2 :     if (MI->getNumOperands() == 2 &&
    2545           4 :         MI->getOperand(1).isImm() &&
    2546           2 :         MI->getOperand(1).getImm() == 15) {
    2547             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 1 })
    2548             :       AsmString = "bvc,pn %xcc, $\x01";
    2549             :       break;
    2550             :     }
    2551           1 :     if (MI->getNumOperands() == 2 &&
    2552           2 :         MI->getOperand(1).isImm() &&
    2553           1 :         MI->getOperand(1).getImm() == 7) {
    2554             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 1 })
    2555             :       AsmString = "bvs,pn %xcc, $\x01";
    2556             :       break;
    2557             :     }
    2558             :     return false;
    2559             :   case SP::FMOVD_ICC:
    2560           2 :     if (MI->getNumOperands() == 4 &&
    2561           4 :         MI->getOperand(0).isReg() &&
    2562           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2563           4 :         MI->getOperand(1).isReg() &&
    2564           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2565           4 :         MI->getOperand(3).isImm() &&
    2566           4 :         MI->getOperand(3).getImm() == 8 &&
    2567             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2568             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2569             :       AsmString = "fmovda %icc, $\x02, $\x01";
    2570             :       break;
    2571             :     }
    2572           2 :     if (MI->getNumOperands() == 4 &&
    2573           4 :         MI->getOperand(0).isReg() &&
    2574           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2575           4 :         MI->getOperand(1).isReg() &&
    2576           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2577           4 :         MI->getOperand(3).isImm() &&
    2578           4 :         MI->getOperand(3).getImm() == 0 &&
    2579             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2580             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2581             :       AsmString = "fmovdn %icc, $\x02, $\x01";
    2582             :       break;
    2583             :     }
    2584           2 :     if (MI->getNumOperands() == 4 &&
    2585           4 :         MI->getOperand(0).isReg() &&
    2586           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2587           4 :         MI->getOperand(1).isReg() &&
    2588           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2589           4 :         MI->getOperand(3).isImm() &&
    2590           4 :         MI->getOperand(3).getImm() == 9 &&
    2591             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2592             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2593             :       AsmString = "fmovdne %icc, $\x02, $\x01";
    2594             :       break;
    2595             :     }
    2596           2 :     if (MI->getNumOperands() == 4 &&
    2597           4 :         MI->getOperand(0).isReg() &&
    2598           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2599           4 :         MI->getOperand(1).isReg() &&
    2600           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2601           4 :         MI->getOperand(3).isImm() &&
    2602           6 :         MI->getOperand(3).getImm() == 1 &&
    2603             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2604             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2605             :       AsmString = "fmovde %icc, $\x02, $\x01";
    2606             :       break;
    2607             :     }
    2608           0 :     if (MI->getNumOperands() == 4 &&
    2609           0 :         MI->getOperand(0).isReg() &&
    2610           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2611           0 :         MI->getOperand(1).isReg() &&
    2612           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2613           0 :         MI->getOperand(3).isImm() &&
    2614           0 :         MI->getOperand(3).getImm() == 10 &&
    2615             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2616             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2617             :       AsmString = "fmovdg %icc, $\x02, $\x01";
    2618             :       break;
    2619             :     }
    2620           0 :     if (MI->getNumOperands() == 4 &&
    2621           0 :         MI->getOperand(0).isReg() &&
    2622           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2623           0 :         MI->getOperand(1).isReg() &&
    2624           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2625           0 :         MI->getOperand(3).isImm() &&
    2626           0 :         MI->getOperand(3).getImm() == 2 &&
    2627             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2628             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2629             :       AsmString = "fmovdle %icc, $\x02, $\x01";
    2630             :       break;
    2631             :     }
    2632           0 :     if (MI->getNumOperands() == 4 &&
    2633           0 :         MI->getOperand(0).isReg() &&
    2634           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2635           0 :         MI->getOperand(1).isReg() &&
    2636           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2637           0 :         MI->getOperand(3).isImm() &&
    2638           0 :         MI->getOperand(3).getImm() == 11 &&
    2639             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2640             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2641             :       AsmString = "fmovdge %icc, $\x02, $\x01";
    2642             :       break;
    2643             :     }
    2644           0 :     if (MI->getNumOperands() == 4 &&
    2645           0 :         MI->getOperand(0).isReg() &&
    2646           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2647           0 :         MI->getOperand(1).isReg() &&
    2648           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2649           0 :         MI->getOperand(3).isImm() &&
    2650           0 :         MI->getOperand(3).getImm() == 3 &&
    2651             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2652             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2653             :       AsmString = "fmovdl %icc, $\x02, $\x01";
    2654             :       break;
    2655             :     }
    2656           0 :     if (MI->getNumOperands() == 4 &&
    2657           0 :         MI->getOperand(0).isReg() &&
    2658           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2659           0 :         MI->getOperand(1).isReg() &&
    2660           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2661           0 :         MI->getOperand(3).isImm() &&
    2662           0 :         MI->getOperand(3).getImm() == 12 &&
    2663             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2664             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2665             :       AsmString = "fmovdgu %icc, $\x02, $\x01";
    2666             :       break;
    2667             :     }
    2668           0 :     if (MI->getNumOperands() == 4 &&
    2669           0 :         MI->getOperand(0).isReg() &&
    2670           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2671           0 :         MI->getOperand(1).isReg() &&
    2672           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2673           0 :         MI->getOperand(3).isImm() &&
    2674           0 :         MI->getOperand(3).getImm() == 4 &&
    2675             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2676             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2677             :       AsmString = "fmovdleu %icc, $\x02, $\x01";
    2678             :       break;
    2679             :     }
    2680           0 :     if (MI->getNumOperands() == 4 &&
    2681           0 :         MI->getOperand(0).isReg() &&
    2682           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2683           0 :         MI->getOperand(1).isReg() &&
    2684           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2685           0 :         MI->getOperand(3).isImm() &&
    2686           0 :         MI->getOperand(3).getImm() == 13 &&
    2687             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2688             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2689             :       AsmString = "fmovdcc %icc, $\x02, $\x01";
    2690             :       break;
    2691             :     }
    2692           0 :     if (MI->getNumOperands() == 4 &&
    2693           0 :         MI->getOperand(0).isReg() &&
    2694           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2695           0 :         MI->getOperand(1).isReg() &&
    2696           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2697           0 :         MI->getOperand(3).isImm() &&
    2698           0 :         MI->getOperand(3).getImm() == 5 &&
    2699             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2700             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2701             :       AsmString = "fmovdcs %icc, $\x02, $\x01";
    2702             :       break;
    2703             :     }
    2704           0 :     if (MI->getNumOperands() == 4 &&
    2705           0 :         MI->getOperand(0).isReg() &&
    2706           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2707           0 :         MI->getOperand(1).isReg() &&
    2708           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2709           0 :         MI->getOperand(3).isImm() &&
    2710           0 :         MI->getOperand(3).getImm() == 14 &&
    2711             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2712             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2713             :       AsmString = "fmovdpos %icc, $\x02, $\x01";
    2714             :       break;
    2715             :     }
    2716           0 :     if (MI->getNumOperands() == 4 &&
    2717           0 :         MI->getOperand(0).isReg() &&
    2718           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2719           0 :         MI->getOperand(1).isReg() &&
    2720           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2721           0 :         MI->getOperand(3).isImm() &&
    2722           0 :         MI->getOperand(3).getImm() == 6 &&
    2723             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2724             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2725             :       AsmString = "fmovdneg %icc, $\x02, $\x01";
    2726             :       break;
    2727             :     }
    2728           0 :     if (MI->getNumOperands() == 4 &&
    2729           0 :         MI->getOperand(0).isReg() &&
    2730           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2731           0 :         MI->getOperand(1).isReg() &&
    2732           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2733           0 :         MI->getOperand(3).isImm() &&
    2734           0 :         MI->getOperand(3).getImm() == 15 &&
    2735             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2736             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2737             :       AsmString = "fmovdvc %icc, $\x02, $\x01";
    2738             :       break;
    2739             :     }
    2740           0 :     if (MI->getNumOperands() == 4 &&
    2741           0 :         MI->getOperand(0).isReg() &&
    2742           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2743           0 :         MI->getOperand(1).isReg() &&
    2744           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2745           0 :         MI->getOperand(3).isImm() &&
    2746           0 :         MI->getOperand(3).getImm() == 7 &&
    2747             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2748             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2749             :       AsmString = "fmovdvs %icc, $\x02, $\x01";
    2750             :       break;
    2751             :     }
    2752             :     return false;
    2753             :   case SP::FMOVD_XCC:
    2754           1 :     if (MI->getNumOperands() == 4 &&
    2755           2 :         MI->getOperand(0).isReg() &&
    2756           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2757           2 :         MI->getOperand(1).isReg() &&
    2758           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2759           3 :         MI->getOperand(3).isImm() &&
    2760           1 :         MI->getOperand(3).getImm() == 8) {
    2761             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2762             :       AsmString = "fmovda %xcc, $\x02, $\x01";
    2763             :       break;
    2764             :     }
    2765           1 :     if (MI->getNumOperands() == 4 &&
    2766           2 :         MI->getOperand(0).isReg() &&
    2767           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2768           2 :         MI->getOperand(1).isReg() &&
    2769           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2770           3 :         MI->getOperand(3).isImm() &&
    2771           1 :         MI->getOperand(3).getImm() == 0) {
    2772             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2773             :       AsmString = "fmovdn %xcc, $\x02, $\x01";
    2774             :       break;
    2775             :     }
    2776           1 :     if (MI->getNumOperands() == 4 &&
    2777           2 :         MI->getOperand(0).isReg() &&
    2778           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2779           2 :         MI->getOperand(1).isReg() &&
    2780           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2781           3 :         MI->getOperand(3).isImm() &&
    2782           1 :         MI->getOperand(3).getImm() == 9) {
    2783             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2784             :       AsmString = "fmovdne %xcc, $\x02, $\x01";
    2785             :       break;
    2786             :     }
    2787           1 :     if (MI->getNumOperands() == 4 &&
    2788           2 :         MI->getOperand(0).isReg() &&
    2789           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2790           2 :         MI->getOperand(1).isReg() &&
    2791           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2792           3 :         MI->getOperand(3).isImm() &&
    2793           1 :         MI->getOperand(3).getImm() == 1) {
    2794             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2795             :       AsmString = "fmovde %xcc, $\x02, $\x01";
    2796             :       break;
    2797             :     }
    2798           1 :     if (MI->getNumOperands() == 4 &&
    2799           2 :         MI->getOperand(0).isReg() &&
    2800           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2801           2 :         MI->getOperand(1).isReg() &&
    2802           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2803           3 :         MI->getOperand(3).isImm() &&
    2804           1 :         MI->getOperand(3).getImm() == 10) {
    2805             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2806             :       AsmString = "fmovdg %xcc, $\x02, $\x01";
    2807             :       break;
    2808             :     }
    2809           0 :     if (MI->getNumOperands() == 4 &&
    2810           0 :         MI->getOperand(0).isReg() &&
    2811           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2812           0 :         MI->getOperand(1).isReg() &&
    2813           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2814           0 :         MI->getOperand(3).isImm() &&
    2815           0 :         MI->getOperand(3).getImm() == 2) {
    2816             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2817             :       AsmString = "fmovdle %xcc, $\x02, $\x01";
    2818             :       break;
    2819             :     }
    2820           0 :     if (MI->getNumOperands() == 4 &&
    2821           0 :         MI->getOperand(0).isReg() &&
    2822           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2823           0 :         MI->getOperand(1).isReg() &&
    2824           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2825           0 :         MI->getOperand(3).isImm() &&
    2826           0 :         MI->getOperand(3).getImm() == 11) {
    2827             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2828             :       AsmString = "fmovdge %xcc, $\x02, $\x01";
    2829             :       break;
    2830             :     }
    2831           0 :     if (MI->getNumOperands() == 4 &&
    2832           0 :         MI->getOperand(0).isReg() &&
    2833           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2834           0 :         MI->getOperand(1).isReg() &&
    2835           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2836           0 :         MI->getOperand(3).isImm() &&
    2837           0 :         MI->getOperand(3).getImm() == 3) {
    2838             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2839             :       AsmString = "fmovdl %xcc, $\x02, $\x01";
    2840             :       break;
    2841             :     }
    2842           0 :     if (MI->getNumOperands() == 4 &&
    2843           0 :         MI->getOperand(0).isReg() &&
    2844           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2845           0 :         MI->getOperand(1).isReg() &&
    2846           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2847           0 :         MI->getOperand(3).isImm() &&
    2848           0 :         MI->getOperand(3).getImm() == 12) {
    2849             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2850             :       AsmString = "fmovdgu %xcc, $\x02, $\x01";
    2851             :       break;
    2852             :     }
    2853           0 :     if (MI->getNumOperands() == 4 &&
    2854           0 :         MI->getOperand(0).isReg() &&
    2855           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2856           0 :         MI->getOperand(1).isReg() &&
    2857           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2858           0 :         MI->getOperand(3).isImm() &&
    2859           0 :         MI->getOperand(3).getImm() == 4) {
    2860             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2861             :       AsmString = "fmovdleu %xcc, $\x02, $\x01";
    2862             :       break;
    2863             :     }
    2864           0 :     if (MI->getNumOperands() == 4 &&
    2865           0 :         MI->getOperand(0).isReg() &&
    2866           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2867           0 :         MI->getOperand(1).isReg() &&
    2868           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2869           0 :         MI->getOperand(3).isImm() &&
    2870           0 :         MI->getOperand(3).getImm() == 13) {
    2871             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2872             :       AsmString = "fmovdcc %xcc, $\x02, $\x01";
    2873             :       break;
    2874             :     }
    2875           0 :     if (MI->getNumOperands() == 4 &&
    2876           0 :         MI->getOperand(0).isReg() &&
    2877           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2878           0 :         MI->getOperand(1).isReg() &&
    2879           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2880           0 :         MI->getOperand(3).isImm() &&
    2881           0 :         MI->getOperand(3).getImm() == 5) {
    2882             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2883             :       AsmString = "fmovdcs %xcc, $\x02, $\x01";
    2884             :       break;
    2885             :     }
    2886           0 :     if (MI->getNumOperands() == 4 &&
    2887           0 :         MI->getOperand(0).isReg() &&
    2888           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2889           0 :         MI->getOperand(1).isReg() &&
    2890           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2891           0 :         MI->getOperand(3).isImm() &&
    2892           0 :         MI->getOperand(3).getImm() == 14) {
    2893             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2894             :       AsmString = "fmovdpos %xcc, $\x02, $\x01";
    2895             :       break;
    2896             :     }
    2897           0 :     if (MI->getNumOperands() == 4 &&
    2898           0 :         MI->getOperand(0).isReg() &&
    2899           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2900           0 :         MI->getOperand(1).isReg() &&
    2901           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2902           0 :         MI->getOperand(3).isImm() &&
    2903           0 :         MI->getOperand(3).getImm() == 6) {
    2904             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2905             :       AsmString = "fmovdneg %xcc, $\x02, $\x01";
    2906             :       break;
    2907             :     }
    2908           0 :     if (MI->getNumOperands() == 4 &&
    2909           0 :         MI->getOperand(0).isReg() &&
    2910           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2911           0 :         MI->getOperand(1).isReg() &&
    2912           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2913           0 :         MI->getOperand(3).isImm() &&
    2914           0 :         MI->getOperand(3).getImm() == 15) {
    2915             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2916             :       AsmString = "fmovdvc %xcc, $\x02, $\x01";
    2917             :       break;
    2918             :     }
    2919           0 :     if (MI->getNumOperands() == 4 &&
    2920           0 :         MI->getOperand(0).isReg() &&
    2921           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2922           0 :         MI->getOperand(1).isReg() &&
    2923           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2924           0 :         MI->getOperand(3).isImm() &&
    2925           0 :         MI->getOperand(3).getImm() == 7) {
    2926             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2927             :       AsmString = "fmovdvs %xcc, $\x02, $\x01";
    2928             :       break;
    2929             :     }
    2930             :     return false;
    2931             :   case SP::FMOVQ_ICC:
    2932           0 :     if (MI->getNumOperands() == 4 &&
    2933           0 :         MI->getOperand(0).isReg() &&
    2934           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2935           0 :         MI->getOperand(1).isReg() &&
    2936           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2937           0 :         MI->getOperand(3).isImm() &&
    2938           0 :         MI->getOperand(3).getImm() == 8 &&
    2939             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2940             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    2941             :       AsmString = "fmovqa %icc, $\x02, $\x01";
    2942             :       break;
    2943             :     }
    2944           0 :     if (MI->getNumOperands() == 4 &&
    2945           0 :         MI->getOperand(0).isReg() &&
    2946           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2947           0 :         MI->getOperand(1).isReg() &&
    2948           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2949           0 :         MI->getOperand(3).isImm() &&
    2950           0 :         MI->getOperand(3).getImm() == 0 &&
    2951             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2952             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    2953             :       AsmString = "fmovqn %icc, $\x02, $\x01";
    2954             :       break;
    2955             :     }
    2956           0 :     if (MI->getNumOperands() == 4 &&
    2957           0 :         MI->getOperand(0).isReg() &&
    2958           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2959           0 :         MI->getOperand(1).isReg() &&
    2960           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2961           0 :         MI->getOperand(3).isImm() &&
    2962           0 :         MI->getOperand(3).getImm() == 9 &&
    2963             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2964             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    2965             :       AsmString = "fmovqne %icc, $\x02, $\x01";
    2966             :       break;
    2967             :     }
    2968           0 :     if (MI->getNumOperands() == 4 &&
    2969           0 :         MI->getOperand(0).isReg() &&
    2970           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2971           0 :         MI->getOperand(1).isReg() &&
    2972           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2973           0 :         MI->getOperand(3).isImm() &&
    2974           0 :         MI->getOperand(3).getImm() == 1 &&
    2975             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2976             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    2977             :       AsmString = "fmovqe %icc, $\x02, $\x01";
    2978             :       break;
    2979             :     }
    2980           0 :     if (MI->getNumOperands() == 4 &&
    2981           0 :         MI->getOperand(0).isReg() &&
    2982           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2983           0 :         MI->getOperand(1).isReg() &&
    2984           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2985           0 :         MI->getOperand(3).isImm() &&
    2986           0 :         MI->getOperand(3).getImm() == 10 &&
    2987             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2988             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    2989             :       AsmString = "fmovqg %icc, $\x02, $\x01";
    2990             :       break;
    2991             :     }
    2992           0 :     if (MI->getNumOperands() == 4 &&
    2993           0 :         MI->getOperand(0).isReg() &&
    2994           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2995           0 :         MI->getOperand(1).isReg() &&
    2996           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2997           0 :         MI->getOperand(3).isImm() &&
    2998           0 :         MI->getOperand(3).getImm() == 2 &&
    2999             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3000             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3001             :       AsmString = "fmovqle %icc, $\x02, $\x01";
    3002             :       break;
    3003             :     }
    3004           0 :     if (MI->getNumOperands() == 4 &&
    3005           0 :         MI->getOperand(0).isReg() &&
    3006           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3007           0 :         MI->getOperand(1).isReg() &&
    3008           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3009           0 :         MI->getOperand(3).isImm() &&
    3010           0 :         MI->getOperand(3).getImm() == 11 &&
    3011             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3012             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3013             :       AsmString = "fmovqge %icc, $\x02, $\x01";
    3014             :       break;
    3015             :     }
    3016           0 :     if (MI->getNumOperands() == 4 &&
    3017           0 :         MI->getOperand(0).isReg() &&
    3018           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3019           0 :         MI->getOperand(1).isReg() &&
    3020           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3021           0 :         MI->getOperand(3).isImm() &&
    3022           0 :         MI->getOperand(3).getImm() == 3 &&
    3023             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3024             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3025             :       AsmString = "fmovql %icc, $\x02, $\x01";
    3026             :       break;
    3027             :     }
    3028           0 :     if (MI->getNumOperands() == 4 &&
    3029           0 :         MI->getOperand(0).isReg() &&
    3030           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3031           0 :         MI->getOperand(1).isReg() &&
    3032           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3033           0 :         MI->getOperand(3).isImm() &&
    3034           0 :         MI->getOperand(3).getImm() == 12 &&
    3035             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3036             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3037             :       AsmString = "fmovqgu %icc, $\x02, $\x01";
    3038             :       break;
    3039             :     }
    3040           0 :     if (MI->getNumOperands() == 4 &&
    3041           0 :         MI->getOperand(0).isReg() &&
    3042           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3043           0 :         MI->getOperand(1).isReg() &&
    3044           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3045           0 :         MI->getOperand(3).isImm() &&
    3046           0 :         MI->getOperand(3).getImm() == 4 &&
    3047             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3048             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3049             :       AsmString = "fmovqleu %icc, $\x02, $\x01";
    3050             :       break;
    3051             :     }
    3052           0 :     if (MI->getNumOperands() == 4 &&
    3053           0 :         MI->getOperand(0).isReg() &&
    3054           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3055           0 :         MI->getOperand(1).isReg() &&
    3056           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3057           0 :         MI->getOperand(3).isImm() &&
    3058           0 :         MI->getOperand(3).getImm() == 13 &&
    3059             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3060             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3061             :       AsmString = "fmovqcc %icc, $\x02, $\x01";
    3062             :       break;
    3063             :     }
    3064           0 :     if (MI->getNumOperands() == 4 &&
    3065           0 :         MI->getOperand(0).isReg() &&
    3066           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3067           0 :         MI->getOperand(1).isReg() &&
    3068           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3069           0 :         MI->getOperand(3).isImm() &&
    3070           0 :         MI->getOperand(3).getImm() == 5 &&
    3071             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3072             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3073             :       AsmString = "fmovqcs %icc, $\x02, $\x01";
    3074             :       break;
    3075             :     }
    3076           0 :     if (MI->getNumOperands() == 4 &&
    3077           0 :         MI->getOperand(0).isReg() &&
    3078           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3079           0 :         MI->getOperand(1).isReg() &&
    3080           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3081           0 :         MI->getOperand(3).isImm() &&
    3082           0 :         MI->getOperand(3).getImm() == 14 &&
    3083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3084             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3085             :       AsmString = "fmovqpos %icc, $\x02, $\x01";
    3086             :       break;
    3087             :     }
    3088           0 :     if (MI->getNumOperands() == 4 &&
    3089           0 :         MI->getOperand(0).isReg() &&
    3090           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3091           0 :         MI->getOperand(1).isReg() &&
    3092           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3093           0 :         MI->getOperand(3).isImm() &&
    3094           0 :         MI->getOperand(3).getImm() == 6 &&
    3095             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3096             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3097             :       AsmString = "fmovqneg %icc, $\x02, $\x01";
    3098             :       break;
    3099             :     }
    3100           0 :     if (MI->getNumOperands() == 4 &&
    3101           0 :         MI->getOperand(0).isReg() &&
    3102           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3103           0 :         MI->getOperand(1).isReg() &&
    3104           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3105           0 :         MI->getOperand(3).isImm() &&
    3106           0 :         MI->getOperand(3).getImm() == 15 &&
    3107             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3108             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3109             :       AsmString = "fmovqvc %icc, $\x02, $\x01";
    3110             :       break;
    3111             :     }
    3112           0 :     if (MI->getNumOperands() == 4 &&
    3113           0 :         MI->getOperand(0).isReg() &&
    3114           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3115           0 :         MI->getOperand(1).isReg() &&
    3116           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3117           0 :         MI->getOperand(3).isImm() &&
    3118           0 :         MI->getOperand(3).getImm() == 7 &&
    3119             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3120             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3121             :       AsmString = "fmovqvs %icc, $\x02, $\x01";
    3122             :       break;
    3123             :     }
    3124             :     return false;
    3125             :   case SP::FMOVQ_XCC:
    3126           0 :     if (MI->getNumOperands() == 4 &&
    3127           0 :         MI->getOperand(0).isReg() &&
    3128           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3129           0 :         MI->getOperand(1).isReg() &&
    3130           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3131           0 :         MI->getOperand(3).isImm() &&
    3132           0 :         MI->getOperand(3).getImm() == 8) {
    3133             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    3134             :       AsmString = "fmovqa %xcc, $\x02, $\x01";
    3135             :       break;
    3136             :     }
    3137           0 :     if (MI->getNumOperands() == 4 &&
    3138           0 :         MI->getOperand(0).isReg() &&
    3139           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3140           0 :         MI->getOperand(1).isReg() &&
    3141           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3142           0 :         MI->getOperand(3).isImm() &&
    3143           0 :         MI->getOperand(3).getImm() == 0) {
    3144             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    3145             :       AsmString = "fmovqn %xcc, $\x02, $\x01";
    3146             :       break;
    3147             :     }
    3148           0 :     if (MI->getNumOperands() == 4 &&
    3149           0 :         MI->getOperand(0).isReg() &&
    3150           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3151           0 :         MI->getOperand(1).isReg() &&
    3152           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3153           0 :         MI->getOperand(3).isImm() &&
    3154           0 :         MI->getOperand(3).getImm() == 9) {
    3155             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    3156             :       AsmString = "fmovqne %xcc, $\x02, $\x01";
    3157             :       break;
    3158             :     }
    3159           0 :     if (MI->getNumOperands() == 4 &&
    3160           0 :         MI->getOperand(0).isReg() &&
    3161           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3162           0 :         MI->getOperand(1).isReg() &&
    3163           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3164           0 :         MI->getOperand(3).isImm() &&
    3165           0 :         MI->getOperand(3).getImm() == 1) {
    3166             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    3167             :       AsmString = "fmovqe %xcc, $\x02, $\x01";
    3168             :       break;
    3169             :     }
    3170           0 :     if (MI->getNumOperands() == 4 &&
    3171           0 :         MI->getOperand(0).isReg() &&
    3172           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3173           0 :         MI->getOperand(1).isReg() &&
    3174           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3175           0 :         MI->getOperand(3).isImm() &&
    3176           0 :         MI->getOperand(3).getImm() == 10) {
    3177             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    3178             :       AsmString = "fmovqg %xcc, $\x02, $\x01";
    3179             :       break;
    3180             :     }
    3181           0 :     if (MI->getNumOperands() == 4 &&
    3182           0 :         MI->getOperand(0).isReg() &&
    3183           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3184           0 :         MI->getOperand(1).isReg() &&
    3185           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3186           0 :         MI->getOperand(3).isImm() &&
    3187           0 :         MI->getOperand(3).getImm() == 2) {
    3188             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3189             :       AsmString = "fmovqle %xcc, $\x02, $\x01";
    3190             :       break;
    3191             :     }
    3192           0 :     if (MI->getNumOperands() == 4 &&
    3193           0 :         MI->getOperand(0).isReg() &&
    3194           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3195           0 :         MI->getOperand(1).isReg() &&
    3196           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3197           0 :         MI->getOperand(3).isImm() &&
    3198           0 :         MI->getOperand(3).getImm() == 11) {
    3199             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3200             :       AsmString = "fmovqge %xcc, $\x02, $\x01";
    3201             :       break;
    3202             :     }
    3203           0 :     if (MI->getNumOperands() == 4 &&
    3204           0 :         MI->getOperand(0).isReg() &&
    3205           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3206           0 :         MI->getOperand(1).isReg() &&
    3207           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3208           0 :         MI->getOperand(3).isImm() &&
    3209           0 :         MI->getOperand(3).getImm() == 3) {
    3210             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3211             :       AsmString = "fmovql %xcc, $\x02, $\x01";
    3212             :       break;
    3213             :     }
    3214           0 :     if (MI->getNumOperands() == 4 &&
    3215           0 :         MI->getOperand(0).isReg() &&
    3216           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3217           0 :         MI->getOperand(1).isReg() &&
    3218           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3219           0 :         MI->getOperand(3).isImm() &&
    3220           0 :         MI->getOperand(3).getImm() == 12) {
    3221             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3222             :       AsmString = "fmovqgu %xcc, $\x02, $\x01";
    3223             :       break;
    3224             :     }
    3225           0 :     if (MI->getNumOperands() == 4 &&
    3226           0 :         MI->getOperand(0).isReg() &&
    3227           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3228           0 :         MI->getOperand(1).isReg() &&
    3229           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3230           0 :         MI->getOperand(3).isImm() &&
    3231           0 :         MI->getOperand(3).getImm() == 4) {
    3232             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3233             :       AsmString = "fmovqleu %xcc, $\x02, $\x01";
    3234             :       break;
    3235             :     }
    3236           0 :     if (MI->getNumOperands() == 4 &&
    3237           0 :         MI->getOperand(0).isReg() &&
    3238           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3239           0 :         MI->getOperand(1).isReg() &&
    3240           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3241           0 :         MI->getOperand(3).isImm() &&
    3242           0 :         MI->getOperand(3).getImm() == 13) {
    3243             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3244             :       AsmString = "fmovqcc %xcc, $\x02, $\x01";
    3245             :       break;
    3246             :     }
    3247           0 :     if (MI->getNumOperands() == 4 &&
    3248           0 :         MI->getOperand(0).isReg() &&
    3249           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3250           0 :         MI->getOperand(1).isReg() &&
    3251           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3252           0 :         MI->getOperand(3).isImm() &&
    3253           0 :         MI->getOperand(3).getImm() == 5) {
    3254             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3255             :       AsmString = "fmovqcs %xcc, $\x02, $\x01";
    3256             :       break;
    3257             :     }
    3258           0 :     if (MI->getNumOperands() == 4 &&
    3259           0 :         MI->getOperand(0).isReg() &&
    3260           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3261           0 :         MI->getOperand(1).isReg() &&
    3262           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3263           0 :         MI->getOperand(3).isImm() &&
    3264           0 :         MI->getOperand(3).getImm() == 14) {
    3265             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3266             :       AsmString = "fmovqpos %xcc, $\x02, $\x01";
    3267             :       break;
    3268             :     }
    3269           0 :     if (MI->getNumOperands() == 4 &&
    3270           0 :         MI->getOperand(0).isReg() &&
    3271           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3272           0 :         MI->getOperand(1).isReg() &&
    3273           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3274           0 :         MI->getOperand(3).isImm() &&
    3275           0 :         MI->getOperand(3).getImm() == 6) {
    3276             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3277             :       AsmString = "fmovqneg %xcc, $\x02, $\x01";
    3278             :       break;
    3279             :     }
    3280           0 :     if (MI->getNumOperands() == 4 &&
    3281           0 :         MI->getOperand(0).isReg() &&
    3282           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3283           0 :         MI->getOperand(1).isReg() &&
    3284           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3285           0 :         MI->getOperand(3).isImm() &&
    3286           0 :         MI->getOperand(3).getImm() == 15) {
    3287             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3288             :       AsmString = "fmovqvc %xcc, $\x02, $\x01";
    3289             :       break;
    3290             :     }
    3291           0 :     if (MI->getNumOperands() == 4 &&
    3292           0 :         MI->getOperand(0).isReg() &&
    3293           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3294           0 :         MI->getOperand(1).isReg() &&
    3295           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3296           0 :         MI->getOperand(3).isImm() &&
    3297           0 :         MI->getOperand(3).getImm() == 7) {
    3298             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3299             :       AsmString = "fmovqvs %xcc, $\x02, $\x01";
    3300             :       break;
    3301             :     }
    3302             :     return false;
    3303             :   case SP::FMOVS_ICC:
    3304          16 :     if (MI->getNumOperands() == 4 &&
    3305          32 :         MI->getOperand(0).isReg() &&
    3306          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3307          32 :         MI->getOperand(1).isReg() &&
    3308          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3309          32 :         MI->getOperand(3).isImm() &&
    3310          32 :         MI->getOperand(3).getImm() == 8 &&
    3311             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3312             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3313             :       AsmString = "fmovsa %icc, $\x02, $\x01";
    3314             :       break;
    3315             :     }
    3316          16 :     if (MI->getNumOperands() == 4 &&
    3317          32 :         MI->getOperand(0).isReg() &&
    3318          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3319          32 :         MI->getOperand(1).isReg() &&
    3320          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3321          32 :         MI->getOperand(3).isImm() &&
    3322          32 :         MI->getOperand(3).getImm() == 0 &&
    3323             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3324             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3325             :       AsmString = "fmovsn %icc, $\x02, $\x01";
    3326             :       break;
    3327             :     }
    3328          16 :     if (MI->getNumOperands() == 4 &&
    3329          32 :         MI->getOperand(0).isReg() &&
    3330          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3331          32 :         MI->getOperand(1).isReg() &&
    3332          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3333          32 :         MI->getOperand(3).isImm() &&
    3334          33 :         MI->getOperand(3).getImm() == 9 &&
    3335             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3336             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3337             :       AsmString = "fmovsne %icc, $\x02, $\x01";
    3338             :       break;
    3339             :     }
    3340          15 :     if (MI->getNumOperands() == 4 &&
    3341          30 :         MI->getOperand(0).isReg() &&
    3342          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3343          30 :         MI->getOperand(1).isReg() &&
    3344          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3345          30 :         MI->getOperand(3).isImm() &&
    3346          33 :         MI->getOperand(3).getImm() == 1 &&
    3347             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3348             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3349             :       AsmString = "fmovse %icc, $\x02, $\x01";
    3350             :       break;
    3351             :     }
    3352          12 :     if (MI->getNumOperands() == 4 &&
    3353          24 :         MI->getOperand(0).isReg() &&
    3354          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3355          24 :         MI->getOperand(1).isReg() &&
    3356          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3357          24 :         MI->getOperand(3).isImm() &&
    3358          25 :         MI->getOperand(3).getImm() == 10 &&
    3359             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3360             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3361             :       AsmString = "fmovsg %icc, $\x02, $\x01";
    3362             :       break;
    3363             :     }
    3364          11 :     if (MI->getNumOperands() == 4 &&
    3365          22 :         MI->getOperand(0).isReg() &&
    3366          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3367          22 :         MI->getOperand(1).isReg() &&
    3368          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3369          22 :         MI->getOperand(3).isImm() &&
    3370          23 :         MI->getOperand(3).getImm() == 2 &&
    3371             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3372             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3373             :       AsmString = "fmovsle %icc, $\x02, $\x01";
    3374             :       break;
    3375             :     }
    3376          10 :     if (MI->getNumOperands() == 4 &&
    3377          20 :         MI->getOperand(0).isReg() &&
    3378          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3379          20 :         MI->getOperand(1).isReg() &&
    3380          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3381          20 :         MI->getOperand(3).isImm() &&
    3382          21 :         MI->getOperand(3).getImm() == 11 &&
    3383             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3384             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3385             :       AsmString = "fmovsge %icc, $\x02, $\x01";
    3386             :       break;
    3387             :     }
    3388           9 :     if (MI->getNumOperands() == 4 &&
    3389          18 :         MI->getOperand(0).isReg() &&
    3390          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3391          18 :         MI->getOperand(1).isReg() &&
    3392          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3393          18 :         MI->getOperand(3).isImm() &&
    3394          19 :         MI->getOperand(3).getImm() == 3 &&
    3395             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3396             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3397             :       AsmString = "fmovsl %icc, $\x02, $\x01";
    3398             :       break;
    3399             :     }
    3400           8 :     if (MI->getNumOperands() == 4 &&
    3401          16 :         MI->getOperand(0).isReg() &&
    3402          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3403          16 :         MI->getOperand(1).isReg() &&
    3404          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3405          16 :         MI->getOperand(3).isImm() &&
    3406          17 :         MI->getOperand(3).getImm() == 12 &&
    3407             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3408             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3409             :       AsmString = "fmovsgu %icc, $\x02, $\x01";
    3410             :       break;
    3411             :     }
    3412           7 :     if (MI->getNumOperands() == 4 &&
    3413          14 :         MI->getOperand(0).isReg() &&
    3414          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3415          14 :         MI->getOperand(1).isReg() &&
    3416          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3417          14 :         MI->getOperand(3).isImm() &&
    3418          15 :         MI->getOperand(3).getImm() == 4 &&
    3419             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3420             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3421             :       AsmString = "fmovsleu %icc, $\x02, $\x01";
    3422             :       break;
    3423             :     }
    3424           6 :     if (MI->getNumOperands() == 4 &&
    3425          12 :         MI->getOperand(0).isReg() &&
    3426          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3427          12 :         MI->getOperand(1).isReg() &&
    3428          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3429          12 :         MI->getOperand(3).isImm() &&
    3430          13 :         MI->getOperand(3).getImm() == 13 &&
    3431             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3432             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3433             :       AsmString = "fmovscc %icc, $\x02, $\x01";
    3434             :       break;
    3435             :     }
    3436           5 :     if (MI->getNumOperands() == 4 &&
    3437          10 :         MI->getOperand(0).isReg() &&
    3438          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3439          10 :         MI->getOperand(1).isReg() &&
    3440          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3441          10 :         MI->getOperand(3).isImm() &&
    3442          11 :         MI->getOperand(3).getImm() == 5 &&
    3443             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3444             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3445             :       AsmString = "fmovscs %icc, $\x02, $\x01";
    3446             :       break;
    3447             :     }
    3448           4 :     if (MI->getNumOperands() == 4 &&
    3449           8 :         MI->getOperand(0).isReg() &&
    3450           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3451           8 :         MI->getOperand(1).isReg() &&
    3452           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3453           8 :         MI->getOperand(3).isImm() &&
    3454           9 :         MI->getOperand(3).getImm() == 14 &&
    3455             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3456             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3457             :       AsmString = "fmovspos %icc, $\x02, $\x01";
    3458             :       break;
    3459             :     }
    3460           3 :     if (MI->getNumOperands() == 4 &&
    3461           6 :         MI->getOperand(0).isReg() &&
    3462           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3463           6 :         MI->getOperand(1).isReg() &&
    3464           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3465           6 :         MI->getOperand(3).isImm() &&
    3466           7 :         MI->getOperand(3).getImm() == 6 &&
    3467             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3468             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3469             :       AsmString = "fmovsneg %icc, $\x02, $\x01";
    3470             :       break;
    3471             :     }
    3472           2 :     if (MI->getNumOperands() == 4 &&
    3473           4 :         MI->getOperand(0).isReg() &&
    3474           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3475           4 :         MI->getOperand(1).isReg() &&
    3476           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3477           4 :         MI->getOperand(3).isImm() &&
    3478           5 :         MI->getOperand(3).getImm() == 15 &&
    3479             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3480             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3481             :       AsmString = "fmovsvc %icc, $\x02, $\x01";
    3482             :       break;
    3483             :     }
    3484           1 :     if (MI->getNumOperands() == 4 &&
    3485           2 :         MI->getOperand(0).isReg() &&
    3486           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3487           2 :         MI->getOperand(1).isReg() &&
    3488           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3489           2 :         MI->getOperand(3).isImm() &&
    3490           3 :         MI->getOperand(3).getImm() == 7 &&
    3491             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3492             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3493             :       AsmString = "fmovsvs %icc, $\x02, $\x01";
    3494             :       break;
    3495             :     }
    3496             :     return false;
    3497             :   case SP::FMOVS_XCC:
    3498          16 :     if (MI->getNumOperands() == 4 &&
    3499          32 :         MI->getOperand(0).isReg() &&
    3500          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3501          32 :         MI->getOperand(1).isReg() &&
    3502          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3503          48 :         MI->getOperand(3).isImm() &&
    3504          16 :         MI->getOperand(3).getImm() == 8) {
    3505             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3506             :       AsmString = "fmovsa %xcc, $\x02, $\x01";
    3507             :       break;
    3508             :     }
    3509          16 :     if (MI->getNumOperands() == 4 &&
    3510          32 :         MI->getOperand(0).isReg() &&
    3511          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3512          32 :         MI->getOperand(1).isReg() &&
    3513          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3514          48 :         MI->getOperand(3).isImm() &&
    3515          16 :         MI->getOperand(3).getImm() == 0) {
    3516             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3517             :       AsmString = "fmovsn %xcc, $\x02, $\x01";
    3518             :       break;
    3519             :     }
    3520          16 :     if (MI->getNumOperands() == 4 &&
    3521          32 :         MI->getOperand(0).isReg() &&
    3522          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3523          32 :         MI->getOperand(1).isReg() &&
    3524          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3525          48 :         MI->getOperand(3).isImm() &&
    3526          16 :         MI->getOperand(3).getImm() == 9) {
    3527             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3528             :       AsmString = "fmovsne %xcc, $\x02, $\x01";
    3529             :       break;
    3530             :     }
    3531          15 :     if (MI->getNumOperands() == 4 &&
    3532          30 :         MI->getOperand(0).isReg() &&
    3533          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3534          30 :         MI->getOperand(1).isReg() &&
    3535          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3536          45 :         MI->getOperand(3).isImm() &&
    3537          15 :         MI->getOperand(3).getImm() == 1) {
    3538             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3539             :       AsmString = "fmovse %xcc, $\x02, $\x01";
    3540             :       break;
    3541             :     }
    3542          14 :     if (MI->getNumOperands() == 4 &&
    3543          28 :         MI->getOperand(0).isReg() &&
    3544          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3545          28 :         MI->getOperand(1).isReg() &&
    3546          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3547          42 :         MI->getOperand(3).isImm() &&
    3548          14 :         MI->getOperand(3).getImm() == 10) {
    3549             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3550             :       AsmString = "fmovsg %xcc, $\x02, $\x01";
    3551             :       break;
    3552             :     }
    3553          12 :     if (MI->getNumOperands() == 4 &&
    3554          24 :         MI->getOperand(0).isReg() &&
    3555          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3556          24 :         MI->getOperand(1).isReg() &&
    3557          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3558          36 :         MI->getOperand(3).isImm() &&
    3559          12 :         MI->getOperand(3).getImm() == 2) {
    3560             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3561             :       AsmString = "fmovsle %xcc, $\x02, $\x01";
    3562             :       break;
    3563             :     }
    3564          11 :     if (MI->getNumOperands() == 4 &&
    3565          22 :         MI->getOperand(0).isReg() &&
    3566          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3567          22 :         MI->getOperand(1).isReg() &&
    3568          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3569          33 :         MI->getOperand(3).isImm() &&
    3570          11 :         MI->getOperand(3).getImm() == 11) {
    3571             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3572             :       AsmString = "fmovsge %xcc, $\x02, $\x01";
    3573             :       break;
    3574             :     }
    3575          10 :     if (MI->getNumOperands() == 4 &&
    3576          20 :         MI->getOperand(0).isReg() &&
    3577          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3578          20 :         MI->getOperand(1).isReg() &&
    3579          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3580          30 :         MI->getOperand(3).isImm() &&
    3581          10 :         MI->getOperand(3).getImm() == 3) {
    3582             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3583             :       AsmString = "fmovsl %xcc, $\x02, $\x01";
    3584             :       break;
    3585             :     }
    3586           8 :     if (MI->getNumOperands() == 4 &&
    3587          16 :         MI->getOperand(0).isReg() &&
    3588          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3589          16 :         MI->getOperand(1).isReg() &&
    3590          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3591          24 :         MI->getOperand(3).isImm() &&
    3592           8 :         MI->getOperand(3).getImm() == 12) {
    3593             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3594             :       AsmString = "fmovsgu %xcc, $\x02, $\x01";
    3595             :       break;
    3596             :     }
    3597           7 :     if (MI->getNumOperands() == 4 &&
    3598          14 :         MI->getOperand(0).isReg() &&
    3599          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3600          14 :         MI->getOperand(1).isReg() &&
    3601          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3602          21 :         MI->getOperand(3).isImm() &&
    3603           7 :         MI->getOperand(3).getImm() == 4) {
    3604             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3605             :       AsmString = "fmovsleu %xcc, $\x02, $\x01";
    3606             :       break;
    3607             :     }
    3608           6 :     if (MI->getNumOperands() == 4 &&
    3609          12 :         MI->getOperand(0).isReg() &&
    3610          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3611          12 :         MI->getOperand(1).isReg() &&
    3612          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3613          18 :         MI->getOperand(3).isImm() &&
    3614           6 :         MI->getOperand(3).getImm() == 13) {
    3615             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3616             :       AsmString = "fmovscc %xcc, $\x02, $\x01";
    3617             :       break;
    3618             :     }
    3619           5 :     if (MI->getNumOperands() == 4 &&
    3620          10 :         MI->getOperand(0).isReg() &&
    3621          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3622          10 :         MI->getOperand(1).isReg() &&
    3623          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3624          15 :         MI->getOperand(3).isImm() &&
    3625           5 :         MI->getOperand(3).getImm() == 5) {
    3626             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3627             :       AsmString = "fmovscs %xcc, $\x02, $\x01";
    3628             :       break;
    3629             :     }
    3630           4 :     if (MI->getNumOperands() == 4 &&
    3631           8 :         MI->getOperand(0).isReg() &&
    3632           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3633           8 :         MI->getOperand(1).isReg() &&
    3634           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3635          12 :         MI->getOperand(3).isImm() &&
    3636           4 :         MI->getOperand(3).getImm() == 14) {
    3637             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3638             :       AsmString = "fmovspos %xcc, $\x02, $\x01";
    3639             :       break;
    3640             :     }
    3641           3 :     if (MI->getNumOperands() == 4 &&
    3642           6 :         MI->getOperand(0).isReg() &&
    3643           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3644           6 :         MI->getOperand(1).isReg() &&
    3645           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3646           9 :         MI->getOperand(3).isImm() &&
    3647           3 :         MI->getOperand(3).getImm() == 6) {
    3648             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3649             :       AsmString = "fmovsneg %xcc, $\x02, $\x01";
    3650             :       break;
    3651             :     }
    3652           2 :     if (MI->getNumOperands() == 4 &&
    3653           4 :         MI->getOperand(0).isReg() &&
    3654           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3655           4 :         MI->getOperand(1).isReg() &&
    3656           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3657           6 :         MI->getOperand(3).isImm() &&
    3658           2 :         MI->getOperand(3).getImm() == 15) {
    3659             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3660             :       AsmString = "fmovsvc %xcc, $\x02, $\x01";
    3661             :       break;
    3662             :     }
    3663           1 :     if (MI->getNumOperands() == 4 &&
    3664           2 :         MI->getOperand(0).isReg() &&
    3665           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3666           2 :         MI->getOperand(1).isReg() &&
    3667           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3668           3 :         MI->getOperand(3).isImm() &&
    3669           1 :         MI->getOperand(3).getImm() == 7) {
    3670             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3671             :       AsmString = "fmovsvs %xcc, $\x02, $\x01";
    3672             :       break;
    3673             :     }
    3674             :     return false;
    3675             :   case SP::MOVICCri:
    3676          13 :     if (MI->getNumOperands() == 4 &&
    3677          26 :         MI->getOperand(0).isReg() &&
    3678          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3679          26 :         MI->getOperand(3).isImm() &&
    3680          26 :         MI->getOperand(3).getImm() == 8 &&
    3681             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3682             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    3683             :       AsmString = "mova %icc, $\x02, $\x01";
    3684             :       break;
    3685             :     }
    3686          13 :     if (MI->getNumOperands() == 4 &&
    3687          26 :         MI->getOperand(0).isReg() &&
    3688          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3689          26 :         MI->getOperand(3).isImm() &&
    3690          26 :         MI->getOperand(3).getImm() == 0 &&
    3691             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3692             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    3693             :       AsmString = "movn %icc, $\x02, $\x01";
    3694             :       break;
    3695             :     }
    3696          13 :     if (MI->getNumOperands() == 4 &&
    3697          26 :         MI->getOperand(0).isReg() &&
    3698          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3699          26 :         MI->getOperand(3).isImm() &&
    3700          26 :         MI->getOperand(3).getImm() == 9 &&
    3701             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3702             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    3703             :       AsmString = "movne %icc, $\x02, $\x01";
    3704             :       break;
    3705             :     }
    3706          13 :     if (MI->getNumOperands() == 4 &&
    3707          26 :         MI->getOperand(0).isReg() &&
    3708          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3709          26 :         MI->getOperand(3).isImm() &&
    3710          37 :         MI->getOperand(3).getImm() == 1 &&
    3711             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3712             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    3713             :       AsmString = "move %icc, $\x02, $\x01";
    3714             :       break;
    3715             :     }
    3716           2 :     if (MI->getNumOperands() == 4 &&
    3717           4 :         MI->getOperand(0).isReg() &&
    3718           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3719           4 :         MI->getOperand(3).isImm() &&
    3720           4 :         MI->getOperand(3).getImm() == 10 &&
    3721             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3722             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    3723             :       AsmString = "movg %icc, $\x02, $\x01";
    3724             :       break;
    3725             :     }
    3726           2 :     if (MI->getNumOperands() == 4 &&
    3727           4 :         MI->getOperand(0).isReg() &&
    3728           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3729           4 :         MI->getOperand(3).isImm() &&
    3730           4 :         MI->getOperand(3).getImm() == 2 &&
    3731             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3732             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    3733             :       AsmString = "movle %icc, $\x02, $\x01";
    3734             :       break;
    3735             :     }
    3736           2 :     if (MI->getNumOperands() == 4 &&
    3737           4 :         MI->getOperand(0).isReg() &&
    3738           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3739           4 :         MI->getOperand(3).isImm() &&
    3740           4 :         MI->getOperand(3).getImm() == 11 &&
    3741             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3742             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    3743             :       AsmString = "movge %icc, $\x02, $\x01";
    3744             :       break;
    3745             :     }
    3746           2 :     if (MI->getNumOperands() == 4 &&
    3747           4 :         MI->getOperand(0).isReg() &&
    3748           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3749           4 :         MI->getOperand(3).isImm() &&
    3750           4 :         MI->getOperand(3).getImm() == 3 &&
    3751             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3752             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    3753             :       AsmString = "movl %icc, $\x02, $\x01";
    3754             :       break;
    3755             :     }
    3756           2 :     if (MI->getNumOperands() == 4 &&
    3757           4 :         MI->getOperand(0).isReg() &&
    3758           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3759           4 :         MI->getOperand(3).isImm() &&
    3760           6 :         MI->getOperand(3).getImm() == 12 &&
    3761             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3762             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    3763             :       AsmString = "movgu %icc, $\x02, $\x01";
    3764             :       break;
    3765             :     }
    3766           0 :     if (MI->getNumOperands() == 4 &&
    3767           0 :         MI->getOperand(0).isReg() &&
    3768           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3769           0 :         MI->getOperand(3).isImm() &&
    3770           0 :         MI->getOperand(3).getImm() == 4 &&
    3771             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3772             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    3773             :       AsmString = "movleu %icc, $\x02, $\x01";
    3774             :       break;
    3775             :     }
    3776           0 :     if (MI->getNumOperands() == 4 &&
    3777           0 :         MI->getOperand(0).isReg() &&
    3778           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3779           0 :         MI->getOperand(3).isImm() &&
    3780           0 :         MI->getOperand(3).getImm() == 13 &&
    3781             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3782             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    3783             :       AsmString = "movcc %icc, $\x02, $\x01";
    3784             :       break;
    3785             :     }
    3786           0 :     if (MI->getNumOperands() == 4 &&
    3787           0 :         MI->getOperand(0).isReg() &&
    3788           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3789           0 :         MI->getOperand(3).isImm() &&
    3790           0 :         MI->getOperand(3).getImm() == 5 &&
    3791             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3792             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    3793             :       AsmString = "movcs %icc, $\x02, $\x01";
    3794             :       break;
    3795             :     }
    3796           0 :     if (MI->getNumOperands() == 4 &&
    3797           0 :         MI->getOperand(0).isReg() &&
    3798           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3799           0 :         MI->getOperand(3).isImm() &&
    3800           0 :         MI->getOperand(3).getImm() == 14 &&
    3801             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3802             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    3803             :       AsmString = "movpos %icc, $\x02, $\x01";
    3804             :       break;
    3805             :     }
    3806           0 :     if (MI->getNumOperands() == 4 &&
    3807           0 :         MI->getOperand(0).isReg() &&
    3808           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3809           0 :         MI->getOperand(3).isImm() &&
    3810           0 :         MI->getOperand(3).getImm() == 6 &&
    3811             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3812             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    3813             :       AsmString = "movneg %icc, $\x02, $\x01";
    3814             :       break;
    3815             :     }
    3816           0 :     if (MI->getNumOperands() == 4 &&
    3817           0 :         MI->getOperand(0).isReg() &&
    3818           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3819           0 :         MI->getOperand(3).isImm() &&
    3820           0 :         MI->getOperand(3).getImm() == 15 &&
    3821             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3822             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    3823             :       AsmString = "movvc %icc, $\x02, $\x01";
    3824             :       break;
    3825             :     }
    3826           0 :     if (MI->getNumOperands() == 4 &&
    3827           0 :         MI->getOperand(0).isReg() &&
    3828           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3829           0 :         MI->getOperand(3).isImm() &&
    3830           0 :         MI->getOperand(3).getImm() == 7 &&
    3831             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3832             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    3833             :       AsmString = "movvs %icc, $\x02, $\x01";
    3834             :       break;
    3835             :     }
    3836             :     return false;
    3837             :   case SP::MOVICCrr:
    3838          19 :     if (MI->getNumOperands() == 4 &&
    3839          38 :         MI->getOperand(0).isReg() &&
    3840          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3841          38 :         MI->getOperand(1).isReg() &&
    3842          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3843          38 :         MI->getOperand(3).isImm() &&
    3844          38 :         MI->getOperand(3).getImm() == 8 &&
    3845             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3846             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    3847             :       AsmString = "mova %icc, $\x02, $\x01";
    3848             :       break;
    3849             :     }
    3850          19 :     if (MI->getNumOperands() == 4 &&
    3851          38 :         MI->getOperand(0).isReg() &&
    3852          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3853          38 :         MI->getOperand(1).isReg() &&
    3854          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3855          38 :         MI->getOperand(3).isImm() &&
    3856          38 :         MI->getOperand(3).getImm() == 0 &&
    3857             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3858             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    3859             :       AsmString = "movn %icc, $\x02, $\x01";
    3860             :       break;
    3861             :     }
    3862          19 :     if (MI->getNumOperands() == 4 &&
    3863          38 :         MI->getOperand(0).isReg() &&
    3864          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3865          38 :         MI->getOperand(1).isReg() &&
    3866          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3867          38 :         MI->getOperand(3).isImm() &&
    3868          39 :         MI->getOperand(3).getImm() == 9 &&
    3869             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3870             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    3871             :       AsmString = "movne %icc, $\x02, $\x01";
    3872             :       break;
    3873             :     }
    3874          18 :     if (MI->getNumOperands() == 4 &&
    3875          36 :         MI->getOperand(0).isReg() &&
    3876          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3877          36 :         MI->getOperand(1).isReg() &&
    3878          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3879          36 :         MI->getOperand(3).isImm() &&
    3880          40 :         MI->getOperand(3).getImm() == 1 &&
    3881             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3882             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    3883             :       AsmString = "move %icc, $\x02, $\x01";
    3884             :       break;
    3885             :     }
    3886          14 :     if (MI->getNumOperands() == 4 &&
    3887          28 :         MI->getOperand(0).isReg() &&
    3888          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3889          28 :         MI->getOperand(1).isReg() &&
    3890          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3891          28 :         MI->getOperand(3).isImm() &&
    3892          30 :         MI->getOperand(3).getImm() == 10 &&
    3893             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3894             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    3895             :       AsmString = "movg %icc, $\x02, $\x01";
    3896             :       break;
    3897             :     }
    3898          12 :     if (MI->getNumOperands() == 4 &&
    3899          24 :         MI->getOperand(0).isReg() &&
    3900          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3901          24 :         MI->getOperand(1).isReg() &&
    3902          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3903          24 :         MI->getOperand(3).isImm() &&
    3904          25 :         MI->getOperand(3).getImm() == 2 &&
    3905             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3906             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    3907             :       AsmString = "movle %icc, $\x02, $\x01";
    3908             :       break;
    3909             :     }
    3910          11 :     if (MI->getNumOperands() == 4 &&
    3911          22 :         MI->getOperand(0).isReg() &&
    3912          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3913          22 :         MI->getOperand(1).isReg() &&
    3914          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3915          22 :         MI->getOperand(3).isImm() &&
    3916          23 :         MI->getOperand(3).getImm() == 11 &&
    3917             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3918             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    3919             :       AsmString = "movge %icc, $\x02, $\x01";
    3920             :       break;
    3921             :     }
    3922          10 :     if (MI->getNumOperands() == 4 &&
    3923          20 :         MI->getOperand(0).isReg() &&
    3924          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3925          20 :         MI->getOperand(1).isReg() &&
    3926          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3927          20 :         MI->getOperand(3).isImm() &&
    3928          21 :         MI->getOperand(3).getImm() == 3 &&
    3929             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3930             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    3931             :       AsmString = "movl %icc, $\x02, $\x01";
    3932             :       break;
    3933             :     }
    3934           9 :     if (MI->getNumOperands() == 4 &&
    3935          18 :         MI->getOperand(0).isReg() &&
    3936          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3937          18 :         MI->getOperand(1).isReg() &&
    3938          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3939          18 :         MI->getOperand(3).isImm() &&
    3940          19 :         MI->getOperand(3).getImm() == 12 &&
    3941             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3942             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    3943             :       AsmString = "movgu %icc, $\x02, $\x01";
    3944             :       break;
    3945             :     }
    3946           8 :     if (MI->getNumOperands() == 4 &&
    3947          16 :         MI->getOperand(0).isReg() &&
    3948          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3949          16 :         MI->getOperand(1).isReg() &&
    3950          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3951          16 :         MI->getOperand(3).isImm() &&
    3952          18 :         MI->getOperand(3).getImm() == 4 &&
    3953             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3954             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    3955             :       AsmString = "movleu %icc, $\x02, $\x01";
    3956             :       break;
    3957             :     }
    3958           6 :     if (MI->getNumOperands() == 4 &&
    3959          12 :         MI->getOperand(0).isReg() &&
    3960          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3961          12 :         MI->getOperand(1).isReg() &&
    3962          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3963          12 :         MI->getOperand(3).isImm() &&
    3964          13 :         MI->getOperand(3).getImm() == 13 &&
    3965             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3966             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    3967             :       AsmString = "movcc %icc, $\x02, $\x01";
    3968             :       break;
    3969             :     }
    3970           5 :     if (MI->getNumOperands() == 4 &&
    3971          10 :         MI->getOperand(0).isReg() &&
    3972          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3973          10 :         MI->getOperand(1).isReg() &&
    3974          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3975          10 :         MI->getOperand(3).isImm() &&
    3976          11 :         MI->getOperand(3).getImm() == 5 &&
    3977             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3978             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    3979             :       AsmString = "movcs %icc, $\x02, $\x01";
    3980             :       break;
    3981             :     }
    3982           4 :     if (MI->getNumOperands() == 4 &&
    3983           8 :         MI->getOperand(0).isReg() &&
    3984           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3985           8 :         MI->getOperand(1).isReg() &&
    3986           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3987           8 :         MI->getOperand(3).isImm() &&
    3988           9 :         MI->getOperand(3).getImm() == 14 &&
    3989             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3990             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    3991             :       AsmString = "movpos %icc, $\x02, $\x01";
    3992             :       break;
    3993             :     }
    3994           3 :     if (MI->getNumOperands() == 4 &&
    3995           6 :         MI->getOperand(0).isReg() &&
    3996           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3997           6 :         MI->getOperand(1).isReg() &&
    3998           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3999           6 :         MI->getOperand(3).isImm() &&
    4000           7 :         MI->getOperand(3).getImm() == 6 &&
    4001             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4002             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4003             :       AsmString = "movneg %icc, $\x02, $\x01";
    4004             :       break;
    4005             :     }
    4006           2 :     if (MI->getNumOperands() == 4 &&
    4007           4 :         MI->getOperand(0).isReg() &&
    4008           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4009           4 :         MI->getOperand(1).isReg() &&
    4010           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4011           4 :         MI->getOperand(3).isImm() &&
    4012           5 :         MI->getOperand(3).getImm() == 15 &&
    4013             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4014             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4015             :       AsmString = "movvc %icc, $\x02, $\x01";
    4016             :       break;
    4017             :     }
    4018           1 :     if (MI->getNumOperands() == 4 &&
    4019           2 :         MI->getOperand(0).isReg() &&
    4020           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4021           2 :         MI->getOperand(1).isReg() &&
    4022           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4023           2 :         MI->getOperand(3).isImm() &&
    4024           3 :         MI->getOperand(3).getImm() == 7 &&
    4025             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4026             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4027             :       AsmString = "movvs %icc, $\x02, $\x01";
    4028             :       break;
    4029             :     }
    4030             :     return false;
    4031             :   case SP::MOVXCCri:
    4032          10 :     if (MI->getNumOperands() == 4 &&
    4033          20 :         MI->getOperand(0).isReg() &&
    4034          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4035          30 :         MI->getOperand(3).isImm() &&
    4036          10 :         MI->getOperand(3).getImm() == 8) {
    4037             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    4038             :       AsmString = "mova %xcc, $\x02, $\x01";
    4039             :       break;
    4040             :     }
    4041          10 :     if (MI->getNumOperands() == 4 &&
    4042          20 :         MI->getOperand(0).isReg() &&
    4043          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4044          30 :         MI->getOperand(3).isImm() &&
    4045          10 :         MI->getOperand(3).getImm() == 0) {
    4046             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    4047             :       AsmString = "movn %xcc, $\x02, $\x01";
    4048             :       break;
    4049             :     }
    4050          10 :     if (MI->getNumOperands() == 4 &&
    4051          20 :         MI->getOperand(0).isReg() &&
    4052          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4053          30 :         MI->getOperand(3).isImm() &&
    4054          10 :         MI->getOperand(3).getImm() == 9) {
    4055             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    4056             :       AsmString = "movne %xcc, $\x02, $\x01";
    4057             :       break;
    4058             :     }
    4059           9 :     if (MI->getNumOperands() == 4 &&
    4060          18 :         MI->getOperand(0).isReg() &&
    4061          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4062          27 :         MI->getOperand(3).isImm() &&
    4063           9 :         MI->getOperand(3).getImm() == 1) {
    4064             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    4065             :       AsmString = "move %xcc, $\x02, $\x01";
    4066             :       break;
    4067             :     }
    4068           6 :     if (MI->getNumOperands() == 4 &&
    4069          12 :         MI->getOperand(0).isReg() &&
    4070          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4071          18 :         MI->getOperand(3).isImm() &&
    4072           6 :         MI->getOperand(3).getImm() == 10) {
    4073             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    4074             :       AsmString = "movg %xcc, $\x02, $\x01";
    4075             :       break;
    4076             :     }
    4077           5 :     if (MI->getNumOperands() == 4 &&
    4078          10 :         MI->getOperand(0).isReg() &&
    4079          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4080          15 :         MI->getOperand(3).isImm() &&
    4081           5 :         MI->getOperand(3).getImm() == 2) {
    4082             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    4083             :       AsmString = "movle %xcc, $\x02, $\x01";
    4084             :       break;
    4085             :     }
    4086           5 :     if (MI->getNumOperands() == 4 &&
    4087          10 :         MI->getOperand(0).isReg() &&
    4088          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4089          15 :         MI->getOperand(3).isImm() &&
    4090           5 :         MI->getOperand(3).getImm() == 11) {
    4091             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    4092             :       AsmString = "movge %xcc, $\x02, $\x01";
    4093             :       break;
    4094             :     }
    4095           5 :     if (MI->getNumOperands() == 4 &&
    4096          10 :         MI->getOperand(0).isReg() &&
    4097          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4098          15 :         MI->getOperand(3).isImm() &&
    4099           5 :         MI->getOperand(3).getImm() == 3) {
    4100             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    4101             :       AsmString = "movl %xcc, $\x02, $\x01";
    4102             :       break;
    4103             :     }
    4104           3 :     if (MI->getNumOperands() == 4 &&
    4105           6 :         MI->getOperand(0).isReg() &&
    4106           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4107           9 :         MI->getOperand(3).isImm() &&
    4108           3 :         MI->getOperand(3).getImm() == 12) {
    4109             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    4110             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4111             :       break;
    4112             :     }
    4113           2 :     if (MI->getNumOperands() == 4 &&
    4114           4 :         MI->getOperand(0).isReg() &&
    4115           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4116           6 :         MI->getOperand(3).isImm() &&
    4117           2 :         MI->getOperand(3).getImm() == 4) {
    4118             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    4119             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4120             :       break;
    4121             :     }
    4122           2 :     if (MI->getNumOperands() == 4 &&
    4123           4 :         MI->getOperand(0).isReg() &&
    4124           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4125           6 :         MI->getOperand(3).isImm() &&
    4126           2 :         MI->getOperand(3).getImm() == 13) {
    4127             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    4128             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4129             :       break;
    4130             :     }
    4131           2 :     if (MI->getNumOperands() == 4 &&
    4132           4 :         MI->getOperand(0).isReg() &&
    4133           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4134           6 :         MI->getOperand(3).isImm() &&
    4135           2 :         MI->getOperand(3).getImm() == 5) {
    4136             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    4137             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4138             :       break;
    4139             :     }
    4140           0 :     if (MI->getNumOperands() == 4 &&
    4141           0 :         MI->getOperand(0).isReg() &&
    4142           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4143           0 :         MI->getOperand(3).isImm() &&
    4144           0 :         MI->getOperand(3).getImm() == 14) {
    4145             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    4146             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4147             :       break;
    4148             :     }
    4149           0 :     if (MI->getNumOperands() == 4 &&
    4150           0 :         MI->getOperand(0).isReg() &&
    4151           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4152           0 :         MI->getOperand(3).isImm() &&
    4153           0 :         MI->getOperand(3).getImm() == 6) {
    4154             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    4155             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4156             :       break;
    4157             :     }
    4158           0 :     if (MI->getNumOperands() == 4 &&
    4159           0 :         MI->getOperand(0).isReg() &&
    4160           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4161           0 :         MI->getOperand(3).isImm() &&
    4162           0 :         MI->getOperand(3).getImm() == 15) {
    4163             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    4164             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4165             :       break;
    4166             :     }
    4167           0 :     if (MI->getNumOperands() == 4 &&
    4168           0 :         MI->getOperand(0).isReg() &&
    4169           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4170           0 :         MI->getOperand(3).isImm() &&
    4171           0 :         MI->getOperand(3).getImm() == 7) {
    4172             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    4173             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4174             :       break;
    4175             :     }
    4176             :     return false;
    4177             :   case SP::MOVXCCrr:
    4178          17 :     if (MI->getNumOperands() == 4 &&
    4179          34 :         MI->getOperand(0).isReg() &&
    4180          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4181          34 :         MI->getOperand(1).isReg() &&
    4182          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4183          51 :         MI->getOperand(3).isImm() &&
    4184          17 :         MI->getOperand(3).getImm() == 8) {
    4185             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    4186             :       AsmString = "mova %xcc, $\x02, $\x01";
    4187             :       break;
    4188             :     }
    4189          17 :     if (MI->getNumOperands() == 4 &&
    4190          34 :         MI->getOperand(0).isReg() &&
    4191          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4192          34 :         MI->getOperand(1).isReg() &&
    4193          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4194          51 :         MI->getOperand(3).isImm() &&
    4195          17 :         MI->getOperand(3).getImm() == 0) {
    4196             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    4197             :       AsmString = "movn %xcc, $\x02, $\x01";
    4198             :       break;
    4199             :     }
    4200          17 :     if (MI->getNumOperands() == 4 &&
    4201          34 :         MI->getOperand(0).isReg() &&
    4202          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4203          34 :         MI->getOperand(1).isReg() &&
    4204          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4205          51 :         MI->getOperand(3).isImm() &&
    4206          17 :         MI->getOperand(3).getImm() == 9) {
    4207             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    4208             :       AsmString = "movne %xcc, $\x02, $\x01";
    4209             :       break;
    4210             :     }
    4211          16 :     if (MI->getNumOperands() == 4 &&
    4212          32 :         MI->getOperand(0).isReg() &&
    4213          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4214          32 :         MI->getOperand(1).isReg() &&
    4215          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4216          48 :         MI->getOperand(3).isImm() &&
    4217          16 :         MI->getOperand(3).getImm() == 1) {
    4218             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    4219             :       AsmString = "move %xcc, $\x02, $\x01";
    4220             :       break;
    4221             :     }
    4222          15 :     if (MI->getNumOperands() == 4 &&
    4223          30 :         MI->getOperand(0).isReg() &&
    4224          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4225          30 :         MI->getOperand(1).isReg() &&
    4226          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4227          45 :         MI->getOperand(3).isImm() &&
    4228          15 :         MI->getOperand(3).getImm() == 10) {
    4229             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    4230             :       AsmString = "movg %xcc, $\x02, $\x01";
    4231             :       break;
    4232             :     }
    4233          11 :     if (MI->getNumOperands() == 4 &&
    4234          22 :         MI->getOperand(0).isReg() &&
    4235          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4236          22 :         MI->getOperand(1).isReg() &&
    4237          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4238          33 :         MI->getOperand(3).isImm() &&
    4239          11 :         MI->getOperand(3).getImm() == 2) {
    4240             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    4241             :       AsmString = "movle %xcc, $\x02, $\x01";
    4242             :       break;
    4243             :     }
    4244          10 :     if (MI->getNumOperands() == 4 &&
    4245          20 :         MI->getOperand(0).isReg() &&
    4246          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4247          20 :         MI->getOperand(1).isReg() &&
    4248          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4249          30 :         MI->getOperand(3).isImm() &&
    4250          10 :         MI->getOperand(3).getImm() == 11) {
    4251             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    4252             :       AsmString = "movge %xcc, $\x02, $\x01";
    4253             :       break;
    4254             :     }
    4255           9 :     if (MI->getNumOperands() == 4 &&
    4256          18 :         MI->getOperand(0).isReg() &&
    4257          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4258          18 :         MI->getOperand(1).isReg() &&
    4259          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4260          27 :         MI->getOperand(3).isImm() &&
    4261           9 :         MI->getOperand(3).getImm() == 3) {
    4262             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    4263             :       AsmString = "movl %xcc, $\x02, $\x01";
    4264             :       break;
    4265             :     }
    4266           8 :     if (MI->getNumOperands() == 4 &&
    4267          16 :         MI->getOperand(0).isReg() &&
    4268          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4269          16 :         MI->getOperand(1).isReg() &&
    4270          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4271          24 :         MI->getOperand(3).isImm() &&
    4272           8 :         MI->getOperand(3).getImm() == 12) {
    4273             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    4274             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4275             :       break;
    4276             :     }
    4277           7 :     if (MI->getNumOperands() == 4 &&
    4278          14 :         MI->getOperand(0).isReg() &&
    4279          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4280          14 :         MI->getOperand(1).isReg() &&
    4281          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4282          21 :         MI->getOperand(3).isImm() &&
    4283           7 :         MI->getOperand(3).getImm() == 4) {
    4284             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    4285             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4286             :       break;
    4287             :     }
    4288           6 :     if (MI->getNumOperands() == 4 &&
    4289          12 :         MI->getOperand(0).isReg() &&
    4290          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4291          12 :         MI->getOperand(1).isReg() &&
    4292          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4293          18 :         MI->getOperand(3).isImm() &&
    4294           6 :         MI->getOperand(3).getImm() == 13) {
    4295             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    4296             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4297             :       break;
    4298             :     }
    4299           5 :     if (MI->getNumOperands() == 4 &&
    4300          10 :         MI->getOperand(0).isReg() &&
    4301          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4302          10 :         MI->getOperand(1).isReg() &&
    4303          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4304          15 :         MI->getOperand(3).isImm() &&
    4305           5 :         MI->getOperand(3).getImm() == 5) {
    4306             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    4307             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4308             :       break;
    4309             :     }
    4310           4 :     if (MI->getNumOperands() == 4 &&
    4311           8 :         MI->getOperand(0).isReg() &&
    4312           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4313           8 :         MI->getOperand(1).isReg() &&
    4314           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4315          12 :         MI->getOperand(3).isImm() &&
    4316           4 :         MI->getOperand(3).getImm() == 14) {
    4317             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    4318             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4319             :       break;
    4320             :     }
    4321           3 :     if (MI->getNumOperands() == 4 &&
    4322           6 :         MI->getOperand(0).isReg() &&
    4323           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4324           6 :         MI->getOperand(1).isReg() &&
    4325           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4326           9 :         MI->getOperand(3).isImm() &&
    4327           3 :         MI->getOperand(3).getImm() == 6) {
    4328             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4329             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4330             :       break;
    4331             :     }
    4332           2 :     if (MI->getNumOperands() == 4 &&
    4333           4 :         MI->getOperand(0).isReg() &&
    4334           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4335           4 :         MI->getOperand(1).isReg() &&
    4336           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4337           6 :         MI->getOperand(3).isImm() &&
    4338           2 :         MI->getOperand(3).getImm() == 15) {
    4339             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4340             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4341             :       break;
    4342             :     }
    4343           1 :     if (MI->getNumOperands() == 4 &&
    4344           2 :         MI->getOperand(0).isReg() &&
    4345           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4346           2 :         MI->getOperand(1).isReg() &&
    4347           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4348           3 :         MI->getOperand(3).isImm() &&
    4349           1 :         MI->getOperand(3).getImm() == 7) {
    4350             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4351             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4352             :       break;
    4353             :     }
    4354             :     return false;
    4355             :   case SP::ORCCrr:
    4356           6 :     if (MI->getNumOperands() == 3 &&
    4357          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4358           8 :         MI->getOperand(1).isReg() &&
    4359          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4360           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4361             :       // (ORCCrr G0, IntRegs:$rs2, G0)
    4362             :       AsmString = "tst $\x02";
    4363             :       break;
    4364             :     }
    4365             :     return false;
    4366             :   case SP::ORri:
    4367         322 :     if (MI->getNumOperands() == 3 &&
    4368         644 :         MI->getOperand(0).isReg() &&
    4369         966 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4370         322 :         MI->getOperand(1).getReg() == Sparc::G0) {
    4371             :       // (ORri IntRegs:$rd, G0, i32imm:$simm13)
    4372             :       AsmString = "mov $\x03, $\x01";
    4373             :       break;
    4374             :     }
    4375             :     return false;
    4376             :   case SP::ORrr:
    4377         972 :     if (MI->getNumOperands() == 3 &&
    4378        1944 :         MI->getOperand(0).isReg() &&
    4379        1944 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4380        1813 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4381        2654 :         MI->getOperand(2).isReg() &&
    4382         841 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    4383             :       // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
    4384             :       AsmString = "mov $\x03, $\x01";
    4385             :       break;
    4386             :     }
    4387             :     return false;
    4388             :   case SP::RESTORErr:
    4389         366 :     if (MI->getNumOperands() == 3 &&
    4390         656 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4391         946 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4392         290 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4393             :       // (RESTORErr G0, G0, G0)
    4394             :       AsmString = "restore";
    4395             :       break;
    4396             :     }
    4397             :     return false;
    4398             :   case SP::RET:
    4399         269 :     if (MI->getNumOperands() == 1 &&
    4400         538 :         MI->getOperand(0).isImm() &&
    4401         269 :         MI->getOperand(0).getImm() == 8) {
    4402             :       // (RET 8)
    4403             :       AsmString = "ret";
    4404             :       break;
    4405             :     }
    4406             :     return false;
    4407             :   case SP::RETL:
    4408         412 :     if (MI->getNumOperands() == 1 &&
    4409         824 :         MI->getOperand(0).isImm() &&
    4410         412 :         MI->getOperand(0).getImm() == 8) {
    4411             :       // (RETL 8)
    4412             :       AsmString = "retl";
    4413             :       break;
    4414             :     }
    4415             :     return false;
    4416             :   case SP::SAVErr:
    4417           6 :     if (MI->getNumOperands() == 3 &&
    4418          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4419          14 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4420           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4421             :       // (SAVErr G0, G0, G0)
    4422             :       AsmString = "save";
    4423             :       break;
    4424             :     }
    4425             :     return false;
    4426             :   case SP::TICCri:
    4427          41 :     if (MI->getNumOperands() == 3 &&
    4428          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4429          42 :         MI->getOperand(2).isImm() &&
    4430          64 :         MI->getOperand(2).getImm() == 8 &&
    4431             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4432             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    4433             :       AsmString = "ta %icc, $\x02";
    4434             :       break;
    4435             :     }
    4436          39 :     if (MI->getNumOperands() == 3 &&
    4437          78 :         MI->getOperand(0).isReg() &&
    4438          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4439          78 :         MI->getOperand(2).isImm() &&
    4440          80 :         MI->getOperand(2).getImm() == 8 &&
    4441             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4442             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    4443             :       AsmString = "ta %icc, $\x01 + $\x02";
    4444             :       break;
    4445             :     }
    4446          37 :     if (MI->getNumOperands() == 3 &&
    4447          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4448          38 :         MI->getOperand(2).isImm() &&
    4449          57 :         MI->getOperand(2).getImm() == 0 &&
    4450             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4451             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    4452             :       AsmString = "tn %icc, $\x02";
    4453             :       break;
    4454             :     }
    4455          36 :     if (MI->getNumOperands() == 3 &&
    4456          72 :         MI->getOperand(0).isReg() &&
    4457          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4458          72 :         MI->getOperand(2).isImm() &&
    4459          73 :         MI->getOperand(2).getImm() == 0 &&
    4460             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4461             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    4462             :       AsmString = "tn %icc, $\x01 + $\x02";
    4463             :       break;
    4464             :     }
    4465          35 :     if (MI->getNumOperands() == 3 &&
    4466          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4467          36 :         MI->getOperand(2).isImm() &&
    4468          55 :         MI->getOperand(2).getImm() == 9 &&
    4469             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4470             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    4471             :       AsmString = "tne %icc, $\x02";
    4472             :       break;
    4473             :     }
    4474          33 :     if (MI->getNumOperands() == 3 &&
    4475          66 :         MI->getOperand(0).isReg() &&
    4476          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4477          66 :         MI->getOperand(2).isImm() &&
    4478          67 :         MI->getOperand(2).getImm() == 9 &&
    4479             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4480             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    4481             :       AsmString = "tne %icc, $\x01 + $\x02";
    4482             :       break;
    4483             :     }
    4484          32 :     if (MI->getNumOperands() == 3 &&
    4485          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4486          32 :         MI->getOperand(2).isImm() &&
    4487          49 :         MI->getOperand(2).getImm() == 1 &&
    4488             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4489             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    4490             :       AsmString = "te %icc, $\x02";
    4491             :       break;
    4492             :     }
    4493          31 :     if (MI->getNumOperands() == 3 &&
    4494          62 :         MI->getOperand(0).isReg() &&
    4495          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4496          62 :         MI->getOperand(2).isImm() &&
    4497          63 :         MI->getOperand(2).getImm() == 1 &&
    4498             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4499             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    4500             :       AsmString = "te %icc, $\x01 + $\x02";
    4501             :       break;
    4502             :     }
    4503          30 :     if (MI->getNumOperands() == 3 &&
    4504          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4505          30 :         MI->getOperand(2).isImm() &&
    4506          46 :         MI->getOperand(2).getImm() == 10 &&
    4507             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4508             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    4509             :       AsmString = "tg %icc, $\x02";
    4510             :       break;
    4511             :     }
    4512          29 :     if (MI->getNumOperands() == 3 &&
    4513          58 :         MI->getOperand(0).isReg() &&
    4514          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4515          58 :         MI->getOperand(2).isImm() &&
    4516          60 :         MI->getOperand(2).getImm() == 10 &&
    4517             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4518             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    4519             :       AsmString = "tg %icc, $\x01 + $\x02";
    4520             :       break;
    4521             :     }
    4522          27 :     if (MI->getNumOperands() == 3 &&
    4523          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4524          28 :         MI->getOperand(2).isImm() &&
    4525          42 :         MI->getOperand(2).getImm() == 2 &&
    4526             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4527             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    4528             :       AsmString = "tle %icc, $\x02";
    4529             :       break;
    4530             :     }
    4531          26 :     if (MI->getNumOperands() == 3 &&
    4532          52 :         MI->getOperand(0).isReg() &&
    4533          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4534          52 :         MI->getOperand(2).isImm() &&
    4535          53 :         MI->getOperand(2).getImm() == 2 &&
    4536             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4537             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    4538             :       AsmString = "tle %icc, $\x01 + $\x02";
    4539             :       break;
    4540             :     }
    4541          25 :     if (MI->getNumOperands() == 3 &&
    4542          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4543          26 :         MI->getOperand(2).isImm() &&
    4544          40 :         MI->getOperand(2).getImm() == 11 &&
    4545             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4546             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    4547             :       AsmString = "tge %icc, $\x02";
    4548             :       break;
    4549             :     }
    4550          23 :     if (MI->getNumOperands() == 3 &&
    4551          46 :         MI->getOperand(0).isReg() &&
    4552          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4553          46 :         MI->getOperand(2).isImm() &&
    4554          47 :         MI->getOperand(2).getImm() == 11 &&
    4555             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4556             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    4557             :       AsmString = "tge %icc, $\x01 + $\x02";
    4558             :       break;
    4559             :     }
    4560          22 :     if (MI->getNumOperands() == 3 &&
    4561          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4562          22 :         MI->getOperand(2).isImm() &&
    4563          34 :         MI->getOperand(2).getImm() == 3 &&
    4564             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4565             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    4566             :       AsmString = "tl %icc, $\x02";
    4567             :       break;
    4568             :     }
    4569          21 :     if (MI->getNumOperands() == 3 &&
    4570          42 :         MI->getOperand(0).isReg() &&
    4571          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4572          42 :         MI->getOperand(2).isImm() &&
    4573          43 :         MI->getOperand(2).getImm() == 3 &&
    4574             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4575             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    4576             :       AsmString = "tl %icc, $\x01 + $\x02";
    4577             :       break;
    4578             :     }
    4579          20 :     if (MI->getNumOperands() == 3 &&
    4580          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4581          20 :         MI->getOperand(2).isImm() &&
    4582          31 :         MI->getOperand(2).getImm() == 12 &&
    4583             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4584             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    4585             :       AsmString = "tgu %icc, $\x02";
    4586             :       break;
    4587             :     }
    4588          19 :     if (MI->getNumOperands() == 3 &&
    4589          38 :         MI->getOperand(0).isReg() &&
    4590          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4591          38 :         MI->getOperand(2).isImm() &&
    4592          40 :         MI->getOperand(2).getImm() == 12 &&
    4593             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4594             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    4595             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4596             :       break;
    4597             :     }
    4598          17 :     if (MI->getNumOperands() == 3 &&
    4599          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4600          18 :         MI->getOperand(2).isImm() &&
    4601          27 :         MI->getOperand(2).getImm() == 4 &&
    4602             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4603             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    4604             :       AsmString = "tleu %icc, $\x02";
    4605             :       break;
    4606             :     }
    4607          16 :     if (MI->getNumOperands() == 3 &&
    4608          32 :         MI->getOperand(0).isReg() &&
    4609          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4610          32 :         MI->getOperand(2).isImm() &&
    4611          33 :         MI->getOperand(2).getImm() == 4 &&
    4612             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4613             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    4614             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4615             :       break;
    4616             :     }
    4617          15 :     if (MI->getNumOperands() == 3 &&
    4618          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4619          16 :         MI->getOperand(2).isImm() &&
    4620          25 :         MI->getOperand(2).getImm() == 13 &&
    4621             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4622             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    4623             :       AsmString = "tcc %icc, $\x02";
    4624             :       break;
    4625             :     }
    4626          13 :     if (MI->getNumOperands() == 3 &&
    4627          26 :         MI->getOperand(0).isReg() &&
    4628          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4629          26 :         MI->getOperand(2).isImm() &&
    4630          27 :         MI->getOperand(2).getImm() == 13 &&
    4631             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4632             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    4633             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4634             :       break;
    4635             :     }
    4636          12 :     if (MI->getNumOperands() == 3 &&
    4637          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4638          12 :         MI->getOperand(2).isImm() &&
    4639          19 :         MI->getOperand(2).getImm() == 5 &&
    4640             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4641             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    4642             :       AsmString = "tcs %icc, $\x02";
    4643             :       break;
    4644             :     }
    4645          11 :     if (MI->getNumOperands() == 3 &&
    4646          22 :         MI->getOperand(0).isReg() &&
    4647          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4648          22 :         MI->getOperand(2).isImm() &&
    4649          23 :         MI->getOperand(2).getImm() == 5 &&
    4650             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4651             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    4652             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4653             :       break;
    4654             :     }
    4655          10 :     if (MI->getNumOperands() == 3 &&
    4656          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4657          10 :         MI->getOperand(2).isImm() &&
    4658          16 :         MI->getOperand(2).getImm() == 14 &&
    4659             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4660             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    4661             :       AsmString = "tpos %icc, $\x02";
    4662             :       break;
    4663             :     }
    4664           9 :     if (MI->getNumOperands() == 3 &&
    4665          18 :         MI->getOperand(0).isReg() &&
    4666          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4667          18 :         MI->getOperand(2).isImm() &&
    4668          20 :         MI->getOperand(2).getImm() == 14 &&
    4669             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4670             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    4671             :       AsmString = "tpos %icc, $\x01 + $\x02";
    4672             :       break;
    4673             :     }
    4674           7 :     if (MI->getNumOperands() == 3 &&
    4675          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4676           8 :         MI->getOperand(2).isImm() &&
    4677          12 :         MI->getOperand(2).getImm() == 6 &&
    4678             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4679             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    4680             :       AsmString = "tneg %icc, $\x02";
    4681             :       break;
    4682             :     }
    4683           6 :     if (MI->getNumOperands() == 3 &&
    4684          12 :         MI->getOperand(0).isReg() &&
    4685          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4686          12 :         MI->getOperand(2).isImm() &&
    4687          13 :         MI->getOperand(2).getImm() == 6 &&
    4688             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4689             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    4690             :       AsmString = "tneg %icc, $\x01 + $\x02";
    4691             :       break;
    4692             :     }
    4693           5 :     if (MI->getNumOperands() == 3 &&
    4694           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4695           6 :         MI->getOperand(2).isImm() &&
    4696          10 :         MI->getOperand(2).getImm() == 15 &&
    4697             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4698             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    4699             :       AsmString = "tvc %icc, $\x02";
    4700             :       break;
    4701             :     }
    4702           3 :     if (MI->getNumOperands() == 3 &&
    4703           6 :         MI->getOperand(0).isReg() &&
    4704           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4705           6 :         MI->getOperand(2).isImm() &&
    4706           7 :         MI->getOperand(2).getImm() == 15 &&
    4707             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4708             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    4709             :       AsmString = "tvc %icc, $\x01 + $\x02";
    4710             :       break;
    4711             :     }
    4712           2 :     if (MI->getNumOperands() == 3 &&
    4713           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4714           2 :         MI->getOperand(2).isImm() &&
    4715           4 :         MI->getOperand(2).getImm() == 7 &&
    4716             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4717             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    4718             :       AsmString = "tvs %icc, $\x02";
    4719             :       break;
    4720             :     }
    4721           1 :     if (MI->getNumOperands() == 3 &&
    4722           2 :         MI->getOperand(0).isReg() &&
    4723           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4724           2 :         MI->getOperand(2).isImm() &&
    4725           3 :         MI->getOperand(2).getImm() == 7 &&
    4726             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4727             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    4728             :       AsmString = "tvs %icc, $\x01 + $\x02";
    4729             :       break;
    4730             :     }
    4731             :     return false;
    4732             :   case SP::TICCrr:
    4733          44 :     if (MI->getNumOperands() == 3 &&
    4734          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4735          46 :         MI->getOperand(1).isReg() &&
    4736          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4737          46 :         MI->getOperand(2).isImm() &&
    4738          69 :         MI->getOperand(2).getImm() == 8 &&
    4739             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4740             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    4741             :       AsmString = "ta %icc, $\x02";
    4742             :       break;
    4743             :     }
    4744          42 :     if (MI->getNumOperands() == 3 &&
    4745          84 :         MI->getOperand(0).isReg() &&
    4746          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4747          84 :         MI->getOperand(1).isReg() &&
    4748          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4749          84 :         MI->getOperand(2).isImm() &&
    4750          86 :         MI->getOperand(2).getImm() == 8 &&
    4751             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4752             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    4753             :       AsmString = "ta %icc, $\x01 + $\x02";
    4754             :       break;
    4755             :     }
    4756          40 :     if (MI->getNumOperands() == 3 &&
    4757          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4758          42 :         MI->getOperand(1).isReg() &&
    4759          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4760          42 :         MI->getOperand(2).isImm() &&
    4761          63 :         MI->getOperand(2).getImm() == 0 &&
    4762             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4763             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    4764             :       AsmString = "tn %icc, $\x02";
    4765             :       break;
    4766             :     }
    4767          38 :     if (MI->getNumOperands() == 3 &&
    4768          76 :         MI->getOperand(0).isReg() &&
    4769          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4770          76 :         MI->getOperand(1).isReg() &&
    4771          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4772          76 :         MI->getOperand(2).isImm() &&
    4773          77 :         MI->getOperand(2).getImm() == 0 &&
    4774             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4775             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    4776             :       AsmString = "tn %icc, $\x01 + $\x02";
    4777             :       break;
    4778             :     }
    4779          37 :     if (MI->getNumOperands() == 3 &&
    4780          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4781          38 :         MI->getOperand(1).isReg() &&
    4782          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4783          38 :         MI->getOperand(2).isImm() &&
    4784          58 :         MI->getOperand(2).getImm() == 9 &&
    4785             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4786             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    4787             :       AsmString = "tne %icc, $\x02";
    4788             :       break;
    4789             :     }
    4790          35 :     if (MI->getNumOperands() == 3 &&
    4791          70 :         MI->getOperand(0).isReg() &&
    4792          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4793          70 :         MI->getOperand(1).isReg() &&
    4794          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4795          70 :         MI->getOperand(2).isImm() &&
    4796          71 :         MI->getOperand(2).getImm() == 9 &&
    4797             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4798             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    4799             :       AsmString = "tne %icc, $\x01 + $\x02";
    4800             :       break;
    4801             :     }
    4802          34 :     if (MI->getNumOperands() == 3 &&
    4803          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4804          34 :         MI->getOperand(1).isReg() &&
    4805          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4806          34 :         MI->getOperand(2).isImm() &&
    4807          53 :         MI->getOperand(2).getImm() == 1 &&
    4808             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4809             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    4810             :       AsmString = "te %icc, $\x02";
    4811             :       break;
    4812             :     }
    4813          32 :     if (MI->getNumOperands() == 3 &&
    4814          64 :         MI->getOperand(0).isReg() &&
    4815          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4816          64 :         MI->getOperand(1).isReg() &&
    4817          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4818          64 :         MI->getOperand(2).isImm() &&
    4819          66 :         MI->getOperand(2).getImm() == 1 &&
    4820             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4821             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    4822             :       AsmString = "te %icc, $\x01 + $\x02";
    4823             :       break;
    4824             :     }
    4825          30 :     if (MI->getNumOperands() == 3 &&
    4826          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4827          30 :         MI->getOperand(1).isReg() &&
    4828          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4829          30 :         MI->getOperand(2).isImm() &&
    4830          46 :         MI->getOperand(2).getImm() == 10 &&
    4831             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4832             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    4833             :       AsmString = "tg %icc, $\x02";
    4834             :       break;
    4835             :     }
    4836          29 :     if (MI->getNumOperands() == 3 &&
    4837          58 :         MI->getOperand(0).isReg() &&
    4838          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4839          58 :         MI->getOperand(1).isReg() &&
    4840          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4841          58 :         MI->getOperand(2).isImm() &&
    4842          59 :         MI->getOperand(2).getImm() == 10 &&
    4843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4844             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    4845             :       AsmString = "tg %icc, $\x01 + $\x02";
    4846             :       break;
    4847             :     }
    4848          28 :     if (MI->getNumOperands() == 3 &&
    4849          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4850          28 :         MI->getOperand(1).isReg() &&
    4851          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4852          28 :         MI->getOperand(2).isImm() &&
    4853          44 :         MI->getOperand(2).getImm() == 2 &&
    4854             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4855             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    4856             :       AsmString = "tle %icc, $\x02";
    4857             :       break;
    4858             :     }
    4859          26 :     if (MI->getNumOperands() == 3 &&
    4860          52 :         MI->getOperand(0).isReg() &&
    4861          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4862          52 :         MI->getOperand(1).isReg() &&
    4863          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4864          52 :         MI->getOperand(2).isImm() &&
    4865          53 :         MI->getOperand(2).getImm() == 2 &&
    4866             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4867             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    4868             :       AsmString = "tle %icc, $\x01 + $\x02";
    4869             :       break;
    4870             :     }
    4871          25 :     if (MI->getNumOperands() == 3 &&
    4872          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4873          24 :         MI->getOperand(1).isReg() &&
    4874          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4875          24 :         MI->getOperand(2).isImm() &&
    4876          38 :         MI->getOperand(2).getImm() == 11 &&
    4877             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4878             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    4879             :       AsmString = "tge %icc, $\x02";
    4880             :       break;
    4881             :     }
    4882          24 :     if (MI->getNumOperands() == 3 &&
    4883          48 :         MI->getOperand(0).isReg() &&
    4884          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4885          48 :         MI->getOperand(1).isReg() &&
    4886          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4887          48 :         MI->getOperand(2).isImm() &&
    4888          49 :         MI->getOperand(2).getImm() == 11 &&
    4889             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4890             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    4891             :       AsmString = "tge %icc, $\x01 + $\x02";
    4892             :       break;
    4893             :     }
    4894          23 :     if (MI->getNumOperands() == 3 &&
    4895          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4896          22 :         MI->getOperand(1).isReg() &&
    4897          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4898          22 :         MI->getOperand(2).isImm() &&
    4899          35 :         MI->getOperand(2).getImm() == 3 &&
    4900             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4901             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    4902             :       AsmString = "tl %icc, $\x02";
    4903             :       break;
    4904             :     }
    4905          22 :     if (MI->getNumOperands() == 3 &&
    4906          44 :         MI->getOperand(0).isReg() &&
    4907          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4908          44 :         MI->getOperand(1).isReg() &&
    4909          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4910          44 :         MI->getOperand(2).isImm() &&
    4911          46 :         MI->getOperand(2).getImm() == 3 &&
    4912             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4913             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    4914             :       AsmString = "tl %icc, $\x01 + $\x02";
    4915             :       break;
    4916             :     }
    4917          20 :     if (MI->getNumOperands() == 3 &&
    4918          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4919          20 :         MI->getOperand(1).isReg() &&
    4920          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4921          20 :         MI->getOperand(2).isImm() &&
    4922          31 :         MI->getOperand(2).getImm() == 12 &&
    4923             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4924             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    4925             :       AsmString = "tgu %icc, $\x02";
    4926             :       break;
    4927             :     }
    4928          19 :     if (MI->getNumOperands() == 3 &&
    4929          38 :         MI->getOperand(0).isReg() &&
    4930          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4931          38 :         MI->getOperand(1).isReg() &&
    4932          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4933          38 :         MI->getOperand(2).isImm() &&
    4934          39 :         MI->getOperand(2).getImm() == 12 &&
    4935             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4936             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    4937             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4938             :       break;
    4939             :     }
    4940          18 :     if (MI->getNumOperands() == 3 &&
    4941          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4942          18 :         MI->getOperand(1).isReg() &&
    4943          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4944          18 :         MI->getOperand(2).isImm() &&
    4945          29 :         MI->getOperand(2).getImm() == 4 &&
    4946             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4947             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    4948             :       AsmString = "tleu %icc, $\x02";
    4949             :       break;
    4950             :     }
    4951          16 :     if (MI->getNumOperands() == 3 &&
    4952          32 :         MI->getOperand(0).isReg() &&
    4953          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4954          32 :         MI->getOperand(1).isReg() &&
    4955          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4956          32 :         MI->getOperand(2).isImm() &&
    4957          33 :         MI->getOperand(2).getImm() == 4 &&
    4958             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4959             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    4960             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4961             :       break;
    4962             :     }
    4963          15 :     if (MI->getNumOperands() == 3 &&
    4964          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4965          14 :         MI->getOperand(1).isReg() &&
    4966          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4967          14 :         MI->getOperand(2).isImm() &&
    4968          23 :         MI->getOperand(2).getImm() == 13 &&
    4969             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4970             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    4971             :       AsmString = "tcc %icc, $\x02";
    4972             :       break;
    4973             :     }
    4974          14 :     if (MI->getNumOperands() == 3 &&
    4975          28 :         MI->getOperand(0).isReg() &&
    4976          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4977          28 :         MI->getOperand(1).isReg() &&
    4978          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4979          28 :         MI->getOperand(2).isImm() &&
    4980          29 :         MI->getOperand(2).getImm() == 13 &&
    4981             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4982             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    4983             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4984             :       break;
    4985             :     }
    4986          13 :     if (MI->getNumOperands() == 3 &&
    4987          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4988          12 :         MI->getOperand(1).isReg() &&
    4989          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4990          12 :         MI->getOperand(2).isImm() &&
    4991          20 :         MI->getOperand(2).getImm() == 5 &&
    4992             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4993             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    4994             :       AsmString = "tcs %icc, $\x02";
    4995             :       break;
    4996             :     }
    4997          12 :     if (MI->getNumOperands() == 3 &&
    4998          24 :         MI->getOperand(0).isReg() &&
    4999          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5000          24 :         MI->getOperand(1).isReg() &&
    5001          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5002          24 :         MI->getOperand(2).isImm() &&
    5003          26 :         MI->getOperand(2).getImm() == 5 &&
    5004             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5005             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5006             :       AsmString = "tcs %icc, $\x01 + $\x02";
    5007             :       break;
    5008             :     }
    5009          10 :     if (MI->getNumOperands() == 3 &&
    5010          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5011          10 :         MI->getOperand(1).isReg() &&
    5012          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5013          10 :         MI->getOperand(2).isImm() &&
    5014          16 :         MI->getOperand(2).getImm() == 14 &&
    5015             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5016             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    5017             :       AsmString = "tpos %icc, $\x02";
    5018             :       break;
    5019             :     }
    5020           9 :     if (MI->getNumOperands() == 3 &&
    5021          18 :         MI->getOperand(0).isReg() &&
    5022          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5023          18 :         MI->getOperand(1).isReg() &&
    5024          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5025          18 :         MI->getOperand(2).isImm() &&
    5026          19 :         MI->getOperand(2).getImm() == 14 &&
    5027             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5028             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5029             :       AsmString = "tpos %icc, $\x01 + $\x02";
    5030             :       break;
    5031             :     }
    5032           8 :     if (MI->getNumOperands() == 3 &&
    5033          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5034           8 :         MI->getOperand(1).isReg() &&
    5035           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5036           8 :         MI->getOperand(2).isImm() &&
    5037          14 :         MI->getOperand(2).getImm() == 6 &&
    5038             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5039             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    5040             :       AsmString = "tneg %icc, $\x02";
    5041             :       break;
    5042             :     }
    5043           6 :     if (MI->getNumOperands() == 3 &&
    5044          12 :         MI->getOperand(0).isReg() &&
    5045          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5046          12 :         MI->getOperand(1).isReg() &&
    5047          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5048          12 :         MI->getOperand(2).isImm() &&
    5049          13 :         MI->getOperand(2).getImm() == 6 &&
    5050             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5051             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5052             :       AsmString = "tneg %icc, $\x01 + $\x02";
    5053             :       break;
    5054             :     }
    5055           5 :     if (MI->getNumOperands() == 3 &&
    5056           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5057           4 :         MI->getOperand(1).isReg() &&
    5058           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5059           4 :         MI->getOperand(2).isImm() &&
    5060           8 :         MI->getOperand(2).getImm() == 15 &&
    5061             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5062             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    5063             :       AsmString = "tvc %icc, $\x02";
    5064             :       break;
    5065             :     }
    5066           4 :     if (MI->getNumOperands() == 3 &&
    5067           8 :         MI->getOperand(0).isReg() &&
    5068           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5069           8 :         MI->getOperand(1).isReg() &&
    5070           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5071           8 :         MI->getOperand(2).isImm() &&
    5072           9 :         MI->getOperand(2).getImm() == 15 &&
    5073             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5074             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5075             :       AsmString = "tvc %icc, $\x01 + $\x02";
    5076             :       break;
    5077             :     }
    5078           3 :     if (MI->getNumOperands() == 3 &&
    5079           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5080           2 :         MI->getOperand(1).isReg() &&
    5081           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5082           2 :         MI->getOperand(2).isImm() &&
    5083           5 :         MI->getOperand(2).getImm() == 7 &&
    5084             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5085             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    5086             :       AsmString = "tvs %icc, $\x02";
    5087             :       break;
    5088             :     }
    5089           2 :     if (MI->getNumOperands() == 3 &&
    5090           4 :         MI->getOperand(0).isReg() &&
    5091           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5092           4 :         MI->getOperand(1).isReg() &&
    5093           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5094           4 :         MI->getOperand(2).isImm() &&
    5095           6 :         MI->getOperand(2).getImm() == 7 &&
    5096             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5097             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5098             :       AsmString = "tvs %icc, $\x01 + $\x02";
    5099             :       break;
    5100             :     }
    5101             :     return false;
    5102             :   case SP::TRAPri:
    5103          48 :     if (MI->getNumOperands() == 3 &&
    5104          76 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5105         104 :         MI->getOperand(2).isImm() &&
    5106          28 :         MI->getOperand(2).getImm() == 8) {
    5107             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5108             :       AsmString = "ta $\x02";
    5109             :       break;
    5110             :     }
    5111          39 :     if (MI->getNumOperands() == 3 &&
    5112          78 :         MI->getOperand(0).isReg() &&
    5113          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5114         117 :         MI->getOperand(2).isImm() &&
    5115          39 :         MI->getOperand(2).getImm() == 8) {
    5116             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5117             :       AsmString = "ta $\x01 + $\x02";
    5118             :       break;
    5119             :     }
    5120          37 :     if (MI->getNumOperands() == 3 &&
    5121          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5122          75 :         MI->getOperand(2).isImm() &&
    5123          19 :         MI->getOperand(2).getImm() == 0) {
    5124             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5125             :       AsmString = "tn $\x02";
    5126             :       break;
    5127             :     }
    5128          36 :     if (MI->getNumOperands() == 3 &&
    5129          72 :         MI->getOperand(0).isReg() &&
    5130          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5131         108 :         MI->getOperand(2).isImm() &&
    5132          36 :         MI->getOperand(2).getImm() == 0) {
    5133             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5134             :       AsmString = "tn $\x01 + $\x02";
    5135             :       break;
    5136             :     }
    5137          35 :     if (MI->getNumOperands() == 3 &&
    5138          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5139          71 :         MI->getOperand(2).isImm() &&
    5140          18 :         MI->getOperand(2).getImm() == 9) {
    5141             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5142             :       AsmString = "tne $\x02";
    5143             :       break;
    5144             :     }
    5145          33 :     if (MI->getNumOperands() == 3 &&
    5146          66 :         MI->getOperand(0).isReg() &&
    5147          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5148          99 :         MI->getOperand(2).isImm() &&
    5149          33 :         MI->getOperand(2).getImm() == 9) {
    5150             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5151             :       AsmString = "tne $\x01 + $\x02";
    5152             :       break;
    5153             :     }
    5154          32 :     if (MI->getNumOperands() == 3 &&
    5155          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5156          64 :         MI->getOperand(2).isImm() &&
    5157          16 :         MI->getOperand(2).getImm() == 1) {
    5158             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5159             :       AsmString = "te $\x02";
    5160             :       break;
    5161             :     }
    5162          31 :     if (MI->getNumOperands() == 3 &&
    5163          62 :         MI->getOperand(0).isReg() &&
    5164          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5165          93 :         MI->getOperand(2).isImm() &&
    5166          31 :         MI->getOperand(2).getImm() == 1) {
    5167             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5168             :       AsmString = "te $\x01 + $\x02";
    5169             :       break;
    5170             :     }
    5171          30 :     if (MI->getNumOperands() == 3 &&
    5172          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5173          60 :         MI->getOperand(2).isImm() &&
    5174          15 :         MI->getOperand(2).getImm() == 10) {
    5175             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5176             :       AsmString = "tg $\x02";
    5177             :       break;
    5178             :     }
    5179          29 :     if (MI->getNumOperands() == 3 &&
    5180          58 :         MI->getOperand(0).isReg() &&
    5181          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5182          87 :         MI->getOperand(2).isImm() &&
    5183          29 :         MI->getOperand(2).getImm() == 10) {
    5184             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5185             :       AsmString = "tg $\x01 + $\x02";
    5186             :       break;
    5187             :     }
    5188          27 :     if (MI->getNumOperands() == 3 &&
    5189          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5190          55 :         MI->getOperand(2).isImm() &&
    5191          14 :         MI->getOperand(2).getImm() == 2) {
    5192             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5193             :       AsmString = "tle $\x02";
    5194             :       break;
    5195             :     }
    5196          26 :     if (MI->getNumOperands() == 3 &&
    5197          52 :         MI->getOperand(0).isReg() &&
    5198          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5199          78 :         MI->getOperand(2).isImm() &&
    5200          26 :         MI->getOperand(2).getImm() == 2) {
    5201             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5202             :       AsmString = "tle $\x01 + $\x02";
    5203             :       break;
    5204             :     }
    5205          25 :     if (MI->getNumOperands() == 3 &&
    5206          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5207          51 :         MI->getOperand(2).isImm() &&
    5208          13 :         MI->getOperand(2).getImm() == 11) {
    5209             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5210             :       AsmString = "tge $\x02";
    5211             :       break;
    5212             :     }
    5213          23 :     if (MI->getNumOperands() == 3 &&
    5214          46 :         MI->getOperand(0).isReg() &&
    5215          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5216          69 :         MI->getOperand(2).isImm() &&
    5217          23 :         MI->getOperand(2).getImm() == 11) {
    5218             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5219             :       AsmString = "tge $\x01 + $\x02";
    5220             :       break;
    5221             :     }
    5222          22 :     if (MI->getNumOperands() == 3 &&
    5223          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5224          44 :         MI->getOperand(2).isImm() &&
    5225          11 :         MI->getOperand(2).getImm() == 3) {
    5226             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5227             :       AsmString = "tl $\x02";
    5228             :       break;
    5229             :     }
    5230          21 :     if (MI->getNumOperands() == 3 &&
    5231          42 :         MI->getOperand(0).isReg() &&
    5232          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5233          63 :         MI->getOperand(2).isImm() &&
    5234          21 :         MI->getOperand(2).getImm() == 3) {
    5235             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5236             :       AsmString = "tl $\x01 + $\x02";
    5237             :       break;
    5238             :     }
    5239          20 :     if (MI->getNumOperands() == 3 &&
    5240          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5241          40 :         MI->getOperand(2).isImm() &&
    5242          10 :         MI->getOperand(2).getImm() == 12) {
    5243             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5244             :       AsmString = "tgu $\x02";
    5245             :       break;
    5246             :     }
    5247          19 :     if (MI->getNumOperands() == 3 &&
    5248          38 :         MI->getOperand(0).isReg() &&
    5249          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5250          57 :         MI->getOperand(2).isImm() &&
    5251          19 :         MI->getOperand(2).getImm() == 12) {
    5252             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5253             :       AsmString = "tgu $\x01 + $\x02";
    5254             :       break;
    5255             :     }
    5256          17 :     if (MI->getNumOperands() == 3 &&
    5257          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5258          35 :         MI->getOperand(2).isImm() &&
    5259           9 :         MI->getOperand(2).getImm() == 4) {
    5260             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5261             :       AsmString = "tleu $\x02";
    5262             :       break;
    5263             :     }
    5264          16 :     if (MI->getNumOperands() == 3 &&
    5265          32 :         MI->getOperand(0).isReg() &&
    5266          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5267          48 :         MI->getOperand(2).isImm() &&
    5268          16 :         MI->getOperand(2).getImm() == 4) {
    5269             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5270             :       AsmString = "tleu $\x01 + $\x02";
    5271             :       break;
    5272             :     }
    5273          15 :     if (MI->getNumOperands() == 3 &&
    5274          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5275          31 :         MI->getOperand(2).isImm() &&
    5276           8 :         MI->getOperand(2).getImm() == 13) {
    5277             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5278             :       AsmString = "tcc $\x02";
    5279             :       break;
    5280             :     }
    5281          13 :     if (MI->getNumOperands() == 3 &&
    5282          26 :         MI->getOperand(0).isReg() &&
    5283          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5284          39 :         MI->getOperand(2).isImm() &&
    5285          13 :         MI->getOperand(2).getImm() == 13) {
    5286             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5287             :       AsmString = "tcc $\x01 + $\x02";
    5288             :       break;
    5289             :     }
    5290          12 :     if (MI->getNumOperands() == 3 &&
    5291          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5292          24 :         MI->getOperand(2).isImm() &&
    5293           6 :         MI->getOperand(2).getImm() == 5) {
    5294             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5295             :       AsmString = "tcs $\x02";
    5296             :       break;
    5297             :     }
    5298          11 :     if (MI->getNumOperands() == 3 &&
    5299          22 :         MI->getOperand(0).isReg() &&
    5300          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5301          33 :         MI->getOperand(2).isImm() &&
    5302          11 :         MI->getOperand(2).getImm() == 5) {
    5303             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5304             :       AsmString = "tcs $\x01 + $\x02";
    5305             :       break;
    5306             :     }
    5307          10 :     if (MI->getNumOperands() == 3 &&
    5308          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5309          20 :         MI->getOperand(2).isImm() &&
    5310           5 :         MI->getOperand(2).getImm() == 14) {
    5311             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5312             :       AsmString = "tpos $\x02";
    5313             :       break;
    5314             :     }
    5315           9 :     if (MI->getNumOperands() == 3 &&
    5316          18 :         MI->getOperand(0).isReg() &&
    5317          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5318          27 :         MI->getOperand(2).isImm() &&
    5319           9 :         MI->getOperand(2).getImm() == 14) {
    5320             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5321             :       AsmString = "tpos $\x01 + $\x02";
    5322             :       break;
    5323             :     }
    5324           7 :     if (MI->getNumOperands() == 3 &&
    5325          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5326          15 :         MI->getOperand(2).isImm() &&
    5327           4 :         MI->getOperand(2).getImm() == 6) {
    5328             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5329             :       AsmString = "tneg $\x02";
    5330             :       break;
    5331             :     }
    5332           6 :     if (MI->getNumOperands() == 3 &&
    5333          12 :         MI->getOperand(0).isReg() &&
    5334          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5335          18 :         MI->getOperand(2).isImm() &&
    5336           6 :         MI->getOperand(2).getImm() == 6) {
    5337             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5338             :       AsmString = "tneg $\x01 + $\x02";
    5339             :       break;
    5340             :     }
    5341           5 :     if (MI->getNumOperands() == 3 &&
    5342           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5343          11 :         MI->getOperand(2).isImm() &&
    5344           3 :         MI->getOperand(2).getImm() == 15) {
    5345             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5346             :       AsmString = "tvc $\x02";
    5347             :       break;
    5348             :     }
    5349           3 :     if (MI->getNumOperands() == 3 &&
    5350           6 :         MI->getOperand(0).isReg() &&
    5351           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5352           9 :         MI->getOperand(2).isImm() &&
    5353           3 :         MI->getOperand(2).getImm() == 15) {
    5354             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    5355             :       AsmString = "tvc $\x01 + $\x02";
    5356             :       break;
    5357             :     }
    5358           2 :     if (MI->getNumOperands() == 3 &&
    5359           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5360           4 :         MI->getOperand(2).isImm() &&
    5361           1 :         MI->getOperand(2).getImm() == 7) {
    5362             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 1 })
    5363             :       AsmString = "tvs $\x02";
    5364             :       break;
    5365             :     }
    5366           1 :     if (MI->getNumOperands() == 3 &&
    5367           2 :         MI->getOperand(0).isReg() &&
    5368           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5369           3 :         MI->getOperand(2).isImm() &&
    5370           1 :         MI->getOperand(2).getImm() == 7) {
    5371             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    5372             :       AsmString = "tvs $\x01 + $\x02";
    5373             :       break;
    5374             :     }
    5375             :     return false;
    5376             :   case SP::TRAPrr:
    5377          44 :     if (MI->getNumOperands() == 3 &&
    5378          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5379          46 :         MI->getOperand(1).isReg() &&
    5380          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5381          90 :         MI->getOperand(2).isImm() &&
    5382          23 :         MI->getOperand(2).getImm() == 8) {
    5383             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 0 })
    5384             :       AsmString = "ta $\x02";
    5385             :       break;
    5386             :     }
    5387          42 :     if (MI->getNumOperands() == 3 &&
    5388          84 :         MI->getOperand(0).isReg() &&
    5389          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5390          84 :         MI->getOperand(1).isReg() &&
    5391          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5392         126 :         MI->getOperand(2).isImm() &&
    5393          42 :         MI->getOperand(2).getImm() == 8) {
    5394             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    5395             :       AsmString = "ta $\x01 + $\x02";
    5396             :       break;
    5397             :     }
    5398          40 :     if (MI->getNumOperands() == 3 &&
    5399          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5400          42 :         MI->getOperand(1).isReg() &&
    5401          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5402          82 :         MI->getOperand(2).isImm() &&
    5403          21 :         MI->getOperand(2).getImm() == 0) {
    5404             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 0 })
    5405             :       AsmString = "tn $\x02";
    5406             :       break;
    5407             :     }
    5408          38 :     if (MI->getNumOperands() == 3 &&
    5409          76 :         MI->getOperand(0).isReg() &&
    5410          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5411          76 :         MI->getOperand(1).isReg() &&
    5412          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5413         114 :         MI->getOperand(2).isImm() &&
    5414          38 :         MI->getOperand(2).getImm() == 0) {
    5415             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    5416             :       AsmString = "tn $\x01 + $\x02";
    5417             :       break;
    5418             :     }
    5419          37 :     if (MI->getNumOperands() == 3 &&
    5420          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5421          38 :         MI->getOperand(1).isReg() &&
    5422          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5423          75 :         MI->getOperand(2).isImm() &&
    5424          19 :         MI->getOperand(2).getImm() == 9) {
    5425             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 1 })
    5426             :       AsmString = "tne $\x02";
    5427             :       break;
    5428             :     }
    5429          35 :     if (MI->getNumOperands() == 3 &&
    5430          70 :         MI->getOperand(0).isReg() &&
    5431          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5432          70 :         MI->getOperand(1).isReg() &&
    5433          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5434         105 :         MI->getOperand(2).isImm() &&
    5435          35 :         MI->getOperand(2).getImm() == 9) {
    5436             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    5437             :       AsmString = "tne $\x01 + $\x02";
    5438             :       break;
    5439             :     }
    5440          34 :     if (MI->getNumOperands() == 3 &&
    5441          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5442          34 :         MI->getOperand(1).isReg() &&
    5443          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5444          68 :         MI->getOperand(2).isImm() &&
    5445          17 :         MI->getOperand(2).getImm() == 1) {
    5446             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 1 })
    5447             :       AsmString = "te $\x02";
    5448             :       break;
    5449             :     }
    5450          32 :     if (MI->getNumOperands() == 3 &&
    5451          64 :         MI->getOperand(0).isReg() &&
    5452          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5453          64 :         MI->getOperand(1).isReg() &&
    5454          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5455          96 :         MI->getOperand(2).isImm() &&
    5456          32 :         MI->getOperand(2).getImm() == 1) {
    5457             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    5458             :       AsmString = "te $\x01 + $\x02";
    5459             :       break;
    5460             :     }
    5461          30 :     if (MI->getNumOperands() == 3 &&
    5462          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5463          30 :         MI->getOperand(1).isReg() &&
    5464          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5465          60 :         MI->getOperand(2).isImm() &&
    5466          15 :         MI->getOperand(2).getImm() == 10) {
    5467             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 0 })
    5468             :       AsmString = "tg $\x02";
    5469             :       break;
    5470             :     }
    5471          29 :     if (MI->getNumOperands() == 3 &&
    5472          58 :         MI->getOperand(0).isReg() &&
    5473          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5474          58 :         MI->getOperand(1).isReg() &&
    5475          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5476          87 :         MI->getOperand(2).isImm() &&
    5477          29 :         MI->getOperand(2).getImm() == 10) {
    5478             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    5479             :       AsmString = "tg $\x01 + $\x02";
    5480             :       break;
    5481             :     }
    5482          28 :     if (MI->getNumOperands() == 3 &&
    5483          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5484          28 :         MI->getOperand(1).isReg() &&
    5485          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5486          56 :         MI->getOperand(2).isImm() &&
    5487          14 :         MI->getOperand(2).getImm() == 2) {
    5488             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 0 })
    5489             :       AsmString = "tle $\x02";
    5490             :       break;
    5491             :     }
    5492          26 :     if (MI->getNumOperands() == 3 &&
    5493          52 :         MI->getOperand(0).isReg() &&
    5494          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5495          52 :         MI->getOperand(1).isReg() &&
    5496          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5497          78 :         MI->getOperand(2).isImm() &&
    5498          26 :         MI->getOperand(2).getImm() == 2) {
    5499             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    5500             :       AsmString = "tle $\x01 + $\x02";
    5501             :       break;
    5502             :     }
    5503          25 :     if (MI->getNumOperands() == 3 &&
    5504          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5505          24 :         MI->getOperand(1).isReg() &&
    5506          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5507          49 :         MI->getOperand(2).isImm() &&
    5508          12 :         MI->getOperand(2).getImm() == 11) {
    5509             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 1 })
    5510             :       AsmString = "tge $\x02";
    5511             :       break;
    5512             :     }
    5513          24 :     if (MI->getNumOperands() == 3 &&
    5514          48 :         MI->getOperand(0).isReg() &&
    5515          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5516          48 :         MI->getOperand(1).isReg() &&
    5517          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5518          72 :         MI->getOperand(2).isImm() &&
    5519          24 :         MI->getOperand(2).getImm() == 11) {
    5520             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    5521             :       AsmString = "tge $\x01 + $\x02";
    5522             :       break;
    5523             :     }
    5524          23 :     if (MI->getNumOperands() == 3 &&
    5525          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5526          22 :         MI->getOperand(1).isReg() &&
    5527          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5528          45 :         MI->getOperand(2).isImm() &&
    5529          11 :         MI->getOperand(2).getImm() == 3) {
    5530             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 1 })
    5531             :       AsmString = "tl $\x02";
    5532             :       break;
    5533             :     }
    5534          22 :     if (MI->getNumOperands() == 3 &&
    5535          44 :         MI->getOperand(0).isReg() &&
    5536          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5537          44 :         MI->getOperand(1).isReg() &&
    5538          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5539          66 :         MI->getOperand(2).isImm() &&
    5540          22 :         MI->getOperand(2).getImm() == 3) {
    5541             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    5542             :       AsmString = "tl $\x01 + $\x02";
    5543             :       break;
    5544             :     }
    5545          20 :     if (MI->getNumOperands() == 3 &&
    5546          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5547          20 :         MI->getOperand(1).isReg() &&
    5548          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5549          40 :         MI->getOperand(2).isImm() &&
    5550          10 :         MI->getOperand(2).getImm() == 12) {
    5551             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 0 })
    5552             :       AsmString = "tgu $\x02";
    5553             :       break;
    5554             :     }
    5555          19 :     if (MI->getNumOperands() == 3 &&
    5556          38 :         MI->getOperand(0).isReg() &&
    5557          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5558          38 :         MI->getOperand(1).isReg() &&
    5559          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5560          57 :         MI->getOperand(2).isImm() &&
    5561          19 :         MI->getOperand(2).getImm() == 12) {
    5562             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    5563             :       AsmString = "tgu $\x01 + $\x02";
    5564             :       break;
    5565             :     }
    5566          18 :     if (MI->getNumOperands() == 3 &&
    5567          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5568          18 :         MI->getOperand(1).isReg() &&
    5569          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5570          36 :         MI->getOperand(2).isImm() &&
    5571           9 :         MI->getOperand(2).getImm() == 4) {
    5572             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 0 })
    5573             :       AsmString = "tleu $\x02";
    5574             :       break;
    5575             :     }
    5576          16 :     if (MI->getNumOperands() == 3 &&
    5577          32 :         MI->getOperand(0).isReg() &&
    5578          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5579          32 :         MI->getOperand(1).isReg() &&
    5580          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5581          48 :         MI->getOperand(2).isImm() &&
    5582          16 :         MI->getOperand(2).getImm() == 4) {
    5583             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    5584             :       AsmString = "tleu $\x01 + $\x02";
    5585             :       break;
    5586             :     }
    5587          15 :     if (MI->getNumOperands() == 3 &&
    5588          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5589          14 :         MI->getOperand(1).isReg() &&
    5590          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5591          29 :         MI->getOperand(2).isImm() &&
    5592           7 :         MI->getOperand(2).getImm() == 13) {
    5593             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 1 })
    5594             :       AsmString = "tcc $\x02";
    5595             :       break;
    5596             :     }
    5597          14 :     if (MI->getNumOperands() == 3 &&
    5598          28 :         MI->getOperand(0).isReg() &&
    5599          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5600          28 :         MI->getOperand(1).isReg() &&
    5601          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5602          42 :         MI->getOperand(2).isImm() &&
    5603          14 :         MI->getOperand(2).getImm() == 13) {
    5604             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    5605             :       AsmString = "tcc $\x01 + $\x02";
    5606             :       break;
    5607             :     }
    5608          13 :     if (MI->getNumOperands() == 3 &&
    5609          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5610          12 :         MI->getOperand(1).isReg() &&
    5611          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5612          25 :         MI->getOperand(2).isImm() &&
    5613           6 :         MI->getOperand(2).getImm() == 5) {
    5614             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 1 })
    5615             :       AsmString = "tcs $\x02";
    5616             :       break;
    5617             :     }
    5618          12 :     if (MI->getNumOperands() == 3 &&
    5619          24 :         MI->getOperand(0).isReg() &&
    5620          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5621          24 :         MI->getOperand(1).isReg() &&
    5622          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5623          36 :         MI->getOperand(2).isImm() &&
    5624          12 :         MI->getOperand(2).getImm() == 5) {
    5625             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5626             :       AsmString = "tcs $\x01 + $\x02";
    5627             :       break;
    5628             :     }
    5629          10 :     if (MI->getNumOperands() == 3 &&
    5630          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5631          10 :         MI->getOperand(1).isReg() &&
    5632          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5633          20 :         MI->getOperand(2).isImm() &&
    5634           5 :         MI->getOperand(2).getImm() == 14) {
    5635             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 0 })
    5636             :       AsmString = "tpos $\x02";
    5637             :       break;
    5638             :     }
    5639           9 :     if (MI->getNumOperands() == 3 &&
    5640          18 :         MI->getOperand(0).isReg() &&
    5641          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5642          18 :         MI->getOperand(1).isReg() &&
    5643          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5644          27 :         MI->getOperand(2).isImm() &&
    5645           9 :         MI->getOperand(2).getImm() == 14) {
    5646             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5647             :       AsmString = "tpos $\x01 + $\x02";
    5648             :       break;
    5649             :     }
    5650           8 :     if (MI->getNumOperands() == 3 &&
    5651          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5652           8 :         MI->getOperand(1).isReg() &&
    5653           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5654          16 :         MI->getOperand(2).isImm() &&
    5655           4 :         MI->getOperand(2).getImm() == 6) {
    5656             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 0 })
    5657             :       AsmString = "tneg $\x02";
    5658             :       break;
    5659             :     }
    5660           6 :     if (MI->getNumOperands() == 3 &&
    5661          12 :         MI->getOperand(0).isReg() &&
    5662          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5663          12 :         MI->getOperand(1).isReg() &&
    5664          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5665          18 :         MI->getOperand(2).isImm() &&
    5666           6 :         MI->getOperand(2).getImm() == 6) {
    5667             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5668             :       AsmString = "tneg $\x01 + $\x02";
    5669             :       break;
    5670             :     }
    5671           5 :     if (MI->getNumOperands() == 3 &&
    5672           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5673           4 :         MI->getOperand(1).isReg() &&
    5674           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5675           9 :         MI->getOperand(2).isImm() &&
    5676           2 :         MI->getOperand(2).getImm() == 15) {
    5677             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 1 })
    5678             :       AsmString = "tvc $\x02";
    5679             :       break;
    5680             :     }
    5681           4 :     if (MI->getNumOperands() == 3 &&
    5682           8 :         MI->getOperand(0).isReg() &&
    5683           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5684           8 :         MI->getOperand(1).isReg() &&
    5685           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5686          12 :         MI->getOperand(2).isImm() &&
    5687           4 :         MI->getOperand(2).getImm() == 15) {
    5688             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5689             :       AsmString = "tvc $\x01 + $\x02";
    5690             :       break;
    5691             :     }
    5692           3 :     if (MI->getNumOperands() == 3 &&
    5693           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5694           2 :         MI->getOperand(1).isReg() &&
    5695           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5696           5 :         MI->getOperand(2).isImm() &&
    5697           1 :         MI->getOperand(2).getImm() == 7) {
    5698             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 1 })
    5699             :       AsmString = "tvs $\x02";
    5700             :       break;
    5701             :     }
    5702           2 :     if (MI->getNumOperands() == 3 &&
    5703           4 :         MI->getOperand(0).isReg() &&
    5704           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5705           4 :         MI->getOperand(1).isReg() &&
    5706           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5707           6 :         MI->getOperand(2).isImm() &&
    5708           2 :         MI->getOperand(2).getImm() == 7) {
    5709             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5710             :       AsmString = "tvs $\x01 + $\x02";
    5711             :       break;
    5712             :     }
    5713             :     return false;
    5714             :   case SP::TXCCri:
    5715          41 :     if (MI->getNumOperands() == 3 &&
    5716          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5717          42 :         MI->getOperand(2).isImm() &&
    5718          64 :         MI->getOperand(2).getImm() == 8 &&
    5719             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5720             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5721             :       AsmString = "ta %xcc, $\x02";
    5722             :       break;
    5723             :     }
    5724          39 :     if (MI->getNumOperands() == 3 &&
    5725          78 :         MI->getOperand(0).isReg() &&
    5726          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5727          78 :         MI->getOperand(2).isImm() &&
    5728          80 :         MI->getOperand(2).getImm() == 8 &&
    5729             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5730             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5731             :       AsmString = "ta %xcc, $\x01 + $\x02";
    5732             :       break;
    5733             :     }
    5734          37 :     if (MI->getNumOperands() == 3 &&
    5735          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5736          38 :         MI->getOperand(2).isImm() &&
    5737          57 :         MI->getOperand(2).getImm() == 0 &&
    5738             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5739             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5740             :       AsmString = "tn %xcc, $\x02";
    5741             :       break;
    5742             :     }
    5743          36 :     if (MI->getNumOperands() == 3 &&
    5744          72 :         MI->getOperand(0).isReg() &&
    5745          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5746          72 :         MI->getOperand(2).isImm() &&
    5747          73 :         MI->getOperand(2).getImm() == 0 &&
    5748             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5749             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5750             :       AsmString = "tn %xcc, $\x01 + $\x02";
    5751             :       break;
    5752             :     }
    5753          35 :     if (MI->getNumOperands() == 3 &&
    5754          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5755          36 :         MI->getOperand(2).isImm() &&
    5756          55 :         MI->getOperand(2).getImm() == 9 &&
    5757             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5758             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5759             :       AsmString = "tne %xcc, $\x02";
    5760             :       break;
    5761             :     }
    5762          33 :     if (MI->getNumOperands() == 3 &&
    5763          66 :         MI->getOperand(0).isReg() &&
    5764          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5765          66 :         MI->getOperand(2).isImm() &&
    5766          67 :         MI->getOperand(2).getImm() == 9 &&
    5767             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5768             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5769             :       AsmString = "tne %xcc, $\x01 + $\x02";
    5770             :       break;
    5771             :     }
    5772          32 :     if (MI->getNumOperands() == 3 &&
    5773          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5774          32 :         MI->getOperand(2).isImm() &&
    5775          49 :         MI->getOperand(2).getImm() == 1 &&
    5776             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5777             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5778             :       AsmString = "te %xcc, $\x02";
    5779             :       break;
    5780             :     }
    5781          31 :     if (MI->getNumOperands() == 3 &&
    5782          62 :         MI->getOperand(0).isReg() &&
    5783          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5784          62 :         MI->getOperand(2).isImm() &&
    5785          63 :         MI->getOperand(2).getImm() == 1 &&
    5786             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5787             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5788             :       AsmString = "te %xcc, $\x01 + $\x02";
    5789             :       break;
    5790             :     }
    5791          30 :     if (MI->getNumOperands() == 3 &&
    5792          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5793          30 :         MI->getOperand(2).isImm() &&
    5794          46 :         MI->getOperand(2).getImm() == 10 &&
    5795             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5796             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5797             :       AsmString = "tg %xcc, $\x02";
    5798             :       break;
    5799             :     }
    5800          29 :     if (MI->getNumOperands() == 3 &&
    5801          58 :         MI->getOperand(0).isReg() &&
    5802          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5803          58 :         MI->getOperand(2).isImm() &&
    5804          60 :         MI->getOperand(2).getImm() == 10 &&
    5805             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5806             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5807             :       AsmString = "tg %xcc, $\x01 + $\x02";
    5808             :       break;
    5809             :     }
    5810          27 :     if (MI->getNumOperands() == 3 &&
    5811          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5812          28 :         MI->getOperand(2).isImm() &&
    5813          42 :         MI->getOperand(2).getImm() == 2 &&
    5814             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5815             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5816             :       AsmString = "tle %xcc, $\x02";
    5817             :       break;
    5818             :     }
    5819          26 :     if (MI->getNumOperands() == 3 &&
    5820          52 :         MI->getOperand(0).isReg() &&
    5821          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5822          52 :         MI->getOperand(2).isImm() &&
    5823          53 :         MI->getOperand(2).getImm() == 2 &&
    5824             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5825             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5826             :       AsmString = "tle %xcc, $\x01 + $\x02";
    5827             :       break;
    5828             :     }
    5829          25 :     if (MI->getNumOperands() == 3 &&
    5830          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5831          26 :         MI->getOperand(2).isImm() &&
    5832          40 :         MI->getOperand(2).getImm() == 11 &&
    5833             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5834             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5835             :       AsmString = "tge %xcc, $\x02";
    5836             :       break;
    5837             :     }
    5838          23 :     if (MI->getNumOperands() == 3 &&
    5839          46 :         MI->getOperand(0).isReg() &&
    5840          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5841          46 :         MI->getOperand(2).isImm() &&
    5842          47 :         MI->getOperand(2).getImm() == 11 &&
    5843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5844             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5845             :       AsmString = "tge %xcc, $\x01 + $\x02";
    5846             :       break;
    5847             :     }
    5848          22 :     if (MI->getNumOperands() == 3 &&
    5849          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5850          22 :         MI->getOperand(2).isImm() &&
    5851          34 :         MI->getOperand(2).getImm() == 3 &&
    5852             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5853             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5854             :       AsmString = "tl %xcc, $\x02";
    5855             :       break;
    5856             :     }
    5857          21 :     if (MI->getNumOperands() == 3 &&
    5858          42 :         MI->getOperand(0).isReg() &&
    5859          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5860          42 :         MI->getOperand(2).isImm() &&
    5861          43 :         MI->getOperand(2).getImm() == 3 &&
    5862             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5863             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5864             :       AsmString = "tl %xcc, $\x01 + $\x02";
    5865             :       break;
    5866             :     }
    5867          20 :     if (MI->getNumOperands() == 3 &&
    5868          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5869          20 :         MI->getOperand(2).isImm() &&
    5870          31 :         MI->getOperand(2).getImm() == 12 &&
    5871             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5872             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5873             :       AsmString = "tgu %xcc, $\x02";
    5874             :       break;
    5875             :     }
    5876          19 :     if (MI->getNumOperands() == 3 &&
    5877          38 :         MI->getOperand(0).isReg() &&
    5878          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5879          38 :         MI->getOperand(2).isImm() &&
    5880          40 :         MI->getOperand(2).getImm() == 12 &&
    5881             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5882             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5883             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    5884             :       break;
    5885             :     }
    5886          17 :     if (MI->getNumOperands() == 3 &&
    5887          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5888          18 :         MI->getOperand(2).isImm() &&
    5889          27 :         MI->getOperand(2).getImm() == 4 &&
    5890             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5891             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5892             :       AsmString = "tleu %xcc, $\x02";
    5893             :       break;
    5894             :     }
    5895          16 :     if (MI->getNumOperands() == 3 &&
    5896          32 :         MI->getOperand(0).isReg() &&
    5897          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5898          32 :         MI->getOperand(2).isImm() &&
    5899          33 :         MI->getOperand(2).getImm() == 4 &&
    5900             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5901             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5902             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    5903             :       break;
    5904             :     }
    5905          15 :     if (MI->getNumOperands() == 3 &&
    5906          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5907          16 :         MI->getOperand(2).isImm() &&
    5908          25 :         MI->getOperand(2).getImm() == 13 &&
    5909             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5910             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5911             :       AsmString = "tcc %xcc, $\x02";
    5912             :       break;
    5913             :     }
    5914          13 :     if (MI->getNumOperands() == 3 &&
    5915          26 :         MI->getOperand(0).isReg() &&
    5916          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5917          26 :         MI->getOperand(2).isImm() &&
    5918          27 :         MI->getOperand(2).getImm() == 13 &&
    5919             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5920             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5921             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    5922             :       break;
    5923             :     }
    5924          12 :     if (MI->getNumOperands() == 3 &&
    5925          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5926          12 :         MI->getOperand(2).isImm() &&
    5927          19 :         MI->getOperand(2).getImm() == 5 &&
    5928             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5929             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5930             :       AsmString = "tcs %xcc, $\x02";
    5931             :       break;
    5932             :     }
    5933          11 :     if (MI->getNumOperands() == 3 &&
    5934          22 :         MI->getOperand(0).isReg() &&
    5935          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5936          22 :         MI->getOperand(2).isImm() &&
    5937          23 :         MI->getOperand(2).getImm() == 5 &&
    5938             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5939             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5940             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    5941             :       break;
    5942             :     }
    5943          10 :     if (MI->getNumOperands() == 3 &&
    5944          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5945          10 :         MI->getOperand(2).isImm() &&
    5946          16 :         MI->getOperand(2).getImm() == 14 &&
    5947             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5948             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5949             :       AsmString = "tpos %xcc, $\x02";
    5950             :       break;
    5951             :     }
    5952           9 :     if (MI->getNumOperands() == 3 &&
    5953          18 :         MI->getOperand(0).isReg() &&
    5954          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5955          18 :         MI->getOperand(2).isImm() &&
    5956          20 :         MI->getOperand(2).getImm() == 14 &&
    5957             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5958             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5959             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    5960             :       break;
    5961             :     }
    5962           7 :     if (MI->getNumOperands() == 3 &&
    5963          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5964           8 :         MI->getOperand(2).isImm() &&
    5965          12 :         MI->getOperand(2).getImm() == 6 &&
    5966             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5967             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5968             :       AsmString = "tneg %xcc, $\x02";
    5969             :       break;
    5970             :     }
    5971           6 :     if (MI->getNumOperands() == 3 &&
    5972          12 :         MI->getOperand(0).isReg() &&
    5973          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5974          12 :         MI->getOperand(2).isImm() &&
    5975          13 :         MI->getOperand(2).getImm() == 6 &&
    5976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5977             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5978             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    5979             :       break;
    5980             :     }
    5981           5 :     if (MI->getNumOperands() == 3 &&
    5982           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5983           6 :         MI->getOperand(2).isImm() &&
    5984          10 :         MI->getOperand(2).getImm() == 15 &&
    5985             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5986             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5987             :       AsmString = "tvc %xcc, $\x02";
    5988             :       break;
    5989             :     }
    5990           3 :     if (MI->getNumOperands() == 3 &&
    5991           6 :         MI->getOperand(0).isReg() &&
    5992           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5993           6 :         MI->getOperand(2).isImm() &&
    5994           7 :         MI->getOperand(2).getImm() == 15 &&
    5995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5996             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    5997             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    5998             :       break;
    5999             :     }
    6000           2 :     if (MI->getNumOperands() == 3 &&
    6001           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6002           2 :         MI->getOperand(2).isImm() &&
    6003           4 :         MI->getOperand(2).getImm() == 7 &&
    6004             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6005             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    6006             :       AsmString = "tvs %xcc, $\x02";
    6007             :       break;
    6008             :     }
    6009           1 :     if (MI->getNumOperands() == 3 &&
    6010           2 :         MI->getOperand(0).isReg() &&
    6011           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6012           2 :         MI->getOperand(2).isImm() &&
    6013           3 :         MI->getOperand(2).getImm() == 7 &&
    6014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6015             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    6016             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6017             :       break;
    6018             :     }
    6019             :     return false;
    6020             :   case SP::TXCCrr:
    6021          44 :     if (MI->getNumOperands() == 3 &&
    6022          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6023          46 :         MI->getOperand(1).isReg() &&
    6024          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6025          46 :         MI->getOperand(2).isImm() &&
    6026          69 :         MI->getOperand(2).getImm() == 8 &&
    6027             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6028             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    6029             :       AsmString = "ta %xcc, $\x02";
    6030             :       break;
    6031             :     }
    6032          42 :     if (MI->getNumOperands() == 3 &&
    6033          84 :         MI->getOperand(0).isReg() &&
    6034          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6035          84 :         MI->getOperand(1).isReg() &&
    6036          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6037          84 :         MI->getOperand(2).isImm() &&
    6038          86 :         MI->getOperand(2).getImm() == 8 &&
    6039             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6040             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    6041             :       AsmString = "ta %xcc, $\x01 + $\x02";
    6042             :       break;
    6043             :     }
    6044          40 :     if (MI->getNumOperands() == 3 &&
    6045          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6046          42 :         MI->getOperand(1).isReg() &&
    6047          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6048          42 :         MI->getOperand(2).isImm() &&
    6049          63 :         MI->getOperand(2).getImm() == 0 &&
    6050             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6051             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    6052             :       AsmString = "tn %xcc, $\x02";
    6053             :       break;
    6054             :     }
    6055          38 :     if (MI->getNumOperands() == 3 &&
    6056          76 :         MI->getOperand(0).isReg() &&
    6057          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6058          76 :         MI->getOperand(1).isReg() &&
    6059          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6060          76 :         MI->getOperand(2).isImm() &&
    6061          77 :         MI->getOperand(2).getImm() == 0 &&
    6062             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6063             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    6064             :       AsmString = "tn %xcc, $\x01 + $\x02";
    6065             :       break;
    6066             :     }
    6067          37 :     if (MI->getNumOperands() == 3 &&
    6068          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6069          38 :         MI->getOperand(1).isReg() &&
    6070          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6071          38 :         MI->getOperand(2).isImm() &&
    6072          58 :         MI->getOperand(2).getImm() == 9 &&
    6073             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6074             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    6075             :       AsmString = "tne %xcc, $\x02";
    6076             :       break;
    6077             :     }
    6078          35 :     if (MI->getNumOperands() == 3 &&
    6079          70 :         MI->getOperand(0).isReg() &&
    6080          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6081          70 :         MI->getOperand(1).isReg() &&
    6082          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6083          70 :         MI->getOperand(2).isImm() &&
    6084          71 :         MI->getOperand(2).getImm() == 9 &&
    6085             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6086             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    6087             :       AsmString = "tne %xcc, $\x01 + $\x02";
    6088             :       break;
    6089             :     }
    6090          34 :     if (MI->getNumOperands() == 3 &&
    6091          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6092          34 :         MI->getOperand(1).isReg() &&
    6093          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6094          34 :         MI->getOperand(2).isImm() &&
    6095          53 :         MI->getOperand(2).getImm() == 1 &&
    6096             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6097             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    6098             :       AsmString = "te %xcc, $\x02";
    6099             :       break;
    6100             :     }
    6101          32 :     if (MI->getNumOperands() == 3 &&
    6102          64 :         MI->getOperand(0).isReg() &&
    6103          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6104          64 :         MI->getOperand(1).isReg() &&
    6105          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6106          64 :         MI->getOperand(2).isImm() &&
    6107          66 :         MI->getOperand(2).getImm() == 1 &&
    6108             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6109             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    6110             :       AsmString = "te %xcc, $\x01 + $\x02";
    6111             :       break;
    6112             :     }
    6113          30 :     if (MI->getNumOperands() == 3 &&
    6114          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6115          30 :         MI->getOperand(1).isReg() &&
    6116          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6117          30 :         MI->getOperand(2).isImm() &&
    6118          46 :         MI->getOperand(2).getImm() == 10 &&
    6119             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6120             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    6121             :       AsmString = "tg %xcc, $\x02";
    6122             :       break;
    6123             :     }
    6124          29 :     if (MI->getNumOperands() == 3 &&
    6125          58 :         MI->getOperand(0).isReg() &&
    6126          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6127          58 :         MI->getOperand(1).isReg() &&
    6128          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6129          58 :         MI->getOperand(2).isImm() &&
    6130          59 :         MI->getOperand(2).getImm() == 10 &&
    6131             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6132             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    6133             :       AsmString = "tg %xcc, $\x01 + $\x02";
    6134             :       break;
    6135             :     }
    6136          28 :     if (MI->getNumOperands() == 3 &&
    6137          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6138          28 :         MI->getOperand(1).isReg() &&
    6139          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6140          28 :         MI->getOperand(2).isImm() &&
    6141          44 :         MI->getOperand(2).getImm() == 2 &&
    6142             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6143             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    6144             :       AsmString = "tle %xcc, $\x02";
    6145             :       break;
    6146             :     }
    6147          26 :     if (MI->getNumOperands() == 3 &&
    6148          52 :         MI->getOperand(0).isReg() &&
    6149          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6150          52 :         MI->getOperand(1).isReg() &&
    6151          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6152          52 :         MI->getOperand(2).isImm() &&
    6153          53 :         MI->getOperand(2).getImm() == 2 &&
    6154             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6155             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    6156             :       AsmString = "tle %xcc, $\x01 + $\x02";
    6157             :       break;
    6158             :     }
    6159          25 :     if (MI->getNumOperands() == 3 &&
    6160          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6161          24 :         MI->getOperand(1).isReg() &&
    6162          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6163          24 :         MI->getOperand(2).isImm() &&
    6164          38 :         MI->getOperand(2).getImm() == 11 &&
    6165             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6166             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    6167             :       AsmString = "tge %xcc, $\x02";
    6168             :       break;
    6169             :     }
    6170          24 :     if (MI->getNumOperands() == 3 &&
    6171          48 :         MI->getOperand(0).isReg() &&
    6172          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6173          48 :         MI->getOperand(1).isReg() &&
    6174          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6175          48 :         MI->getOperand(2).isImm() &&
    6176          49 :         MI->getOperand(2).getImm() == 11 &&
    6177             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6178             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    6179             :       AsmString = "tge %xcc, $\x01 + $\x02";
    6180             :       break;
    6181             :     }
    6182          23 :     if (MI->getNumOperands() == 3 &&
    6183          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6184          22 :         MI->getOperand(1).isReg() &&
    6185          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6186          22 :         MI->getOperand(2).isImm() &&
    6187          35 :         MI->getOperand(2).getImm() == 3 &&
    6188             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6189             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    6190             :       AsmString = "tl %xcc, $\x02";
    6191             :       break;
    6192             :     }
    6193          22 :     if (MI->getNumOperands() == 3 &&
    6194          44 :         MI->getOperand(0).isReg() &&
    6195          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6196          44 :         MI->getOperand(1).isReg() &&
    6197          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6198          44 :         MI->getOperand(2).isImm() &&
    6199          46 :         MI->getOperand(2).getImm() == 3 &&
    6200             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6201             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    6202             :       AsmString = "tl %xcc, $\x01 + $\x02";
    6203             :       break;
    6204             :     }
    6205          20 :     if (MI->getNumOperands() == 3 &&
    6206          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6207          20 :         MI->getOperand(1).isReg() &&
    6208          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6209          20 :         MI->getOperand(2).isImm() &&
    6210          31 :         MI->getOperand(2).getImm() == 12 &&
    6211             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6212             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    6213             :       AsmString = "tgu %xcc, $\x02";
    6214             :       break;
    6215             :     }
    6216          19 :     if (MI->getNumOperands() == 3 &&
    6217          38 :         MI->getOperand(0).isReg() &&
    6218          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6219          38 :         MI->getOperand(1).isReg() &&
    6220          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6221          38 :         MI->getOperand(2).isImm() &&
    6222          39 :         MI->getOperand(2).getImm() == 12 &&
    6223             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6224             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    6225             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    6226             :       break;
    6227             :     }
    6228          18 :     if (MI->getNumOperands() == 3 &&
    6229          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6230          18 :         MI->getOperand(1).isReg() &&
    6231          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6232          18 :         MI->getOperand(2).isImm() &&
    6233          29 :         MI->getOperand(2).getImm() == 4 &&
    6234             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6235             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    6236             :       AsmString = "tleu %xcc, $\x02";
    6237             :       break;
    6238             :     }
    6239          16 :     if (MI->getNumOperands() == 3 &&
    6240          32 :         MI->getOperand(0).isReg() &&
    6241          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6242          32 :         MI->getOperand(1).isReg() &&
    6243          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6244          32 :         MI->getOperand(2).isImm() &&
    6245          33 :         MI->getOperand(2).getImm() == 4 &&
    6246             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6247             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    6248             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    6249             :       break;
    6250             :     }
    6251          15 :     if (MI->getNumOperands() == 3 &&
    6252          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6253          14 :         MI->getOperand(1).isReg() &&
    6254          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6255          14 :         MI->getOperand(2).isImm() &&
    6256          23 :         MI->getOperand(2).getImm() == 13 &&
    6257             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6258             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    6259             :       AsmString = "tcc %xcc, $\x02";
    6260             :       break;
    6261             :     }
    6262          14 :     if (MI->getNumOperands() == 3 &&
    6263          28 :         MI->getOperand(0).isReg() &&
    6264          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6265          28 :         MI->getOperand(1).isReg() &&
    6266          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6267          28 :         MI->getOperand(2).isImm() &&
    6268          29 :         MI->getOperand(2).getImm() == 13 &&
    6269             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6270             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    6271             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    6272             :       break;
    6273             :     }
    6274          13 :     if (MI->getNumOperands() == 3 &&
    6275          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6276          12 :         MI->getOperand(1).isReg() &&
    6277          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6278          12 :         MI->getOperand(2).isImm() &&
    6279          20 :         MI->getOperand(2).getImm() == 5 &&
    6280             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6281             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    6282             :       AsmString = "tcs %xcc, $\x02";
    6283             :       break;
    6284             :     }
    6285          12 :     if (MI->getNumOperands() == 3 &&
    6286          24 :         MI->getOperand(0).isReg() &&
    6287          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6288          24 :         MI->getOperand(1).isReg() &&
    6289          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6290          24 :         MI->getOperand(2).isImm() &&
    6291          26 :         MI->getOperand(2).getImm() == 5 &&
    6292             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6293             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    6294             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    6295             :       break;
    6296             :     }
    6297          10 :     if (MI->getNumOperands() == 3 &&
    6298          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6299          10 :         MI->getOperand(1).isReg() &&
    6300          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6301          10 :         MI->getOperand(2).isImm() &&
    6302          16 :         MI->getOperand(2).getImm() == 14 &&
    6303             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6304             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    6305             :       AsmString = "tpos %xcc, $\x02";
    6306             :       break;
    6307             :     }
    6308           9 :     if (MI->getNumOperands() == 3 &&
    6309          18 :         MI->getOperand(0).isReg() &&
    6310          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6311          18 :         MI->getOperand(1).isReg() &&
    6312          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6313          18 :         MI->getOperand(2).isImm() &&
    6314          19 :         MI->getOperand(2).getImm() == 14 &&
    6315             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6316             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    6317             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    6318             :       break;
    6319             :     }
    6320           8 :     if (MI->getNumOperands() == 3 &&
    6321          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6322           8 :         MI->getOperand(1).isReg() &&
    6323           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6324           8 :         MI->getOperand(2).isImm() &&
    6325          14 :         MI->getOperand(2).getImm() == 6 &&
    6326             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6327             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    6328             :       AsmString = "tneg %xcc, $\x02";
    6329             :       break;
    6330             :     }
    6331           6 :     if (MI->getNumOperands() == 3 &&
    6332          12 :         MI->getOperand(0).isReg() &&
    6333          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6334          12 :         MI->getOperand(1).isReg() &&
    6335          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6336          12 :         MI->getOperand(2).isImm() &&
    6337          13 :         MI->getOperand(2).getImm() == 6 &&
    6338             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6339             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    6340             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    6341             :       break;
    6342             :     }
    6343           5 :     if (MI->getNumOperands() == 3 &&
    6344           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6345           4 :         MI->getOperand(1).isReg() &&
    6346           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6347           4 :         MI->getOperand(2).isImm() &&
    6348           8 :         MI->getOperand(2).getImm() == 15 &&
    6349             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6350             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    6351             :       AsmString = "tvc %xcc, $\x02";
    6352             :       break;
    6353             :     }
    6354           4 :     if (MI->getNumOperands() == 3 &&
    6355           8 :         MI->getOperand(0).isReg() &&
    6356           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6357           8 :         MI->getOperand(1).isReg() &&
    6358           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6359           8 :         MI->getOperand(2).isImm() &&
    6360           9 :         MI->getOperand(2).getImm() == 15 &&
    6361             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6362             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    6363             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6364             :       break;
    6365             :     }
    6366           3 :     if (MI->getNumOperands() == 3 &&
    6367           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6368           2 :         MI->getOperand(1).isReg() &&
    6369           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6370           2 :         MI->getOperand(2).isImm() &&
    6371           5 :         MI->getOperand(2).getImm() == 7 &&
    6372             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6373             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    6374             :       AsmString = "tvs %xcc, $\x02";
    6375             :       break;
    6376             :     }
    6377           2 :     if (MI->getNumOperands() == 3 &&
    6378           4 :         MI->getOperand(0).isReg() &&
    6379           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6380           4 :         MI->getOperand(1).isReg() &&
    6381           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6382           4 :         MI->getOperand(2).isImm() &&
    6383           6 :         MI->getOperand(2).getImm() == 7 &&
    6384             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6385             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    6386             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6387             :       break;
    6388             :     }
    6389             :     return false;
    6390             :   case SP::V9FCMPD:
    6391           4 :     if (MI->getNumOperands() == 3 &&
    6392           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6393           6 :         MI->getOperand(1).isReg() &&
    6394           6 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6395          10 :         MI->getOperand(2).isReg() &&
    6396           3 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6397             :       // (V9FCMPD FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6398             :       AsmString = "fcmpd $\x02, $\x03";
    6399             :       break;
    6400             :     }
    6401             :     return false;
    6402             :   case SP::V9FCMPED:
    6403           3 :     if (MI->getNumOperands() == 3 &&
    6404           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6405           4 :         MI->getOperand(1).isReg() &&
    6406           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6407           7 :         MI->getOperand(2).isReg() &&
    6408           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6409             :       // (V9FCMPED FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6410             :       AsmString = "fcmped $\x02, $\x03";
    6411             :       break;
    6412             :     }
    6413             :     return false;
    6414             :   case SP::V9FCMPEQ:
    6415           3 :     if (MI->getNumOperands() == 3 &&
    6416           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6417           4 :         MI->getOperand(1).isReg() &&
    6418           4 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6419           7 :         MI->getOperand(2).isReg() &&
    6420           2 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6421             :       // (V9FCMPEQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6422             :       AsmString = "fcmpeq $\x02, $\x03";
    6423             :       break;
    6424             :     }
    6425             :     return false;
    6426             :   case SP::V9FCMPES:
    6427           3 :     if (MI->getNumOperands() == 3 &&
    6428           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6429           4 :         MI->getOperand(1).isReg() &&
    6430           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6431           7 :         MI->getOperand(2).isReg() &&
    6432           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6433             :       // (V9FCMPES FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6434             :       AsmString = "fcmpes $\x02, $\x03";
    6435             :       break;
    6436             :     }
    6437             :     return false;
    6438             :   case SP::V9FCMPQ:
    6439           4 :     if (MI->getNumOperands() == 3 &&
    6440           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6441           6 :         MI->getOperand(1).isReg() &&
    6442           6 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6443          10 :         MI->getOperand(2).isReg() &&
    6444           3 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6445             :       // (V9FCMPQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6446             :       AsmString = "fcmpq $\x02, $\x03";
    6447             :       break;
    6448             :     }
    6449             :     return false;
    6450             :   case SP::V9FCMPS:
    6451           4 :     if (MI->getNumOperands() == 3 &&
    6452           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6453           6 :         MI->getOperand(1).isReg() &&
    6454           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6455          10 :         MI->getOperand(2).isReg() &&
    6456           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6457             :       // (V9FCMPS FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6458             :       AsmString = "fcmps $\x02, $\x03";
    6459             :       break;
    6460             :     }
    6461             :     return false;
    6462             :   case SP::V9FMOVD_FCC:
    6463           0 :     if (MI->getNumOperands() == 5 &&
    6464           0 :         MI->getOperand(0).isReg() &&
    6465           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6466           0 :         MI->getOperand(1).isReg() &&
    6467           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6468           0 :         MI->getOperand(2).isReg() &&
    6469           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6470           0 :         MI->getOperand(4).isImm() &&
    6471           0 :         MI->getOperand(4).getImm() == 8 &&
    6472             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6473             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 0 })
    6474             :       AsmString = "fmovda $\x02, $\x03, $\x01";
    6475             :       break;
    6476             :     }
    6477           0 :     if (MI->getNumOperands() == 5 &&
    6478           0 :         MI->getOperand(0).isReg() &&
    6479           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6480           0 :         MI->getOperand(1).isReg() &&
    6481           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6482           0 :         MI->getOperand(2).isReg() &&
    6483           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6484           0 :         MI->getOperand(4).isImm() &&
    6485           0 :         MI->getOperand(4).getImm() == 0 &&
    6486             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6487             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 0 })
    6488             :       AsmString = "fmovdn $\x02, $\x03, $\x01";
    6489             :       break;
    6490             :     }
    6491           0 :     if (MI->getNumOperands() == 5 &&
    6492           0 :         MI->getOperand(0).isReg() &&
    6493           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6494           0 :         MI->getOperand(1).isReg() &&
    6495           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6496           0 :         MI->getOperand(2).isReg() &&
    6497           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6498           0 :         MI->getOperand(4).isImm() &&
    6499           0 :         MI->getOperand(4).getImm() == 7 &&
    6500             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6501             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 1 })
    6502             :       AsmString = "fmovdu $\x02, $\x03, $\x01";
    6503             :       break;
    6504             :     }
    6505           0 :     if (MI->getNumOperands() == 5 &&
    6506           0 :         MI->getOperand(0).isReg() &&
    6507           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6508           0 :         MI->getOperand(1).isReg() &&
    6509           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6510           0 :         MI->getOperand(2).isReg() &&
    6511           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6512           0 :         MI->getOperand(4).isImm() &&
    6513           0 :         MI->getOperand(4).getImm() == 6 &&
    6514             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6515             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 0 })
    6516             :       AsmString = "fmovdg $\x02, $\x03, $\x01";
    6517             :       break;
    6518             :     }
    6519           0 :     if (MI->getNumOperands() == 5 &&
    6520           0 :         MI->getOperand(0).isReg() &&
    6521           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6522           0 :         MI->getOperand(1).isReg() &&
    6523           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6524           0 :         MI->getOperand(2).isReg() &&
    6525           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6526           0 :         MI->getOperand(4).isImm() &&
    6527           0 :         MI->getOperand(4).getImm() == 5 &&
    6528             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6529             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 1 })
    6530             :       AsmString = "fmovdug $\x02, $\x03, $\x01";
    6531             :       break;
    6532             :     }
    6533           0 :     if (MI->getNumOperands() == 5 &&
    6534           0 :         MI->getOperand(0).isReg() &&
    6535           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6536           0 :         MI->getOperand(1).isReg() &&
    6537           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6538           0 :         MI->getOperand(2).isReg() &&
    6539           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6540           0 :         MI->getOperand(4).isImm() &&
    6541           0 :         MI->getOperand(4).getImm() == 4 &&
    6542             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6543             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 0 })
    6544             :       AsmString = "fmovdl $\x02, $\x03, $\x01";
    6545             :       break;
    6546             :     }
    6547           0 :     if (MI->getNumOperands() == 5 &&
    6548           0 :         MI->getOperand(0).isReg() &&
    6549           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6550           0 :         MI->getOperand(1).isReg() &&
    6551           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6552           0 :         MI->getOperand(2).isReg() &&
    6553           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6554           0 :         MI->getOperand(4).isImm() &&
    6555           0 :         MI->getOperand(4).getImm() == 3 &&
    6556             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6557             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 1 })
    6558             :       AsmString = "fmovdul $\x02, $\x03, $\x01";
    6559             :       break;
    6560             :     }
    6561           0 :     if (MI->getNumOperands() == 5 &&
    6562           0 :         MI->getOperand(0).isReg() &&
    6563           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6564           0 :         MI->getOperand(1).isReg() &&
    6565           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6566           0 :         MI->getOperand(2).isReg() &&
    6567           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6568           0 :         MI->getOperand(4).isImm() &&
    6569           0 :         MI->getOperand(4).getImm() == 2 &&
    6570             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6571             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 0 })
    6572             :       AsmString = "fmovdlg $\x02, $\x03, $\x01";
    6573             :       break;
    6574             :     }
    6575           0 :     if (MI->getNumOperands() == 5 &&
    6576           0 :         MI->getOperand(0).isReg() &&
    6577           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6578           0 :         MI->getOperand(1).isReg() &&
    6579           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6580           0 :         MI->getOperand(2).isReg() &&
    6581           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6582           0 :         MI->getOperand(4).isImm() &&
    6583           0 :         MI->getOperand(4).getImm() == 1 &&
    6584             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6585             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 1 })
    6586             :       AsmString = "fmovdne $\x02, $\x03, $\x01";
    6587             :       break;
    6588             :     }
    6589           0 :     if (MI->getNumOperands() == 5 &&
    6590           0 :         MI->getOperand(0).isReg() &&
    6591           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6592           0 :         MI->getOperand(1).isReg() &&
    6593           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6594           0 :         MI->getOperand(2).isReg() &&
    6595           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6596           0 :         MI->getOperand(4).isImm() &&
    6597           0 :         MI->getOperand(4).getImm() == 9 &&
    6598             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6599             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 1 })
    6600             :       AsmString = "fmovde $\x02, $\x03, $\x01";
    6601             :       break;
    6602             :     }
    6603           0 :     if (MI->getNumOperands() == 5 &&
    6604           0 :         MI->getOperand(0).isReg() &&
    6605           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6606           0 :         MI->getOperand(1).isReg() &&
    6607           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6608           0 :         MI->getOperand(2).isReg() &&
    6609           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6610           0 :         MI->getOperand(4).isImm() &&
    6611           0 :         MI->getOperand(4).getImm() == 10 &&
    6612             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6613             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 0 })
    6614             :       AsmString = "fmovdue $\x02, $\x03, $\x01";
    6615             :       break;
    6616             :     }
    6617           0 :     if (MI->getNumOperands() == 5 &&
    6618           0 :         MI->getOperand(0).isReg() &&
    6619           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6620           0 :         MI->getOperand(1).isReg() &&
    6621           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6622           0 :         MI->getOperand(2).isReg() &&
    6623           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6624           0 :         MI->getOperand(4).isImm() &&
    6625           0 :         MI->getOperand(4).getImm() == 11 &&
    6626             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6627             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 1 })
    6628             :       AsmString = "fmovdge $\x02, $\x03, $\x01";
    6629             :       break;
    6630             :     }
    6631           0 :     if (MI->getNumOperands() == 5 &&
    6632           0 :         MI->getOperand(0).isReg() &&
    6633           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6634           0 :         MI->getOperand(1).isReg() &&
    6635           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6636           0 :         MI->getOperand(2).isReg() &&
    6637           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6638           0 :         MI->getOperand(4).isImm() &&
    6639           0 :         MI->getOperand(4).getImm() == 12 &&
    6640             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6641             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 0 })
    6642             :       AsmString = "fmovduge $\x02, $\x03, $\x01";
    6643             :       break;
    6644             :     }
    6645           0 :     if (MI->getNumOperands() == 5 &&
    6646           0 :         MI->getOperand(0).isReg() &&
    6647           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6648           0 :         MI->getOperand(1).isReg() &&
    6649           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6650           0 :         MI->getOperand(2).isReg() &&
    6651           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6652           0 :         MI->getOperand(4).isImm() &&
    6653           0 :         MI->getOperand(4).getImm() == 13 &&
    6654             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6655             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 1 })
    6656             :       AsmString = "fmovdle $\x02, $\x03, $\x01";
    6657             :       break;
    6658             :     }
    6659           0 :     if (MI->getNumOperands() == 5 &&
    6660           0 :         MI->getOperand(0).isReg() &&
    6661           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6662           0 :         MI->getOperand(1).isReg() &&
    6663           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6664           0 :         MI->getOperand(2).isReg() &&
    6665           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6666           0 :         MI->getOperand(4).isImm() &&
    6667           0 :         MI->getOperand(4).getImm() == 14 &&
    6668             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6669             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 0 })
    6670             :       AsmString = "fmovdule $\x02, $\x03, $\x01";
    6671             :       break;
    6672             :     }
    6673           0 :     if (MI->getNumOperands() == 5 &&
    6674           0 :         MI->getOperand(0).isReg() &&
    6675           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6676           0 :         MI->getOperand(1).isReg() &&
    6677           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6678           0 :         MI->getOperand(2).isReg() &&
    6679           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6680           0 :         MI->getOperand(4).isImm() &&
    6681           0 :         MI->getOperand(4).getImm() == 15 &&
    6682             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6683             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 1 })
    6684             :       AsmString = "fmovdo $\x02, $\x03, $\x01";
    6685             :       break;
    6686             :     }
    6687             :     return false;
    6688             :   case SP::V9FMOVQ_FCC:
    6689           0 :     if (MI->getNumOperands() == 5 &&
    6690           0 :         MI->getOperand(0).isReg() &&
    6691           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6692           0 :         MI->getOperand(1).isReg() &&
    6693           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6694           0 :         MI->getOperand(2).isReg() &&
    6695           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6696           0 :         MI->getOperand(4).isImm() &&
    6697           0 :         MI->getOperand(4).getImm() == 8 &&
    6698             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6699             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 0 })
    6700             :       AsmString = "fmovqa $\x02, $\x03, $\x01";
    6701             :       break;
    6702             :     }
    6703           0 :     if (MI->getNumOperands() == 5 &&
    6704           0 :         MI->getOperand(0).isReg() &&
    6705           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6706           0 :         MI->getOperand(1).isReg() &&
    6707           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6708           0 :         MI->getOperand(2).isReg() &&
    6709           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6710           0 :         MI->getOperand(4).isImm() &&
    6711           0 :         MI->getOperand(4).getImm() == 0 &&
    6712             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6713             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 0 })
    6714             :       AsmString = "fmovqn $\x02, $\x03, $\x01";
    6715             :       break;
    6716             :     }
    6717           0 :     if (MI->getNumOperands() == 5 &&
    6718           0 :         MI->getOperand(0).isReg() &&
    6719           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6720           0 :         MI->getOperand(1).isReg() &&
    6721           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6722           0 :         MI->getOperand(2).isReg() &&
    6723           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6724           0 :         MI->getOperand(4).isImm() &&
    6725           0 :         MI->getOperand(4).getImm() == 7 &&
    6726             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6727             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 1 })
    6728             :       AsmString = "fmovqu $\x02, $\x03, $\x01";
    6729             :       break;
    6730             :     }
    6731           0 :     if (MI->getNumOperands() == 5 &&
    6732           0 :         MI->getOperand(0).isReg() &&
    6733           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6734           0 :         MI->getOperand(1).isReg() &&
    6735           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6736           0 :         MI->getOperand(2).isReg() &&
    6737           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6738           0 :         MI->getOperand(4).isImm() &&
    6739           0 :         MI->getOperand(4).getImm() == 6 &&
    6740             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6741             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 0 })
    6742             :       AsmString = "fmovqg $\x02, $\x03, $\x01";
    6743             :       break;
    6744             :     }
    6745           0 :     if (MI->getNumOperands() == 5 &&
    6746           0 :         MI->getOperand(0).isReg() &&
    6747           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6748           0 :         MI->getOperand(1).isReg() &&
    6749           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6750           0 :         MI->getOperand(2).isReg() &&
    6751           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6752           0 :         MI->getOperand(4).isImm() &&
    6753           0 :         MI->getOperand(4).getImm() == 5 &&
    6754             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6755             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 1 })
    6756             :       AsmString = "fmovqug $\x02, $\x03, $\x01";
    6757             :       break;
    6758             :     }
    6759           0 :     if (MI->getNumOperands() == 5 &&
    6760           0 :         MI->getOperand(0).isReg() &&
    6761           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6762           0 :         MI->getOperand(1).isReg() &&
    6763           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6764           0 :         MI->getOperand(2).isReg() &&
    6765           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6766           0 :         MI->getOperand(4).isImm() &&
    6767           0 :         MI->getOperand(4).getImm() == 4 &&
    6768             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6769             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 0 })
    6770             :       AsmString = "fmovql $\x02, $\x03, $\x01";
    6771             :       break;
    6772             :     }
    6773           0 :     if (MI->getNumOperands() == 5 &&
    6774           0 :         MI->getOperand(0).isReg() &&
    6775           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6776           0 :         MI->getOperand(1).isReg() &&
    6777           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6778           0 :         MI->getOperand(2).isReg() &&
    6779           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6780           0 :         MI->getOperand(4).isImm() &&
    6781           0 :         MI->getOperand(4).getImm() == 3 &&
    6782             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6783             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 1 })
    6784             :       AsmString = "fmovqul $\x02, $\x03, $\x01";
    6785             :       break;
    6786             :     }
    6787           0 :     if (MI->getNumOperands() == 5 &&
    6788           0 :         MI->getOperand(0).isReg() &&
    6789           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6790           0 :         MI->getOperand(1).isReg() &&
    6791           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6792           0 :         MI->getOperand(2).isReg() &&
    6793           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6794           0 :         MI->getOperand(4).isImm() &&
    6795           0 :         MI->getOperand(4).getImm() == 2 &&
    6796             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6797             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 0 })
    6798             :       AsmString = "fmovqlg $\x02, $\x03, $\x01";
    6799             :       break;
    6800             :     }
    6801           0 :     if (MI->getNumOperands() == 5 &&
    6802           0 :         MI->getOperand(0).isReg() &&
    6803           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6804           0 :         MI->getOperand(1).isReg() &&
    6805           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6806           0 :         MI->getOperand(2).isReg() &&
    6807           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6808           0 :         MI->getOperand(4).isImm() &&
    6809           0 :         MI->getOperand(4).getImm() == 1 &&
    6810             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6811             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 1 })
    6812             :       AsmString = "fmovqne $\x02, $\x03, $\x01";
    6813             :       break;
    6814             :     }
    6815           0 :     if (MI->getNumOperands() == 5 &&
    6816           0 :         MI->getOperand(0).isReg() &&
    6817           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6818           0 :         MI->getOperand(1).isReg() &&
    6819           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6820           0 :         MI->getOperand(2).isReg() &&
    6821           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6822           0 :         MI->getOperand(4).isImm() &&
    6823           0 :         MI->getOperand(4).getImm() == 9 &&
    6824             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6825             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 1 })
    6826             :       AsmString = "fmovqe $\x02, $\x03, $\x01";
    6827             :       break;
    6828             :     }
    6829           0 :     if (MI->getNumOperands() == 5 &&
    6830           0 :         MI->getOperand(0).isReg() &&
    6831           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6832           0 :         MI->getOperand(1).isReg() &&
    6833           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6834           0 :         MI->getOperand(2).isReg() &&
    6835           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6836           0 :         MI->getOperand(4).isImm() &&
    6837           0 :         MI->getOperand(4).getImm() == 10 &&
    6838             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6839             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 0 })
    6840             :       AsmString = "fmovque $\x02, $\x03, $\x01";
    6841             :       break;
    6842             :     }
    6843           0 :     if (MI->getNumOperands() == 5 &&
    6844           0 :         MI->getOperand(0).isReg() &&
    6845           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6846           0 :         MI->getOperand(1).isReg() &&
    6847           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6848           0 :         MI->getOperand(2).isReg() &&
    6849           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6850           0 :         MI->getOperand(4).isImm() &&
    6851           0 :         MI->getOperand(4).getImm() == 11 &&
    6852             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6853             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 1 })
    6854             :       AsmString = "fmovqge $\x02, $\x03, $\x01";
    6855             :       break;
    6856             :     }
    6857           0 :     if (MI->getNumOperands() == 5 &&
    6858           0 :         MI->getOperand(0).isReg() &&
    6859           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6860           0 :         MI->getOperand(1).isReg() &&
    6861           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6862           0 :         MI->getOperand(2).isReg() &&
    6863           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6864           0 :         MI->getOperand(4).isImm() &&
    6865           0 :         MI->getOperand(4).getImm() == 12 &&
    6866             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6867             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 0 })
    6868             :       AsmString = "fmovquge $\x02, $\x03, $\x01";
    6869             :       break;
    6870             :     }
    6871           0 :     if (MI->getNumOperands() == 5 &&
    6872           0 :         MI->getOperand(0).isReg() &&
    6873           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6874           0 :         MI->getOperand(1).isReg() &&
    6875           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6876           0 :         MI->getOperand(2).isReg() &&
    6877           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6878           0 :         MI->getOperand(4).isImm() &&
    6879           0 :         MI->getOperand(4).getImm() == 13 &&
    6880             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6881             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 1 })
    6882             :       AsmString = "fmovqle $\x02, $\x03, $\x01";
    6883             :       break;
    6884             :     }
    6885           0 :     if (MI->getNumOperands() == 5 &&
    6886           0 :         MI->getOperand(0).isReg() &&
    6887           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6888           0 :         MI->getOperand(1).isReg() &&
    6889           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6890           0 :         MI->getOperand(2).isReg() &&
    6891           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6892           0 :         MI->getOperand(4).isImm() &&
    6893           0 :         MI->getOperand(4).getImm() == 14 &&
    6894             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6895             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 0 })
    6896             :       AsmString = "fmovqule $\x02, $\x03, $\x01";
    6897             :       break;
    6898             :     }
    6899           0 :     if (MI->getNumOperands() == 5 &&
    6900           0 :         MI->getOperand(0).isReg() &&
    6901           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6902           0 :         MI->getOperand(1).isReg() &&
    6903           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6904           0 :         MI->getOperand(2).isReg() &&
    6905           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6906           0 :         MI->getOperand(4).isImm() &&
    6907           0 :         MI->getOperand(4).getImm() == 15 &&
    6908             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6909             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 1 })
    6910             :       AsmString = "fmovqo $\x02, $\x03, $\x01";
    6911             :       break;
    6912             :     }
    6913             :     return false;
    6914             :   case SP::V9FMOVS_FCC:
    6915          15 :     if (MI->getNumOperands() == 5 &&
    6916          30 :         MI->getOperand(0).isReg() &&
    6917          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6918          30 :         MI->getOperand(1).isReg() &&
    6919          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6920          30 :         MI->getOperand(2).isReg() &&
    6921          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6922          30 :         MI->getOperand(4).isImm() &&
    6923          30 :         MI->getOperand(4).getImm() == 8 &&
    6924             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6925             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 0 })
    6926             :       AsmString = "fmovsa $\x02, $\x03, $\x01";
    6927             :       break;
    6928             :     }
    6929          15 :     if (MI->getNumOperands() == 5 &&
    6930          30 :         MI->getOperand(0).isReg() &&
    6931          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6932          30 :         MI->getOperand(1).isReg() &&
    6933          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6934          30 :         MI->getOperand(2).isReg() &&
    6935          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6936          30 :         MI->getOperand(4).isImm() &&
    6937          30 :         MI->getOperand(4).getImm() == 0 &&
    6938             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6939             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 0 })
    6940             :       AsmString = "fmovsn $\x02, $\x03, $\x01";
    6941             :       break;
    6942             :     }
    6943          15 :     if (MI->getNumOperands() == 5 &&
    6944          30 :         MI->getOperand(0).isReg() &&
    6945          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6946          30 :         MI->getOperand(1).isReg() &&
    6947          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6948          30 :         MI->getOperand(2).isReg() &&
    6949          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6950          30 :         MI->getOperand(4).isImm() &&
    6951          31 :         MI->getOperand(4).getImm() == 7 &&
    6952             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6953             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 1 })
    6954             :       AsmString = "fmovsu $\x02, $\x03, $\x01";
    6955             :       break;
    6956             :     }
    6957          14 :     if (MI->getNumOperands() == 5 &&
    6958          28 :         MI->getOperand(0).isReg() &&
    6959          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6960          28 :         MI->getOperand(1).isReg() &&
    6961          28 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6962          28 :         MI->getOperand(2).isReg() &&
    6963          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6964          28 :         MI->getOperand(4).isImm() &&
    6965          30 :         MI->getOperand(4).getImm() == 6 &&
    6966             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6967             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 0 })
    6968             :       AsmString = "fmovsg $\x02, $\x03, $\x01";
    6969             :       break;
    6970             :     }
    6971          12 :     if (MI->getNumOperands() == 5 &&
    6972          24 :         MI->getOperand(0).isReg() &&
    6973          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6974          24 :         MI->getOperand(1).isReg() &&
    6975          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6976          24 :         MI->getOperand(2).isReg() &&
    6977          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6978          24 :         MI->getOperand(4).isImm() &&
    6979          25 :         MI->getOperand(4).getImm() == 5 &&
    6980             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6981             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 1 })
    6982             :       AsmString = "fmovsug $\x02, $\x03, $\x01";
    6983             :       break;
    6984             :     }
    6985          11 :     if (MI->getNumOperands() == 5 &&
    6986          22 :         MI->getOperand(0).isReg() &&
    6987          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6988          22 :         MI->getOperand(1).isReg() &&
    6989          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6990          22 :         MI->getOperand(2).isReg() &&
    6991          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6992          22 :         MI->getOperand(4).isImm() &&
    6993          23 :         MI->getOperand(4).getImm() == 4 &&
    6994             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6995             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 0 })
    6996             :       AsmString = "fmovsl $\x02, $\x03, $\x01";
    6997             :       break;
    6998             :     }
    6999          10 :     if (MI->getNumOperands() == 5 &&
    7000          20 :         MI->getOperand(0).isReg() &&
    7001          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7002          20 :         MI->getOperand(1).isReg() &&
    7003          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7004          20 :         MI->getOperand(2).isReg() &&
    7005          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7006          20 :         MI->getOperand(4).isImm() &&
    7007          21 :         MI->getOperand(4).getImm() == 3 &&
    7008             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7009             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 1 })
    7010             :       AsmString = "fmovsul $\x02, $\x03, $\x01";
    7011             :       break;
    7012             :     }
    7013           9 :     if (MI->getNumOperands() == 5 &&
    7014          18 :         MI->getOperand(0).isReg() &&
    7015          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7016          18 :         MI->getOperand(1).isReg() &&
    7017          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7018          18 :         MI->getOperand(2).isReg() &&
    7019          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7020          18 :         MI->getOperand(4).isImm() &&
    7021          19 :         MI->getOperand(4).getImm() == 2 &&
    7022             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7023             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 0 })
    7024             :       AsmString = "fmovslg $\x02, $\x03, $\x01";
    7025             :       break;
    7026             :     }
    7027           8 :     if (MI->getNumOperands() == 5 &&
    7028          16 :         MI->getOperand(0).isReg() &&
    7029          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7030          16 :         MI->getOperand(1).isReg() &&
    7031          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7032          16 :         MI->getOperand(2).isReg() &&
    7033          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7034          16 :         MI->getOperand(4).isImm() &&
    7035          17 :         MI->getOperand(4).getImm() == 1 &&
    7036             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7037             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 1 })
    7038             :       AsmString = "fmovsne $\x02, $\x03, $\x01";
    7039             :       break;
    7040             :     }
    7041           7 :     if (MI->getNumOperands() == 5 &&
    7042          14 :         MI->getOperand(0).isReg() &&
    7043          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7044          14 :         MI->getOperand(1).isReg() &&
    7045          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7046          14 :         MI->getOperand(2).isReg() &&
    7047          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7048          14 :         MI->getOperand(4).isImm() &&
    7049          15 :         MI->getOperand(4).getImm() == 9 &&
    7050             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7051             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 1 })
    7052             :       AsmString = "fmovse $\x02, $\x03, $\x01";
    7053             :       break;
    7054             :     }
    7055           6 :     if (MI->getNumOperands() == 5 &&
    7056          12 :         MI->getOperand(0).isReg() &&
    7057          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7058          12 :         MI->getOperand(1).isReg() &&
    7059          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7060          12 :         MI->getOperand(2).isReg() &&
    7061          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7062          12 :         MI->getOperand(4).isImm() &&
    7063          13 :         MI->getOperand(4).getImm() == 10 &&
    7064             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7065             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 0 })
    7066             :       AsmString = "fmovsue $\x02, $\x03, $\x01";
    7067             :       break;
    7068             :     }
    7069           5 :     if (MI->getNumOperands() == 5 &&
    7070          10 :         MI->getOperand(0).isReg() &&
    7071          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7072          10 :         MI->getOperand(1).isReg() &&
    7073          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7074          10 :         MI->getOperand(2).isReg() &&
    7075          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7076          10 :         MI->getOperand(4).isImm() &&
    7077          11 :         MI->getOperand(4).getImm() == 11 &&
    7078             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7079             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 1 })
    7080             :       AsmString = "fmovsge $\x02, $\x03, $\x01";
    7081             :       break;
    7082             :     }
    7083           4 :     if (MI->getNumOperands() == 5 &&
    7084           8 :         MI->getOperand(0).isReg() &&
    7085           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7086           8 :         MI->getOperand(1).isReg() &&
    7087           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7088           8 :         MI->getOperand(2).isReg() &&
    7089           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7090           8 :         MI->getOperand(4).isImm() &&
    7091           9 :         MI->getOperand(4).getImm() == 12 &&
    7092             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7093             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 0 })
    7094             :       AsmString = "fmovsuge $\x02, $\x03, $\x01";
    7095             :       break;
    7096             :     }
    7097           3 :     if (MI->getNumOperands() == 5 &&
    7098           6 :         MI->getOperand(0).isReg() &&
    7099           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7100           6 :         MI->getOperand(1).isReg() &&
    7101           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7102           6 :         MI->getOperand(2).isReg() &&
    7103           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7104           6 :         MI->getOperand(4).isImm() &&
    7105           7 :         MI->getOperand(4).getImm() == 13 &&
    7106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7107             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 1 })
    7108             :       AsmString = "fmovsle $\x02, $\x03, $\x01";
    7109             :       break;
    7110             :     }
    7111           2 :     if (MI->getNumOperands() == 5 &&
    7112           4 :         MI->getOperand(0).isReg() &&
    7113           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7114           4 :         MI->getOperand(1).isReg() &&
    7115           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7116           4 :         MI->getOperand(2).isReg() &&
    7117           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7118           4 :         MI->getOperand(4).isImm() &&
    7119           5 :         MI->getOperand(4).getImm() == 14 &&
    7120             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7121             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 0 })
    7122             :       AsmString = "fmovsule $\x02, $\x03, $\x01";
    7123             :       break;
    7124             :     }
    7125           1 :     if (MI->getNumOperands() == 5 &&
    7126           2 :         MI->getOperand(0).isReg() &&
    7127           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7128           2 :         MI->getOperand(1).isReg() &&
    7129           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7130           2 :         MI->getOperand(2).isReg() &&
    7131           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7132           2 :         MI->getOperand(4).isImm() &&
    7133           3 :         MI->getOperand(4).getImm() == 15 &&
    7134             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7135             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 1 })
    7136             :       AsmString = "fmovso $\x02, $\x03, $\x01";
    7137             :       break;
    7138             :     }
    7139             :     return false;
    7140             :   case SP::V9MOVFCCri:
    7141           0 :     if (MI->getNumOperands() == 5 &&
    7142           0 :         MI->getOperand(0).isReg() &&
    7143           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7144           0 :         MI->getOperand(1).isReg() &&
    7145           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7146           0 :         MI->getOperand(4).isImm() &&
    7147           0 :         MI->getOperand(4).getImm() == 8 &&
    7148             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7149             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 0 })
    7150             :       AsmString = "mova $\x02, $\x03, $\x01";
    7151             :       break;
    7152             :     }
    7153           0 :     if (MI->getNumOperands() == 5 &&
    7154           0 :         MI->getOperand(0).isReg() &&
    7155           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7156           0 :         MI->getOperand(1).isReg() &&
    7157           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7158           0 :         MI->getOperand(4).isImm() &&
    7159           0 :         MI->getOperand(4).getImm() == 0 &&
    7160             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7161             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 0 })
    7162             :       AsmString = "movn $\x02, $\x03, $\x01";
    7163             :       break;
    7164             :     }
    7165           0 :     if (MI->getNumOperands() == 5 &&
    7166           0 :         MI->getOperand(0).isReg() &&
    7167           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7168           0 :         MI->getOperand(1).isReg() &&
    7169           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7170           0 :         MI->getOperand(4).isImm() &&
    7171           0 :         MI->getOperand(4).getImm() == 7 &&
    7172             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7173             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 1 })
    7174             :       AsmString = "movu $\x02, $\x03, $\x01";
    7175             :       break;
    7176             :     }
    7177           0 :     if (MI->getNumOperands() == 5 &&
    7178           0 :         MI->getOperand(0).isReg() &&
    7179           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7180           0 :         MI->getOperand(1).isReg() &&
    7181           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7182           0 :         MI->getOperand(4).isImm() &&
    7183           0 :         MI->getOperand(4).getImm() == 6 &&
    7184             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7185             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 0 })
    7186             :       AsmString = "movg $\x02, $\x03, $\x01";
    7187             :       break;
    7188             :     }
    7189           0 :     if (MI->getNumOperands() == 5 &&
    7190           0 :         MI->getOperand(0).isReg() &&
    7191           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7192           0 :         MI->getOperand(1).isReg() &&
    7193           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7194           0 :         MI->getOperand(4).isImm() &&
    7195           0 :         MI->getOperand(4).getImm() == 5 &&
    7196             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7197             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 1 })
    7198             :       AsmString = "movug $\x02, $\x03, $\x01";
    7199             :       break;
    7200             :     }
    7201           0 :     if (MI->getNumOperands() == 5 &&
    7202           0 :         MI->getOperand(0).isReg() &&
    7203           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7204           0 :         MI->getOperand(1).isReg() &&
    7205           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7206           0 :         MI->getOperand(4).isImm() &&
    7207           0 :         MI->getOperand(4).getImm() == 4 &&
    7208             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7209             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 0 })
    7210             :       AsmString = "movl $\x02, $\x03, $\x01";
    7211             :       break;
    7212             :     }
    7213           0 :     if (MI->getNumOperands() == 5 &&
    7214           0 :         MI->getOperand(0).isReg() &&
    7215           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7216           0 :         MI->getOperand(1).isReg() &&
    7217           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7218           0 :         MI->getOperand(4).isImm() &&
    7219           0 :         MI->getOperand(4).getImm() == 3 &&
    7220             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7221             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 1 })
    7222             :       AsmString = "movul $\x02, $\x03, $\x01";
    7223             :       break;
    7224             :     }
    7225           0 :     if (MI->getNumOperands() == 5 &&
    7226           0 :         MI->getOperand(0).isReg() &&
    7227           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7228           0 :         MI->getOperand(1).isReg() &&
    7229           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7230           0 :         MI->getOperand(4).isImm() &&
    7231           0 :         MI->getOperand(4).getImm() == 2 &&
    7232             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7233             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 0 })
    7234             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7235             :       break;
    7236             :     }
    7237           0 :     if (MI->getNumOperands() == 5 &&
    7238           0 :         MI->getOperand(0).isReg() &&
    7239           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7240           0 :         MI->getOperand(1).isReg() &&
    7241           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7242           0 :         MI->getOperand(4).isImm() &&
    7243           0 :         MI->getOperand(4).getImm() == 1 &&
    7244             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7245             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 1 })
    7246             :       AsmString = "movne $\x02, $\x03, $\x01";
    7247             :       break;
    7248             :     }
    7249           0 :     if (MI->getNumOperands() == 5 &&
    7250           0 :         MI->getOperand(0).isReg() &&
    7251           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7252           0 :         MI->getOperand(1).isReg() &&
    7253           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7254           0 :         MI->getOperand(4).isImm() &&
    7255           0 :         MI->getOperand(4).getImm() == 9 &&
    7256             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7257             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 1 })
    7258             :       AsmString = "move $\x02, $\x03, $\x01";
    7259             :       break;
    7260             :     }
    7261           0 :     if (MI->getNumOperands() == 5 &&
    7262           0 :         MI->getOperand(0).isReg() &&
    7263           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7264           0 :         MI->getOperand(1).isReg() &&
    7265           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7266           0 :         MI->getOperand(4).isImm() &&
    7267           0 :         MI->getOperand(4).getImm() == 10 &&
    7268             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7269             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 0 })
    7270             :       AsmString = "movue $\x02, $\x03, $\x01";
    7271             :       break;
    7272             :     }
    7273           0 :     if (MI->getNumOperands() == 5 &&
    7274           0 :         MI->getOperand(0).isReg() &&
    7275           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7276           0 :         MI->getOperand(1).isReg() &&
    7277           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7278           0 :         MI->getOperand(4).isImm() &&
    7279           0 :         MI->getOperand(4).getImm() == 11 &&
    7280             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7281             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 1 })
    7282             :       AsmString = "movge $\x02, $\x03, $\x01";
    7283             :       break;
    7284             :     }
    7285           0 :     if (MI->getNumOperands() == 5 &&
    7286           0 :         MI->getOperand(0).isReg() &&
    7287           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7288           0 :         MI->getOperand(1).isReg() &&
    7289           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7290           0 :         MI->getOperand(4).isImm() &&
    7291           0 :         MI->getOperand(4).getImm() == 12 &&
    7292             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7293             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 0 })
    7294             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7295             :       break;
    7296             :     }
    7297           0 :     if (MI->getNumOperands() == 5 &&
    7298           0 :         MI->getOperand(0).isReg() &&
    7299           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7300           0 :         MI->getOperand(1).isReg() &&
    7301           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7302           0 :         MI->getOperand(4).isImm() &&
    7303           0 :         MI->getOperand(4).getImm() == 13 &&
    7304             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7305             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 1 })
    7306             :       AsmString = "movle $\x02, $\x03, $\x01";
    7307             :       break;
    7308             :     }
    7309           0 :     if (MI->getNumOperands() == 5 &&
    7310           0 :         MI->getOperand(0).isReg() &&
    7311           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7312           0 :         MI->getOperand(1).isReg() &&
    7313           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7314           0 :         MI->getOperand(4).isImm() &&
    7315           0 :         MI->getOperand(4).getImm() == 14 &&
    7316             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7317             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 0 })
    7318             :       AsmString = "movule $\x02, $\x03, $\x01";
    7319             :       break;
    7320             :     }
    7321           0 :     if (MI->getNumOperands() == 5 &&
    7322           0 :         MI->getOperand(0).isReg() &&
    7323           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7324           0 :         MI->getOperand(1).isReg() &&
    7325           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7326           0 :         MI->getOperand(4).isImm() &&
    7327           0 :         MI->getOperand(4).getImm() == 15 &&
    7328             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7329             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 1 })
    7330             :       AsmString = "movo $\x02, $\x03, $\x01";
    7331             :       break;
    7332             :     }
    7333             :     return false;
    7334             :   case SP::V9MOVFCCrr:
    7335          15 :     if (MI->getNumOperands() == 5 &&
    7336          30 :         MI->getOperand(0).isReg() &&
    7337          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7338          30 :         MI->getOperand(1).isReg() &&
    7339          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7340          30 :         MI->getOperand(2).isReg() &&
    7341          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7342          30 :         MI->getOperand(4).isImm() &&
    7343          30 :         MI->getOperand(4).getImm() == 8 &&
    7344             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7345             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 0 })
    7346             :       AsmString = "mova $\x02, $\x03, $\x01";
    7347             :       break;
    7348             :     }
    7349          15 :     if (MI->getNumOperands() == 5 &&
    7350          30 :         MI->getOperand(0).isReg() &&
    7351          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7352          30 :         MI->getOperand(1).isReg() &&
    7353          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7354          30 :         MI->getOperand(2).isReg() &&
    7355          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7356          30 :         MI->getOperand(4).isImm() &&
    7357          30 :         MI->getOperand(4).getImm() == 0 &&
    7358             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7359             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 0 })
    7360             :       AsmString = "movn $\x02, $\x03, $\x01";
    7361             :       break;
    7362             :     }
    7363          15 :     if (MI->getNumOperands() == 5 &&
    7364          30 :         MI->getOperand(0).isReg() &&
    7365          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7366          30 :         MI->getOperand(1).isReg() &&
    7367          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7368          30 :         MI->getOperand(2).isReg() &&
    7369          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7370          30 :         MI->getOperand(4).isImm() &&
    7371          32 :         MI->getOperand(4).getImm() == 7 &&
    7372             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7373             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 1 })
    7374             :       AsmString = "movu $\x02, $\x03, $\x01";
    7375             :       break;
    7376             :     }
    7377          13 :     if (MI->getNumOperands() == 5 &&
    7378          26 :         MI->getOperand(0).isReg() &&
    7379          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7380          26 :         MI->getOperand(1).isReg() &&
    7381          26 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7382          26 :         MI->getOperand(2).isReg() &&
    7383          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7384          26 :         MI->getOperand(4).isImm() &&
    7385          27 :         MI->getOperand(4).getImm() == 6 &&
    7386             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7387             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 0 })
    7388             :       AsmString = "movg $\x02, $\x03, $\x01";
    7389             :       break;
    7390             :     }
    7391          12 :     if (MI->getNumOperands() == 5 &&
    7392          24 :         MI->getOperand(0).isReg() &&
    7393          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7394          24 :         MI->getOperand(1).isReg() &&
    7395          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7396          24 :         MI->getOperand(2).isReg() &&
    7397          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7398          24 :         MI->getOperand(4).isImm() &&
    7399          25 :         MI->getOperand(4).getImm() == 5 &&
    7400             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7401             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 1 })
    7402             :       AsmString = "movug $\x02, $\x03, $\x01";
    7403             :       break;
    7404             :     }
    7405          11 :     if (MI->getNumOperands() == 5 &&
    7406          22 :         MI->getOperand(0).isReg() &&
    7407          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7408          22 :         MI->getOperand(1).isReg() &&
    7409          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7410          22 :         MI->getOperand(2).isReg() &&
    7411          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7412          22 :         MI->getOperand(4).isImm() &&
    7413          23 :         MI->getOperand(4).getImm() == 4 &&
    7414             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7415             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 0 })
    7416             :       AsmString = "movl $\x02, $\x03, $\x01";
    7417             :       break;
    7418             :     }
    7419          10 :     if (MI->getNumOperands() == 5 &&
    7420          20 :         MI->getOperand(0).isReg() &&
    7421          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7422          20 :         MI->getOperand(1).isReg() &&
    7423          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7424          20 :         MI->getOperand(2).isReg() &&
    7425          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7426          20 :         MI->getOperand(4).isImm() &&
    7427          21 :         MI->getOperand(4).getImm() == 3 &&
    7428             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7429             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 1 })
    7430             :       AsmString = "movul $\x02, $\x03, $\x01";
    7431             :       break;
    7432             :     }
    7433           9 :     if (MI->getNumOperands() == 5 &&
    7434          18 :         MI->getOperand(0).isReg() &&
    7435          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7436          18 :         MI->getOperand(1).isReg() &&
    7437          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7438          18 :         MI->getOperand(2).isReg() &&
    7439          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7440          18 :         MI->getOperand(4).isImm() &&
    7441          19 :         MI->getOperand(4).getImm() == 2 &&
    7442             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7443             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 0 })
    7444             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7445             :       break;
    7446             :     }
    7447           8 :     if (MI->getNumOperands() == 5 &&
    7448          16 :         MI->getOperand(0).isReg() &&
    7449          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7450          16 :         MI->getOperand(1).isReg() &&
    7451          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7452          16 :         MI->getOperand(2).isReg() &&
    7453          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7454          16 :         MI->getOperand(4).isImm() &&
    7455          17 :         MI->getOperand(4).getImm() == 1 &&
    7456             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7457             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 1 })
    7458             :       AsmString = "movne $\x02, $\x03, $\x01";
    7459             :       break;
    7460             :     }
    7461           7 :     if (MI->getNumOperands() == 5 &&
    7462          14 :         MI->getOperand(0).isReg() &&
    7463          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7464          14 :         MI->getOperand(1).isReg() &&
    7465          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7466          14 :         MI->getOperand(2).isReg() &&
    7467          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7468          14 :         MI->getOperand(4).isImm() &&
    7469          15 :         MI->getOperand(4).getImm() == 9 &&
    7470             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7471             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 1 })
    7472             :       AsmString = "move $\x02, $\x03, $\x01";
    7473             :       break;
    7474             :     }
    7475           6 :     if (MI->getNumOperands() == 5 &&
    7476          12 :         MI->getOperand(0).isReg() &&
    7477          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7478          12 :         MI->getOperand(1).isReg() &&
    7479          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7480          12 :         MI->getOperand(2).isReg() &&
    7481          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7482          12 :         MI->getOperand(4).isImm() &&
    7483          13 :         MI->getOperand(4).getImm() == 10 &&
    7484             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7485             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 0 })
    7486             :       AsmString = "movue $\x02, $\x03, $\x01";
    7487             :       break;
    7488             :     }
    7489           5 :     if (MI->getNumOperands() == 5 &&
    7490          10 :         MI->getOperand(0).isReg() &&
    7491          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7492          10 :         MI->getOperand(1).isReg() &&
    7493          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7494          10 :         MI->getOperand(2).isReg() &&
    7495          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7496          10 :         MI->getOperand(4).isImm() &&
    7497          11 :         MI->getOperand(4).getImm() == 11 &&
    7498             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7499             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 1 })
    7500             :       AsmString = "movge $\x02, $\x03, $\x01";
    7501             :       break;
    7502             :     }
    7503           4 :     if (MI->getNumOperands() == 5 &&
    7504           8 :         MI->getOperand(0).isReg() &&
    7505           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7506           8 :         MI->getOperand(1).isReg() &&
    7507           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7508           8 :         MI->getOperand(2).isReg() &&
    7509           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7510           8 :         MI->getOperand(4).isImm() &&
    7511           9 :         MI->getOperand(4).getImm() == 12 &&
    7512             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7513             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 0 })
    7514             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7515             :       break;
    7516             :     }
    7517           3 :     if (MI->getNumOperands() == 5 &&
    7518           6 :         MI->getOperand(0).isReg() &&
    7519           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7520           6 :         MI->getOperand(1).isReg() &&
    7521           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7522           6 :         MI->getOperand(2).isReg() &&
    7523           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7524           6 :         MI->getOperand(4).isImm() &&
    7525           7 :         MI->getOperand(4).getImm() == 13 &&
    7526             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7527             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 1 })
    7528             :       AsmString = "movle $\x02, $\x03, $\x01";
    7529             :       break;
    7530             :     }
    7531           2 :     if (MI->getNumOperands() == 5 &&
    7532           4 :         MI->getOperand(0).isReg() &&
    7533           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7534           4 :         MI->getOperand(1).isReg() &&
    7535           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7536           4 :         MI->getOperand(2).isReg() &&
    7537           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7538           4 :         MI->getOperand(4).isImm() &&
    7539           5 :         MI->getOperand(4).getImm() == 14 &&
    7540             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7541             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 0 })
    7542             :       AsmString = "movule $\x02, $\x03, $\x01";
    7543             :       break;
    7544             :     }
    7545           1 :     if (MI->getNumOperands() == 5 &&
    7546           2 :         MI->getOperand(0).isReg() &&
    7547           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7548           2 :         MI->getOperand(1).isReg() &&
    7549           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7550           2 :         MI->getOperand(2).isReg() &&
    7551           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7552           2 :         MI->getOperand(4).isImm() &&
    7553           3 :         MI->getOperand(4).getImm() == 15 &&
    7554             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7555             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 1 })
    7556             :       AsmString = "movo $\x02, $\x03, $\x01";
    7557             :       break;
    7558             :     }
    7559             :     return false;
    7560             :   }
    7561             : 
    7562             :   unsigned I = 0;
    7563       34099 :   while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
    7564       23931 :          AsmString[I] != '$' && AsmString[I] != '\0')
    7565       10168 :     ++I;
    7566        2645 :   OS << '\t' << StringRef(AsmString, I);
    7567        2645 :   if (AsmString[I] != '\0') {
    7568        1695 :     if (AsmString[I] == ' ' || AsmString[I] == '\t') {
    7569             :       OS << '\t';
    7570        1695 :       ++I;
    7571             :     }
    7572             :     do {
    7573        7725 :       if (AsmString[I] == '$') {
    7574        3024 :         ++I;
    7575        3024 :         if (AsmString[I] == (char)0xff) {
    7576           0 :           ++I;
    7577           0 :           int OpIdx = AsmString[I++] - 1;
    7578           0 :           int PrintMethodIdx = AsmString[I++] - 1;
    7579           0 :           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
    7580             :         } else
    7581        3024 :           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
    7582             :       } else {
    7583        4701 :         OS << AsmString[I++];
    7584             :       }
    7585        7725 :     } while (AsmString[I] != '\0');
    7586             :   }
    7587             : 
    7588             :   return true;
    7589             : }
    7590             : 
    7591           0 : void SparcInstPrinter::printCustomAliasOperand(
    7592             :          const MCInst *MI, unsigned OpIdx,
    7593             :          unsigned PrintMethodIdx,
    7594             :          const MCSubtargetInfo &STI,
    7595             :          raw_ostream &OS) {
    7596           0 :   llvm_unreachable("Unknown PrintMethod kind");
    7597             : }
    7598             : 
    7599             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13