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-10-20 13:21:21 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        7982 : 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 */ 'p', 'w', 'r', 32, 0,
     202             :   /* 1530 */ 'f', 's', 'r', 'c', '1', 's', 32, 0,
     203             :   /* 1538 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 's', 32, 0,
     204             :   /* 1549 */ 'f', 'n', 'o', 't', '1', 's', 32, 0,
     205             :   /* 1557 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 's', 32, 0,
     206             :   /* 1567 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 's', 32, 0,
     207             :   /* 1577 */ 'f', 's', 'r', 'c', '2', 's', 32, 0,
     208             :   /* 1585 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 's', 32, 0,
     209             :   /* 1596 */ 'f', 'n', 'o', 't', '2', 's', 32, 0,
     210             :   /* 1604 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 's', 32, 0,
     211             :   /* 1614 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 's', 32, 0,
     212             :   /* 1624 */ 'f', 's', 'u', 'b', 's', 32, 0,
     213             :   /* 1631 */ 'f', 'h', 's', 'u', 'b', 's', 32, 0,
     214             :   /* 1639 */ 'f', 'a', 'd', 'd', 's', 32, 0,
     215             :   /* 1646 */ 'f', 'h', 'a', 'd', 'd', 's', 32, 0,
     216             :   /* 1654 */ 'f', 'n', 'h', 'a', 'd', 'd', 's', 32, 0,
     217             :   /* 1663 */ 'f', 'n', 'a', 'd', 'd', 's', 32, 0,
     218             :   /* 1671 */ 'f', 'a', 'n', 'd', 's', 32, 0,
     219             :   /* 1678 */ 'f', 'n', 'a', 'n', 'd', 's', 32, 0,
     220             :   /* 1686 */ 'f', 'o', 'n', 'e', 's', 32, 0,
     221             :   /* 1693 */ 'f', 'c', 'm', 'p', 'e', 's', 32, 0,
     222             :   /* 1701 */ 'f', 'n', 'e', 'g', 's', 32, 0,
     223             :   /* 1708 */ 'f', 'm', 'u', 'l', 's', 32, 0,
     224             :   /* 1715 */ 'f', 'z', 'e', 'r', 'o', 's', 32, 0,
     225             :   /* 1723 */ 'f', 'd', 't', 'o', 's', 32, 0,
     226             :   /* 1730 */ 'f', 'i', 't', 'o', 's', 32, 0,
     227             :   /* 1737 */ 'f', 'q', 't', 'o', 's', 32, 0,
     228             :   /* 1744 */ 'f', 'x', 't', 'o', 's', 32, 0,
     229             :   /* 1751 */ 'f', 'c', 'm', 'p', 's', 32, 0,
     230             :   /* 1758 */ 'f', 'l', 'c', 'm', 'p', 's', 32, 0,
     231             :   /* 1766 */ 'f', 'o', 'r', 's', 32, 0,
     232             :   /* 1772 */ 'f', 'n', 'o', 'r', 's', 32, 0,
     233             :   /* 1779 */ 'f', 'x', 'n', 'o', 'r', 's', 32, 0,
     234             :   /* 1787 */ 'f', 'x', 'o', 'r', 's', 32, 0,
     235             :   /* 1794 */ 'f', 'a', 'b', 's', 's', 32, 0,
     236             :   /* 1801 */ 'f', 's', 'q', 'r', 't', 's', 32, 0,
     237             :   /* 1809 */ 'f', 'd', 'i', 'v', 's', 32, 0,
     238             :   /* 1816 */ 'f', 'm', 'o', 'v', 's', 32, 0,
     239             :   /* 1823 */ 's', 'e', 't', 32, 0,
     240             :   /* 1828 */ 'l', 'z', 'c', 'n', 't', 32, 0,
     241             :   /* 1835 */ 'p', 'd', 'i', 's', 't', 32, 0,
     242             :   /* 1842 */ 'r', 'e', 't', 't', 32, 0,
     243             :   /* 1848 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'u', 32, 0,
     244             :   /* 1860 */ 's', 'd', 'i', 'v', 32, 0,
     245             :   /* 1866 */ 'u', 'd', 'i', 'v', 32, 0,
     246             :   /* 1872 */ 't', 's', 'u', 'b', 'c', 'c', 't', 'v', 32, 0,
     247             :   /* 1882 */ 't', 'a', 'd', 'd', 'c', 'c', 't', 'v', 32, 0,
     248             :   /* 1892 */ 'm', 'o', 'v', 's', 't', 'o', 's', 'w', 32, 0,
     249             :   /* 1902 */ 'm', 'o', 'v', 's', 't', 'o', 'u', 'w', 32, 0,
     250             :   /* 1912 */ 's', 'r', 'a', 'x', 32, 0,
     251             :   /* 1918 */ 's', 'u', 'b', 'x', 32, 0,
     252             :   /* 1924 */ 'a', 'd', 'd', 'x', 32, 0,
     253             :   /* 1930 */ 'f', 'p', 'a', 'c', 'k', 'f', 'i', 'x', 32, 0,
     254             :   /* 1940 */ 's', 'l', 'l', 'x', 32, 0,
     255             :   /* 1946 */ 's', 'r', 'l', 'x', 32, 0,
     256             :   /* 1952 */ 'x', 'm', 'u', 'l', 'x', 32, 0,
     257             :   /* 1959 */ 'f', 'd', 't', 'o', 'x', 32, 0,
     258             :   /* 1966 */ 'm', 'o', 'v', 'd', 't', 'o', 'x', 32, 0,
     259             :   /* 1975 */ 'f', 'q', 't', 'o', 'x', 32, 0,
     260             :   /* 1982 */ 'f', 's', 't', 'o', 'x', 32, 0,
     261             :   /* 1989 */ 's', 't', 'x', 32, 0,
     262             :   /* 1994 */ 's', 'd', 'i', 'v', 'x', 32, 0,
     263             :   /* 2001 */ 'u', 'd', 'i', 'v', 'x', 32, 0,
     264             :   /* 2008 */ 'f', 'm', 'o', 'v', 'r', 'd', 'z', 32, 0,
     265             :   /* 2017 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'e', 'z', 32, 0,
     266             :   /* 2028 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'e', 'z', 32, 0,
     267             :   /* 2039 */ 'b', 'r', 'g', 'e', 'z', 32, 0,
     268             :   /* 2046 */ 'm', 'o', 'v', 'r', 'g', 'e', 'z', 32, 0,
     269             :   /* 2055 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'e', 'z', 32, 0,
     270             :   /* 2066 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'e', 'z', 32, 0,
     271             :   /* 2077 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'e', 'z', 32, 0,
     272             :   /* 2088 */ 'b', 'r', 'l', 'e', 'z', 32, 0,
     273             :   /* 2095 */ 'm', 'o', 'v', 'r', 'l', 'e', 'z', 32, 0,
     274             :   /* 2104 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'e', 'z', 32, 0,
     275             :   /* 2115 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'z', 32, 0,
     276             :   /* 2125 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'z', 32, 0,
     277             :   /* 2135 */ 'b', 'r', 'g', 'z', 32, 0,
     278             :   /* 2141 */ 'm', 'o', 'v', 'r', 'g', 'z', 32, 0,
     279             :   /* 2149 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'z', 32, 0,
     280             :   /* 2159 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'z', 32, 0,
     281             :   /* 2169 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'z', 32, 0,
     282             :   /* 2179 */ 'b', 'r', 'l', 'z', 32, 0,
     283             :   /* 2185 */ 'm', 'o', 'v', 'r', 'l', 'z', 32, 0,
     284             :   /* 2193 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'z', 32, 0,
     285             :   /* 2203 */ 'f', 'm', 'o', 'v', 'r', 'd', 'n', 'z', 32, 0,
     286             :   /* 2213 */ 'f', 'm', 'o', 'v', 'r', 'q', 'n', 'z', 32, 0,
     287             :   /* 2223 */ 'b', 'r', 'n', 'z', 32, 0,
     288             :   /* 2229 */ 'm', 'o', 'v', 'r', 'n', 'z', 32, 0,
     289             :   /* 2237 */ 'f', 'm', 'o', 'v', 'r', 's', 'n', 'z', 32, 0,
     290             :   /* 2247 */ 'f', 'm', 'o', 'v', 'r', 'q', 'z', 32, 0,
     291             :   /* 2256 */ 'b', 'r', 'z', 32, 0,
     292             :   /* 2261 */ 'm', 'o', 'v', 'r', 'z', 32, 0,
     293             :   /* 2268 */ 'f', 'm', 'o', 'v', 'r', 's', 'z', 32, 0,
     294             :   /* 2277 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     295             :   /* 2305 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     296             :   /* 2333 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     297             :   /* 2360 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     298             :   /* 2388 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     299             :   /* 2416 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     300             :   /* 2444 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     301             :   /* 2471 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     302             :   /* 2499 */ 'j', 'm', 'p', 32, '%', 'i', '7', '+', 0,
     303             :   /* 2508 */ 'j', 'm', 'p', 32, '%', 'o', '7', '+', 0,
     304             :   /* 2517 */ '#', 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             :   /* 2548 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     306             :   /* 2572 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     307             :   /* 2597 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
     308             :   /* 2620 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
     309             :   /* 2643 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
     310             :   /* 2665 */ 'f', 'l', 'u', 's', 'h', 32, '%', 'g', '0', 0,
     311             :   /* 2675 */ 't', 'a', 32, '1', 0,
     312             :   /* 2680 */ 't', 'a', 32, '3', 0,
     313             :   /* 2685 */ 't', 'a', 32, '5', 0,
     314             :   /* 2690 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
     315             :   /* 2703 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
     316             :   /* 2710 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
     317             :   /* 2720 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
     318             :   /* 2730 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
     319             :   /* 2745 */ 's', 't', 'd', 32, '%', 'c', 'q', ',', 32, '[', 0,
     320             :   /* 2756 */ 's', 't', 'd', 32, '%', 'f', 'q', ',', 32, '[', 0,
     321             :   /* 2767 */ 's', 't', 32, '%', 'c', 's', 'r', ',', 32, '[', 0,
     322             :   /* 2778 */ 's', 't', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     323             :   /* 2789 */ 's', 't', 'x', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     324             :   /* 2801 */ 'l', 'd', 's', 'b', 'a', 32, '[', 0,
     325             :   /* 2809 */ 'l', 'd', 'u', 'b', 'a', 32, '[', 0,
     326             :   /* 2817 */ 'l', 'd', 's', 't', 'u', 'b', 'a', 32, '[', 0,
     327             :   /* 2827 */ 'l', 'd', 'd', 'a', 32, '[', 0,
     328             :   /* 2834 */ 'l', 'd', 'a', 32, '[', 0,
     329             :   /* 2840 */ 'l', 'd', 's', 'h', 'a', 32, '[', 0,
     330             :   /* 2848 */ 'l', 'd', 'u', 'h', 'a', 32, '[', 0,
     331             :   /* 2856 */ 's', 'w', 'a', 'p', 'a', 32, '[', 0,
     332             :   /* 2864 */ 'l', 'd', 'q', 'a', 32, '[', 0,
     333             :   /* 2871 */ 'c', 'a', 's', 'a', 32, '[', 0,
     334             :   /* 2878 */ 'l', 'd', 's', 'b', 32, '[', 0,
     335             :   /* 2885 */ 'l', 'd', 'u', 'b', 32, '[', 0,
     336             :   /* 2892 */ 'l', 'd', 's', 't', 'u', 'b', 32, '[', 0,
     337             :   /* 2901 */ 'l', 'd', 'd', 32, '[', 0,
     338             :   /* 2907 */ 'l', 'd', 32, '[', 0,
     339             :   /* 2912 */ 'l', 'd', 's', 'h', 32, '[', 0,
     340             :   /* 2919 */ 'l', 'd', 'u', 'h', 32, '[', 0,
     341             :   /* 2926 */ 's', 'w', 'a', 'p', 32, '[', 0,
     342             :   /* 2933 */ 'l', 'd', 'q', 32, '[', 0,
     343             :   /* 2939 */ 'c', 'a', 's', 32, '[', 0,
     344             :   /* 2945 */ 'l', 'd', 's', 'w', 32, '[', 0,
     345             :   /* 2952 */ 'l', 'd', 'x', 32, '[', 0,
     346             :   /* 2958 */ 'c', 'a', 's', 'x', 32, '[', 0,
     347             :   /* 2965 */ 'c', 'b', 0,
     348             :   /* 2968 */ 'f', 'b', 0,
     349             :   /* 2971 */ 'f', 'm', 'o', 'v', 'd', 0,
     350             :   /* 2977 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
     351             :   /* 2991 */ 's', 'i', 'a', 'm', 0,
     352             :   /* 2996 */ 's', 'h', 'u', 't', 'd', 'o', 'w', 'n', 0,
     353             :   /* 3005 */ 'n', 'o', 'p', 0,
     354             :   /* 3009 */ 'f', 'm', 'o', 'v', 'q', 0,
     355             :   /* 3015 */ 's', 't', 'b', 'a', 'r', 0,
     356             :   /* 3021 */ 'f', 'm', 'o', 'v', 's', 0,
     357             :   /* 3027 */ 't', 0,
     358             :   /* 3029 */ 'm', 'o', 'v', 0,
     359             :   /* 3033 */ 'f', 'l', 'u', 's', 'h', 'w', 0,
     360             :   };
     361             : 
     362             :   static const uint32_t OpInfo0[] = {
     363             :     0U, // PHI
     364             :     0U, // INLINEASM
     365             :     0U, // CFI_INSTRUCTION
     366             :     0U, // EH_LABEL
     367             :     0U, // GC_LABEL
     368             :     0U, // ANNOTATION_LABEL
     369             :     0U, // KILL
     370             :     0U, // EXTRACT_SUBREG
     371             :     0U, // INSERT_SUBREG
     372             :     0U, // IMPLICIT_DEF
     373             :     0U, // SUBREG_TO_REG
     374             :     0U, // COPY_TO_REGCLASS
     375             :     2711U,      // DBG_VALUE
     376             :     2721U,      // DBG_LABEL
     377             :     0U, // REG_SEQUENCE
     378             :     0U, // COPY
     379             :     2704U,      // BUNDLE
     380             :     2731U,      // LIFETIME_START
     381             :     2691U,      // LIFETIME_END
     382             :     0U, // STACKMAP
     383             :     2978U,      // FENTRY_CALL
     384             :     0U, // PATCHPOINT
     385             :     0U, // LOAD_STACK_GUARD
     386             :     0U, // STATEPOINT
     387             :     0U, // LOCAL_ESCAPE
     388             :     0U, // FAULTING_OP
     389             :     0U, // PATCHABLE_OP
     390             :     2598U,      // PATCHABLE_FUNCTION_ENTER
     391             :     2518U,      // PATCHABLE_RET
     392             :     2644U,      // PATCHABLE_FUNCTION_EXIT
     393             :     2621U,      // PATCHABLE_TAIL_CALL
     394             :     2573U,      // PATCHABLE_EVENT_CALL
     395             :     2549U,      // PATCHABLE_TYPED_EVENT_CALL
     396             :     0U, // ICALL_BRANCH_FUNNEL
     397             :     0U, // G_ADD
     398             :     0U, // G_SUB
     399             :     0U, // G_MUL
     400             :     0U, // G_SDIV
     401             :     0U, // G_UDIV
     402             :     0U, // G_SREM
     403             :     0U, // G_UREM
     404             :     0U, // G_AND
     405             :     0U, // G_OR
     406             :     0U, // G_XOR
     407             :     0U, // G_IMPLICIT_DEF
     408             :     0U, // G_PHI
     409             :     0U, // G_FRAME_INDEX
     410             :     0U, // G_GLOBAL_VALUE
     411             :     0U, // G_EXTRACT
     412             :     0U, // G_UNMERGE_VALUES
     413             :     0U, // G_INSERT
     414             :     0U, // G_MERGE_VALUES
     415             :     0U, // G_PTRTOINT
     416             :     0U, // G_INTTOPTR
     417             :     0U, // G_BITCAST
     418             :     0U, // G_INTRINSIC_TRUNC
     419             :     0U, // G_INTRINSIC_ROUND
     420             :     0U, // G_LOAD
     421             :     0U, // G_SEXTLOAD
     422             :     0U, // G_ZEXTLOAD
     423             :     0U, // G_STORE
     424             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     425             :     0U, // G_ATOMIC_CMPXCHG
     426             :     0U, // G_ATOMICRMW_XCHG
     427             :     0U, // G_ATOMICRMW_ADD
     428             :     0U, // G_ATOMICRMW_SUB
     429             :     0U, // G_ATOMICRMW_AND
     430             :     0U, // G_ATOMICRMW_NAND
     431             :     0U, // G_ATOMICRMW_OR
     432             :     0U, // G_ATOMICRMW_XOR
     433             :     0U, // G_ATOMICRMW_MAX
     434             :     0U, // G_ATOMICRMW_MIN
     435             :     0U, // G_ATOMICRMW_UMAX
     436             :     0U, // G_ATOMICRMW_UMIN
     437             :     0U, // G_BRCOND
     438             :     0U, // G_BRINDIRECT
     439             :     0U, // G_INTRINSIC
     440             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     441             :     0U, // G_ANYEXT
     442             :     0U, // G_TRUNC
     443             :     0U, // G_CONSTANT
     444             :     0U, // G_FCONSTANT
     445             :     0U, // G_VASTART
     446             :     0U, // G_VAARG
     447             :     0U, // G_SEXT
     448             :     0U, // G_ZEXT
     449             :     0U, // G_SHL
     450             :     0U, // G_LSHR
     451             :     0U, // G_ASHR
     452             :     0U, // G_ICMP
     453             :     0U, // G_FCMP
     454             :     0U, // G_SELECT
     455             :     0U, // G_UADDO
     456             :     0U, // G_UADDE
     457             :     0U, // G_USUBO
     458             :     0U, // G_USUBE
     459             :     0U, // G_SADDO
     460             :     0U, // G_SADDE
     461             :     0U, // G_SSUBO
     462             :     0U, // G_SSUBE
     463             :     0U, // G_UMULO
     464             :     0U, // G_SMULO
     465             :     0U, // G_UMULH
     466             :     0U, // G_SMULH
     467             :     0U, // G_FADD
     468             :     0U, // G_FSUB
     469             :     0U, // G_FMUL
     470             :     0U, // G_FMA
     471             :     0U, // G_FDIV
     472             :     0U, // G_FREM
     473             :     0U, // G_FPOW
     474             :     0U, // G_FEXP
     475             :     0U, // G_FEXP2
     476             :     0U, // G_FLOG
     477             :     0U, // G_FLOG2
     478             :     0U, // G_FNEG
     479             :     0U, // G_FPEXT
     480             :     0U, // G_FPTRUNC
     481             :     0U, // G_FPTOSI
     482             :     0U, // G_FPTOUI
     483             :     0U, // G_SITOFP
     484             :     0U, // G_UITOFP
     485             :     0U, // G_FABS
     486             :     0U, // G_GEP
     487             :     0U, // G_PTR_MASK
     488             :     0U, // G_BR
     489             :     0U, // G_INSERT_VECTOR_ELT
     490             :     0U, // G_EXTRACT_VECTOR_ELT
     491             :     0U, // G_SHUFFLE_VECTOR
     492             :     0U, // G_CTTZ
     493             :     0U, // G_CTTZ_ZERO_UNDEF
     494             :     0U, // G_CTLZ
     495             :     0U, // G_CTLZ_ZERO_UNDEF
     496             :     0U, // G_CTPOP
     497             :     0U, // G_BSWAP
     498             :     0U, // G_ADDRSPACE_CAST
     499             :     0U, // G_BLOCK_ADDR
     500             :     4556U,      // ADJCALLSTACKDOWN
     501             :     70111U,     // ADJCALLSTACKUP
     502             :     8202U,      // GETPCX
     503             :     2278U,      // SELECT_CC_DFP_FCC
     504             :     2389U,      // SELECT_CC_DFP_ICC
     505             :     2334U,      // SELECT_CC_FP_FCC
     506             :     2445U,      // SELECT_CC_FP_ICC
     507             :     2361U,      // SELECT_CC_Int_FCC
     508             :     2472U,      // SELECT_CC_Int_ICC
     509             :     2306U,      // SELECT_CC_QFP_FCC
     510             :     2417U,      // SELECT_CC_QFP_ICC
     511             :     2111264U,   // SET
     512             :     4207243U,   // ADDCCri
     513             :     4207243U,   // ADDCCrr
     514             :     4208517U,   // ADDCri
     515             :     4208517U,   // ADDCrr
     516             :     4207335U,   // ADDEri
     517             :     4207335U,   // ADDErr
     518             :     4207349U,   // ADDXC
     519             :     4207233U,   // ADDXCCC
     520             :     4207371U,   // ADDXri
     521             :     4207371U,   // ADDXrr
     522             :     4207371U,   // ADDri
     523             :     4207371U,   // ADDrr
     524             :     4208071U,   // ALIGNADDR
     525             :     4207701U,   // ALIGNADDRL
     526             :     4207250U,   // ANDCCri
     527             :     4207250U,   // ANDCCrr
     528             :     4207273U,   // ANDNCCri
     529             :     4207273U,   // ANDNCCrr
     530             :     4207756U,   // ANDNri
     531             :     4207756U,   // ANDNrr
     532             :     4207756U,   // ANDXNrr
     533             :     4207439U,   // ANDXri
     534             :     4207439U,   // ANDXrr
     535             :     4207439U,   // ANDri
     536             :     4207439U,   // ANDrr
     537             :     4207020U,   // ARRAY16
     538             :     4206773U,   // ARRAY32
     539             :     4207044U,   // ARRAY8
     540             :     70199U,     // BA
     541             :     2247575U,   // BCOND
     542             :     2313111U,   // BCONDA
     543             :     87369U,     // BINDri
     544             :     87369U,     // BINDrr
     545             :     4207639U,   // BMASK
     546             :     4344729U,   // BPFCC
     547             :     4410265U,   // BPFCCA
     548             :     281497U,    // BPFCCANT
     549             :     347033U,    // BPFCCNT
     550             :     5295U,      // BPGEZapn
     551             :     4612U,      // BPGEZapt
     552             :     5362U,      // BPGEZnapn
     553             :     6136U,      // BPGEZnapt
     554             :     5319U,      // BPGZapn
     555             :     4630U,      // BPGZapt
     556             :     5382U,      // BPGZnapn
     557             :     6232U,      // BPGZnapt
     558             :     2509719U,   // BPICC
     559             :     478103U,    // BPICCA
     560             :     543639U,    // BPICCANT
     561             :     609175U,    // BPICCNT
     562             :     5307U,      // BPLEZapn
     563             :     4621U,      // BPLEZapt
     564             :     5372U,      // BPLEZnapn
     565             :     6185U,      // BPLEZnapt
     566             :     5330U,      // BPLZapn
     567             :     4638U,      // BPLZapt
     568             :     5391U,      // BPLZnapn
     569             :     6276U,      // BPLZnapt
     570             :     5341U,      // BPNZapn
     571             :     4646U,      // BPNZapt
     572             :     5400U,      // BPNZnapn
     573             :     6320U,      // BPNZnapt
     574             :     2771863U,   // BPXCC
     575             :     740247U,    // BPXCCA
     576             :     805783U,    // BPXCCANT
     577             :     871319U,    // BPXCCNT
     578             :     5352U,      // BPZapn
     579             :     4654U,      // BPZapt
     580             :     5409U,      // BPZnapn
     581             :     6353U,      // BPZnapt
     582             :     4207550U,   // BSHUFFLE
     583             :     70724U,     // CALL
     584             :     87108U,     // CALLri
     585             :     87108U,     // CALLrr
     586             :     932664U,    // CASAasi10
     587             :     7289656U,   // CASArr
     588             :     5258127U,   // CASXrr
     589             :     5258108U,   // CASrr
     590             :     2247574U,   // CBCOND
     591             :     2313110U,   // CBCONDA
     592             :     69927U,     // CMASK16
     593             :     69759U,     // CMASK32
     594             :     70076U,     // CMASK8
     595             :     5437U,      // CMPri
     596             :     5437U,      // CMPrr
     597             :     4206850U,   // EDGE16
     598             :     4207655U,   // EDGE16L
     599             :     4207772U,   // EDGE16LN
     600             :     4207739U,   // EDGE16N
     601             :     4206682U,   // EDGE32
     602             :     4207646U,   // EDGE32L
     603             :     4207762U,   // EDGE32LN
     604             :     4207730U,   // EDGE32N
     605             :     4207029U,   // EDGE8
     606             :     4207664U,   // EDGE8L
     607             :     4207782U,   // EDGE8LN
     608             :     4207748U,   // EDGE8N
     609             :     2110355U,   // FABSD
     610             :     2110877U,   // FABSQ
     611             :     2111235U,   // FABSS
     612             :     4207376U,   // FADDD
     613             :     4207957U,   // FADDQ
     614             :     4208232U,   // FADDS
     615             :     4207186U,   // FALIGNADATA
     616             :     4207438U,   // FAND
     617             :     4206630U,   // FANDNOT1
     618             :     4208131U,   // FANDNOT1S
     619             :     4206789U,   // FANDNOT2
     620             :     4208178U,   // FANDNOT2S
     621             :     4208264U,   // FANDS
     622             :     2247577U,   // FBCOND
     623             :     2313113U,   // FBCONDA
     624             :     4206912U,   // FCHKSM16
     625             :     4992U,      // FCMPD
     626             :     4206931U,   // FCMPEQ16
     627             :     4206744U,   // FCMPEQ32
     628             :     4206950U,   // FCMPGT16
     629             :     4206763U,   // FCMPGT32
     630             :     4206858U,   // FCMPLE16
     631             :     4206690U,   // FCMPLE32
     632             :     4206868U,   // FCMPNE16
     633             :     4206700U,   // FCMPNE32
     634             :     5526U,      // FCMPQ
     635             :     5848U,      // FCMPS
     636             :     4207527U,   // FDIVD
     637             :     4208049U,   // FDIVQ
     638             :     4208402U,   // FDIVS
     639             :     4207979U,   // FDMULQ
     640             :     2110466U,   // FDTOI
     641             :     2110842U,   // FDTOQ
     642             :     2111164U,   // FDTOS
     643             :     2111400U,   // FDTOX
     644             :     2110299U,   // FEXPAND
     645             :     4207383U,   // FHADDD
     646             :     4208239U,   // FHADDS
     647             :     4207363U,   // FHSUBD
     648             :     4208224U,   // FHSUBS
     649             :     2110308U,   // FITOD
     650             :     2110849U,   // FITOQ
     651             :     2111171U,   // FITOS
     652             :     16782215U,  // FLCMPD
     653             :     16783071U,  // FLCMPS
     654             :     2666U,      // FLUSH
     655             :     3034U,      // FLUSHW
     656             :     87005U,     // FLUSHri
     657             :     87005U,     // FLUSHrr
     658             :     4206922U,   // FMEAN16
     659             :     2110382U,   // FMOVD
     660             :     1141660U,   // FMOVD_FCC
     661             :     151415708U, // FMOVD_ICC
     662             :     151677852U, // FMOVD_XCC
     663             :     2110904U,   // FMOVQ
     664             :     1141698U,   // FMOVQ_FCC
     665             :     151415746U, // FMOVQ_ICC
     666             :     151677890U, // FMOVQ_XCC
     667             :     4208610U,   // FMOVRGEZD
     668             :     4208621U,   // FMOVRGEZQ
     669             :     4208648U,   // FMOVRGEZS
     670             :     4208708U,   // FMOVRGZD
     671             :     4208718U,   // FMOVRGZQ
     672             :     4208742U,   // FMOVRGZS
     673             :     4208659U,   // FMOVRLEZD
     674             :     4208670U,   // FMOVRLEZQ
     675             :     4208697U,   // FMOVRLEZS
     676             :     4208752U,   // FMOVRLZD
     677             :     4208762U,   // FMOVRLZQ
     678             :     4208786U,   // FMOVRLZS
     679             :     4208796U,   // FMOVRNZD
     680             :     4208806U,   // FMOVRNZQ
     681             :     4208830U,   // FMOVRNZS
     682             :     4208601U,   // FMOVRZD
     683             :     4208840U,   // FMOVRZQ
     684             :     4208861U,   // FMOVRZS
     685             :     2111257U,   // FMOVS
     686             :     1141710U,   // FMOVS_FCC
     687             :     151415758U, // FMOVS_ICC
     688             :     151677902U, // FMOVS_XCC
     689             :     4207008U,   // FMUL8SUX16
     690             :     4206983U,   // FMUL8ULX16
     691             :     4206960U,   // FMUL8X16
     692             :     4207672U,   // FMUL8X16AL
     693             :     4208441U,   // FMUL8X16AU
     694             :     4207423U,   // FMULD
     695             :     4206995U,   // FMULD8SUX16
     696             :     4206970U,   // FMULD8ULX16
     697             :     4207987U,   // FMULQ
     698             :     4208301U,   // FMULS
     699             :     4207400U,   // FNADDD
     700             :     4208256U,   // FNADDS
     701             :     4207444U,   // FNAND
     702             :     4208271U,   // FNANDS
     703             :     2110264U,   // FNEGD
     704             :     2110820U,   // FNEGQ
     705             :     2111142U,   // FNEGS
     706             :     4207391U,   // FNHADDD
     707             :     4208247U,   // FNHADDS
     708             :     4207391U,   // FNMULD
     709             :     4208247U,   // FNMULS
     710             :     4208087U,   // FNOR
     711             :     4208365U,   // FNORS
     712             :     2109488U,   // FNOT1
     713             :     2110990U,   // FNOT1S
     714             :     2109647U,   // FNOT2
     715             :     2111037U,   // FNOT2S
     716             :     4208247U,   // FNSMULD
     717             :     70600U,     // FONE
     718             :     71319U,     // FONES
     719             :     4208082U,   // FOR
     720             :     4206647U,   // FORNOT1
     721             :     4208150U,   // FORNOT1S
     722             :     4206806U,   // FORNOT2
     723             :     4208197U,   // FORNOT2S
     724             :     4208359U,   // FORS
     725             :     2109726U,   // FPACK16
     726             :     4206710U,   // FPACK32
     727             :     2111371U,   // FPACKFIX
     728             :     4206841U,   // FPADD16
     729             :     4208207U,   // FPADD16S
     730             :     4206673U,   // FPADD32
     731             :     4208160U,   // FPADD32S
     732             :     4206815U,   // FPADD64
     733             :     4207541U,   // FPMERGE
     734             :     4206832U,   // FPSUB16
     735             :     4207098U,   // FPSUB16S
     736             :     4206664U,   // FPSUB32
     737             :     4207088U,   // FPSUB32S
     738             :     2110315U,   // FQTOD
     739             :     2110473U,   // FQTOI
     740             :     2111178U,   // FQTOS
     741             :     2111416U,   // FQTOX
     742             :     4206941U,   // FSLAS16
     743             :     4206754U,   // FSLAS32
     744             :     4206896U,   // FSLL16
     745             :     4206728U,   // FSLL32
     746             :     4207430U,   // FSMULD
     747             :     2110362U,   // FSQRTD
     748             :     2110884U,   // FSQRTQ
     749             :     2111242U,   // FSQRTS
     750             :     4206824U,   // FSRA16
     751             :     4206656U,   // FSRA32
     752             :     2109471U,   // FSRC1
     753             :     2110971U,   // FSRC1S
     754             :     2109630U,   // FSRC2
     755             :     2111018U,   // FSRC2S
     756             :     4206904U,   // FSRL16
     757             :     4206736U,   // FSRL32
     758             :     2110322U,   // FSTOD
     759             :     2110480U,   // FSTOI
     760             :     2110856U,   // FSTOQ
     761             :     2111423U,   // FSTOX
     762             :     4207356U,   // FSUBD
     763             :     4207950U,   // FSUBQ
     764             :     4208217U,   // FSUBS
     765             :     4208093U,   // FXNOR
     766             :     4208372U,   // FXNORS
     767             :     4208100U,   // FXOR
     768             :     4208380U,   // FXORS
     769             :     2110329U,   // FXTOD
     770             :     2110863U,   // FXTOQ
     771             :     2111185U,   // FXTOS
     772             :     70966U,     // FZERO
     773             :     71348U,     // FZEROS
     774             :     2126927U,   // JMPLri
     775             :     2126927U,   // JMPLrr
     776             :     160398099U, // LDArr
     777             :     1203036U,   // LDCSRri
     778             :     1203036U,   // LDCSRrr
     779             :     3177308U,   // LDCri
     780             :     3177308U,   // LDCrr
     781             :     160398092U, // LDDArr
     782             :     3177302U,   // LDDCri
     783             :     3177302U,   // LDDCrr
     784             :     160398092U, // LDDFArr
     785             :     3177302U,   // LDDFri
     786             :     3177302U,   // LDDFrr
     787             :     3177302U,   // LDDri
     788             :     3177302U,   // LDDrr
     789             :     160398099U, // LDFArr
     790             :     1268572U,   // LDFSRri
     791             :     1268572U,   // LDFSRrr
     792             :     3177308U,   // LDFri
     793             :     3177308U,   // LDFrr
     794             :     160398129U, // LDQFArr
     795             :     3177334U,   // LDQFri
     796             :     3177334U,   // LDQFrr
     797             :     160398066U, // LDSBArr
     798             :     3177279U,   // LDSBri
     799             :     3177279U,   // LDSBrr
     800             :     160398105U, // LDSHArr
     801             :     3177313U,   // LDSHri
     802             :     3177313U,   // LDSHrr
     803             :     160398082U, // LDSTUBArr
     804             :     3177293U,   // LDSTUBri
     805             :     3177293U,   // LDSTUBrr
     806             :     3177346U,   // LDSWri
     807             :     3177346U,   // LDSWrr
     808             :     160398074U, // LDUBArr
     809             :     3177286U,   // LDUBri
     810             :     3177286U,   // LDUBrr
     811             :     160398113U, // LDUHArr
     812             :     3177320U,   // LDUHri
     813             :     3177320U,   // LDUHrr
     814             :     1268617U,   // LDXFSRri
     815             :     1268617U,   // LDXFSRrr
     816             :     3177353U,   // LDXri
     817             :     3177353U,   // LDXrr
     818             :     3177308U,   // LDri
     819             :     3177308U,   // LDrr
     820             :     33547U,     // LEAX_ADDri
     821             :     33547U,     // LEA_ADDri
     822             :     2111269U,   // LZCNT
     823             :     71103U,     // MEMBARi
     824             :     2111407U,   // MOVDTOX
     825             :     1141718U,   // MOVFCCri
     826             :     1141718U,   // MOVFCCrr
     827             :     151415766U, // MOVICCri
     828             :     151415766U, // MOVICCrr
     829             :     4208639U,   // MOVRGEZri
     830             :     4208639U,   // MOVRGEZrr
     831             :     4208734U,   // MOVRGZri
     832             :     4208734U,   // MOVRGZrr
     833             :     4208688U,   // MOVRLEZri
     834             :     4208688U,   // MOVRLEZrr
     835             :     4208778U,   // MOVRLZri
     836             :     4208778U,   // MOVRLZrr
     837             :     4208822U,   // MOVRNZri
     838             :     4208822U,   // MOVRNZrr
     839             :     4208854U,   // MOVRRZri
     840             :     4208854U,   // MOVRRZrr
     841             :     2111333U,   // MOVSTOSW
     842             :     2111343U,   // MOVSTOUW
     843             :     2111407U,   // MOVWTOS
     844             :     151677910U, // MOVXCCri
     845             :     151677910U, // MOVXCCrr
     846             :     2111407U,   // MOVXTOD
     847             :     4207303U,   // MULSCCri
     848             :     4207303U,   // MULSCCrr
     849             :     4208546U,   // MULXri
     850             :     4208546U,   // MULXrr
     851             :     3006U,      // NOP
     852             :     4207290U,   // ORCCri
     853             :     4207290U,   // ORCCrr
     854             :     4207281U,   // ORNCCri
     855             :     4207281U,   // ORNCCrr
     856             :     4207913U,   // ORNri
     857             :     4207913U,   // ORNrr
     858             :     4207913U,   // ORXNrr
     859             :     4208083U,   // ORXri
     860             :     4208083U,   // ORXrr
     861             :     4208083U,   // ORri
     862             :     4208083U,   // ORrr
     863             :     4208428U,   // PDIST
     864             :     4207918U,   // PDISTN
     865             :     2110191U,   // POPCrr
     866             :     33560054U,  // PWRPSRri
     867             :     33560054U,  // PWRPSRrr
     868             :     2110351U,   // RDASR
     869             :     2110954U,   // RDPR
     870             :     69653U,     // RDPSR
     871             :     69643U,     // RDTBR
     872             :     69633U,     // RDWIM
     873             :     4207566U,   // RESTOREri
     874             :     4207566U,   // RESTORErr
     875             :     72132U,     // RET
     876             :     72141U,     // RETL
     877             :     87859U,     // RETTri
     878             :     87859U,     // RETTrr
     879             :     4207575U,   // SAVEri
     880             :     4207575U,   // SAVErr
     881             :     4207311U,   // SDIVCCri
     882             :     4207311U,   // SDIVCCrr
     883             :     4208587U,   // SDIVXri
     884             :     4208587U,   // SDIVXrr
     885             :     4208453U,   // SDIVri
     886             :     4208453U,   // SDIVrr
     887             :     2110441U,   // SETHIXi
     888             :     2110441U,   // SETHIi
     889             :     2997U,      // SHUTDOWN
     890             :     2992U,      // SIAM
     891             :     4208533U,   // SLLXri
     892             :     4208533U,   // SLLXrr
     893             :     4207690U,   // SLLri
     894             :     4207690U,   // SLLrr
     895             :     4207213U,   // SMACri
     896             :     4207213U,   // SMACrr
     897             :     4207257U,   // SMULCCri
     898             :     4207257U,   // SMULCCrr
     899             :     4207718U,   // SMULri
     900             :     4207718U,   // SMULrr
     901             :     4208505U,   // SRAXri
     902             :     4208505U,   // SRAXrr
     903             :     4207181U,   // SRAri
     904             :     4207181U,   // SRArr
     905             :     4208539U,   // SRLXri
     906             :     4208539U,   // SRLXrr
     907             :     4207713U,   // SRLri
     908             :     4207713U,   // SRLrr
     909             :     9409118U,   // STArr
     910             :     3016U,      // STBAR
     911             :     9409077U,   // STBArr
     912             :     1348195U,   // STBri
     913             :     1348195U,   // STBrr
     914             :     1333968U,   // STCSRri
     915             :     1333968U,   // STCSRrr
     916             :     1349423U,   // STCri
     917             :     1349423U,   // STCrr
     918             :     9409083U,   // STDArr
     919             :     1333946U,   // STDCQri
     920             :     1333946U,   // STDCQrr
     921             :     1348514U,   // STDCri
     922             :     1348514U,   // STDCrr
     923             :     9409083U,   // STDFArr
     924             :     1333957U,   // STDFQri
     925             :     1333957U,   // STDFQrr
     926             :     1348514U,   // STDFri
     927             :     1348514U,   // STDFrr
     928             :     1348514U,   // STDri
     929             :     1348514U,   // STDrr
     930             :     9409118U,   // STFArr
     931             :     1333979U,   // STFSRri
     932             :     1333979U,   // STFSRrr
     933             :     1349423U,   // STFri
     934             :     1349423U,   // STFrr
     935             :     9409089U,   // STHArr
     936             :     1348580U,   // STHri
     937             :     1348580U,   // STHrr
     938             :     9409095U,   // STQFArr
     939             :     1349036U,   // STQFri
     940             :     1349036U,   // STQFrr
     941             :     1333990U,   // STXFSRri
     942             :     1333990U,   // STXFSRrr
     943             :     1349574U,   // STXri
     944             :     1349574U,   // STXrr
     945             :     1349423U,   // STri
     946             :     1349423U,   // STrr
     947             :     4207226U,   // SUBCCri
     948             :     4207226U,   // SUBCCrr
     949             :     4208511U,   // SUBCri
     950             :     4208511U,   // SUBCrr
     951             :     4207327U,   // SUBEri
     952             :     4207327U,   // SUBErr
     953             :     4207208U,   // SUBXri
     954             :     4207208U,   // SUBXrr
     955             :     4207208U,   // SUBri
     956             :     4207208U,   // SUBrr
     957             :     160398121U, // SWAPArr
     958             :     3177327U,   // SWAPri
     959             :     3177327U,   // SWAPrr
     960             :     2676U,      // TA1
     961             :     2681U,      // TA3
     962             :     2686U,      // TA5
     963             :     4208475U,   // TADDCCTVri
     964             :     4208475U,   // TADDCCTVrr
     965             :     4207242U,   // TADDCCri
     966             :     4207242U,   // TADDCCrr
     967             :     52866004U,  // TICCri
     968             :     52866004U,  // TICCrr
     969             :     289420043U, // TLS_ADDXrr
     970             :     289420043U, // TLS_ADDrr
     971             :     5188U,      // TLS_CALL
     972             :     288390025U, // TLS_LDXrr
     973             :     288389980U, // TLS_LDrr
     974             :     52603860U,  // TRAPri
     975             :     52603860U,  // TRAPrr
     976             :     4208465U,   // TSUBCCTVri
     977             :     4208465U,   // TSUBCCTVrr
     978             :     4207225U,   // TSUBCCri
     979             :     4207225U,   // TSUBCCrr
     980             :     53128148U,  // TXCCri
     981             :     53128148U,  // TXCCrr
     982             :     4207319U,   // UDIVCCri
     983             :     4207319U,   // UDIVCCrr
     984             :     4208594U,   // UDIVXri
     985             :     4208594U,   // UDIVXrr
     986             :     4208459U,   // UDIVri
     987             :     4208459U,   // UDIVrr
     988             :     4207219U,   // UMACri
     989             :     4207219U,   // UMACrr
     990             :     4207265U,   // UMULCCri
     991             :     4207265U,   // UMULCCrr
     992             :     4207600U,   // UMULXHI
     993             :     4207724U,   // UMULri
     994             :     4207724U,   // UMULrr
     995             :     70978U,     // UNIMP
     996             :     16782208U,  // V9FCMPD
     997             :     16782128U,  // V9FCMPED
     998             :     16782684U,  // V9FCMPEQ
     999             :     16783006U,  // V9FCMPES
    1000             :     16782742U,  // V9FCMPQ
    1001             :     16783064U,  // V9FCMPS
    1002             :     48028U,     // V9FMOVD_FCC
    1003             :     48066U,     // V9FMOVQ_FCC
    1004             :     48078U,     // V9FMOVS_FCC
    1005             :     48086U,     // V9MOVFCCri
    1006             :     48086U,     // V9MOVFCCrr
    1007             :     4208119U,   // WRASRri
    1008             :     4208119U,   // WRASRrr
    1009             :     4208112U,   // WRPRri
    1010             :     4208112U,   // WRPRrr
    1011             :     33560055U,  // WRPSRri
    1012             :     33560055U,  // WRPSRrr
    1013             :     67114487U,  // WRTBRri
    1014             :     67114487U,  // WRTBRrr
    1015             :     83891703U,  // WRWIMri
    1016             :     83891703U,  // WRWIMrr
    1017             :     4208545U,   // XMULX
    1018             :     4207609U,   // XMULXHI
    1019             :     4207288U,   // XNORCCri
    1020             :     4207288U,   // XNORCCrr
    1021             :     4208094U,   // XNORXrr
    1022             :     4208094U,   // XNORri
    1023             :     4208094U,   // XNORrr
    1024             :     4207296U,   // XORCCri
    1025             :     4207296U,   // XORCCrr
    1026             :     4208101U,   // XORXri
    1027             :     4208101U,   // XORXrr
    1028             :     4208101U,   // XORri
    1029             :     4208101U,   // XORrr
    1030             :   };
    1031             : 
    1032        7982 :   O << "\t";
    1033             : 
    1034             :   // Emit the opcode for the instruction.
    1035             :   uint32_t Bits = 0;
    1036        7982 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
    1037             :   assert(Bits != 0 && "Cannot print this instruction.");
    1038        7982 :   O << AsmStrs+(Bits & 4095)-1;
    1039             : 
    1040             : 
    1041             :   // Fragment 0 encoded into 4 bits for 12 unique commands.
    1042        7982 :   switch ((Bits >> 12) & 15) {
    1043           0 :   default: llvm_unreachable("Invalid command number.");
    1044             :   case 0:
    1045             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
    1046             :     return;
    1047             :     break;
    1048         814 :   case 1:
    1049             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
    1050         814 :     printOperand(MI, 0, STI, O);
    1051         814 :     break;
    1052           0 :   case 2:
    1053             :     // GETPCX
    1054           0 :     printGetPCX(MI, 0, STI, O);
    1055           0 :     return;
    1056             :     break;
    1057        3197 :   case 3:
    1058             :     // SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC,...
    1059        3197 :     printOperand(MI, 1, STI, O);
    1060        3197 :     break;
    1061         369 :   case 4:
    1062             :     // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
    1063         369 :     printCCOperand(MI, 1, STI, O);
    1064         369 :     break;
    1065          56 :   case 5:
    1066             :     // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
    1067          56 :     printMemOperand(MI, 0, STI, O);
    1068          56 :     break;
    1069          13 :   case 6:
    1070             :     // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
    1071          13 :     printCCOperand(MI, 3, STI, O);
    1072          13 :     break;
    1073        1283 :   case 7:
    1074             :     // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
    1075        1283 :     printMemOperand(MI, 1, STI, O);
    1076        1283 :     break;
    1077         125 :   case 8:
    1078             :     // LEAX_ADDri, LEA_ADDri
    1079         125 :     printMemOperand(MI, 1, STI, O, "arith");
    1080         125 :     O << ", ";
    1081         125 :     printOperand(MI, 0, STI, O);
    1082         125 :     return;
    1083             :     break;
    1084        1564 :   case 9:
    1085             :     // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
    1086        1564 :     printOperand(MI, 2, STI, O);
    1087        1564 :     O << ", [";
    1088        1564 :     printMemOperand(MI, 0, STI, O);
    1089        1564 :     break;
    1090           0 :   case 10:
    1091             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1092           0 :     printCCOperand(MI, 2, STI, O);
    1093           0 :     break;
    1094           0 :   case 11:
    1095             :     // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
    1096           0 :     printCCOperand(MI, 4, STI, O);
    1097             :     O << ' ';
    1098           0 :     printOperand(MI, 1, STI, O);
    1099           0 :     O << ", ";
    1100           0 :     printOperand(MI, 2, STI, O);
    1101           0 :     O << ", ";
    1102           0 :     printOperand(MI, 0, STI, O);
    1103           0 :     return;
    1104             :     break;
    1105             :   }
    1106             : 
    1107             : 
    1108             :   // Fragment 1 encoded into 5 bits for 21 unique commands.
    1109        7296 :   switch ((Bits >> 16) & 31) {
    1110           0 :   default: llvm_unreachable("Invalid command number.");
    1111        3452 :   case 0:
    1112             :     // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
    1113        3452 :     O << ", ";
    1114        3452 :     break;
    1115             :   case 1:
    1116             :     // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
    1117             :     return;
    1118             :     break;
    1119             :   case 2:
    1120             :     // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
    1121             :     O << ' ';
    1122             :     break;
    1123         115 :   case 3:
    1124             :     // BCONDA, BPFCCA, CBCONDA, FBCONDA
    1125         115 :     O << ",a ";
    1126         115 :     break;
    1127           0 :   case 4:
    1128             :     // BPFCCANT
    1129           0 :     O << ",a,pn ";
    1130           0 :     printOperand(MI, 2, STI, O);
    1131           0 :     O << ", ";
    1132           0 :     printOperand(MI, 0, STI, O);
    1133           0 :     return;
    1134             :     break;
    1135           0 :   case 5:
    1136             :     // BPFCCNT
    1137           0 :     O << ",pn ";
    1138           0 :     printOperand(MI, 2, STI, O);
    1139           0 :     O << ", ";
    1140           0 :     printOperand(MI, 0, STI, O);
    1141           0 :     return;
    1142             :     break;
    1143          14 :   case 6:
    1144             :     // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
    1145          14 :     O << " %icc, ";
    1146          14 :     break;
    1147          25 :   case 7:
    1148             :     // BPICCA
    1149          25 :     O << ",a %icc, ";
    1150          25 :     printOperand(MI, 0, STI, O);
    1151          25 :     return;
    1152             :     break;
    1153           0 :   case 8:
    1154             :     // BPICCANT
    1155           0 :     O << ",a,pn %icc, ";
    1156           0 :     printOperand(MI, 0, STI, O);
    1157           0 :     return;
    1158             :     break;
    1159           0 :   case 9:
    1160             :     // BPICCNT
    1161           0 :     O << ",pn %icc, ";
    1162           0 :     printOperand(MI, 0, STI, O);
    1163           0 :     return;
    1164             :     break;
    1165          33 :   case 10:
    1166             :     // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
    1167          33 :     O << " %xcc, ";
    1168          33 :     break;
    1169          25 :   case 11:
    1170             :     // BPXCCA
    1171          25 :     O << ",a %xcc, ";
    1172          25 :     printOperand(MI, 0, STI, O);
    1173          25 :     return;
    1174             :     break;
    1175           0 :   case 12:
    1176             :     // BPXCCANT
    1177           0 :     O << ",a,pn %xcc, ";
    1178           0 :     printOperand(MI, 0, STI, O);
    1179           0 :     return;
    1180             :     break;
    1181           0 :   case 13:
    1182             :     // BPXCCNT
    1183           0 :     O << ",pn %xcc, ";
    1184           0 :     printOperand(MI, 0, STI, O);
    1185           0 :     return;
    1186             :     break;
    1187          19 :   case 14:
    1188             :     // CASAasi10
    1189          19 :     O << "] 10, ";
    1190          19 :     printOperand(MI, 2, STI, O);
    1191          19 :     O << ", ";
    1192          19 :     printOperand(MI, 0, STI, O);
    1193          19 :     return;
    1194             :     break;
    1195          53 :   case 15:
    1196             :     // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
    1197          53 :     O << "] ";
    1198          53 :     break;
    1199        1269 :   case 16:
    1200             :     // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
    1201        1269 :     O << "], ";
    1202        1269 :     break;
    1203          13 :   case 17:
    1204             :     // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
    1205          13 :     O << " %fcc0, ";
    1206          13 :     printOperand(MI, 1, STI, O);
    1207          13 :     O << ", ";
    1208          13 :     printOperand(MI, 0, STI, O);
    1209          13 :     return;
    1210             :     break;
    1211           3 :   case 18:
    1212             :     // LDCSRri, LDCSRrr
    1213           3 :     O << "], %csr";
    1214           3 :     return;
    1215             :     break;
    1216           6 :   case 19:
    1217             :     // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
    1218           6 :     O << "], %fsr";
    1219           6 :     return;
    1220             :     break;
    1221             :   case 20:
    1222             :     // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
    1223             :     O << ']';
    1224             :     return;
    1225             :     break;
    1226             :   }
    1227             : 
    1228             : 
    1229             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
    1230        5093 :   switch ((Bits >> 21) & 7) {
    1231           0 :   default: llvm_unreachable("Invalid command number.");
    1232         294 :   case 0:
    1233             :     // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
    1234         294 :     printOperand(MI, 1, STI, O);
    1235         294 :     break;
    1236        2172 :   case 1:
    1237             :     // SET, BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS...
    1238        2172 :     printOperand(MI, 0, STI, O);
    1239        2172 :     break;
    1240        2574 :   case 2:
    1241             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1242        2574 :     printOperand(MI, 2, STI, O);
    1243        2574 :     O << ", ";
    1244        2574 :     printOperand(MI, 0, STI, O);
    1245        2574 :     break;
    1246          10 :   case 3:
    1247             :     // CASArr
    1248          10 :     printOperand(MI, 4, STI, O);
    1249          10 :     O << ", ";
    1250          10 :     printOperand(MI, 2, STI, O);
    1251          10 :     O << ", ";
    1252          10 :     printOperand(MI, 0, STI, O);
    1253          10 :     return;
    1254             :     break;
    1255          43 :   case 4:
    1256             :     // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
    1257          43 :     printOperand(MI, 3, STI, O);
    1258          43 :     break;
    1259             :   }
    1260             : 
    1261             : 
    1262             :   // Fragment 3 encoded into 3 bits for 6 unique commands.
    1263        5083 :   switch ((Bits >> 24) & 7) {
    1264           0 :   default: llvm_unreachable("Invalid command number.");
    1265             :   case 0:
    1266             :     // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
    1267             :     return;
    1268             :     break;
    1269          52 :   case 1:
    1270             :     // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
    1271          52 :     O << ", ";
    1272             :     break;
    1273          22 :   case 2:
    1274             :     // PWRPSRri, PWRPSRrr, WRPSRri, WRPSRrr
    1275          22 :     O << ", %psr";
    1276          22 :     return;
    1277             :     break;
    1278           0 :   case 3:
    1279             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1280           0 :     O << " + ";
    1281           0 :     printOperand(MI, 1, STI, O);
    1282           0 :     return;
    1283             :     break;
    1284          19 :   case 4:
    1285             :     // WRTBRri, WRTBRrr
    1286          19 :     O << ", %tbr";
    1287          19 :     return;
    1288             :     break;
    1289          19 :   case 5:
    1290             :     // WRWIMri, WRWIMrr
    1291          19 :     O << ", %wim";
    1292          19 :     return;
    1293             :     break;
    1294             :   }
    1295             : 
    1296             : 
    1297             :   // Fragment 4 encoded into 2 bits for 3 unique commands.
    1298          52 :   switch ((Bits >> 27) & 3) {
    1299           0 :   default: llvm_unreachable("Invalid command number.");
    1300           6 :   case 0:
    1301             :     // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
    1302           6 :     printOperand(MI, 2, STI, O);
    1303           6 :     return;
    1304             :     break;
    1305          24 :   case 1:
    1306             :     // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
    1307          24 :     printOperand(MI, 0, STI, O);
    1308          24 :     return;
    1309             :     break;
    1310          22 :   case 2:
    1311             :     // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
    1312          22 :     printOperand(MI, 3, STI, O);
    1313          22 :     return;
    1314             :     break;
    1315             :   }
    1316             : 
    1317             : }
    1318             : 
    1319             : 
    1320             : /// getRegisterName - This method is automatically generated by tblgen
    1321             : /// from the register set description.  This returns the assembler name
    1322             : /// for the specified register.
    1323       16896 : const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
    1324             :   assert(RegNo && RegNo < 236 && "Invalid register number!");
    1325             : 
    1326             :   static const char AsmStrs[] = {
    1327             :   /* 0 */ 'C', '1', '0', 0,
    1328             :   /* 4 */ 'F', '1', '0', 0,
    1329             :   /* 8 */ 'A', 'S', 'R', '1', '0', 0,
    1330             :   /* 14 */ 'C', '2', '0', 0,
    1331             :   /* 18 */ 'F', '2', '0', 0,
    1332             :   /* 22 */ 'A', 'S', 'R', '2', '0', 0,
    1333             :   /* 28 */ 'C', '3', '0', 0,
    1334             :   /* 32 */ 'F', '3', '0', 0,
    1335             :   /* 36 */ 'A', 'S', 'R', '3', '0', 0,
    1336             :   /* 42 */ 'F', '4', '0', 0,
    1337             :   /* 46 */ 'F', '5', '0', 0,
    1338             :   /* 50 */ 'F', '6', '0', 0,
    1339             :   /* 54 */ 'F', 'C', 'C', '0', 0,
    1340             :   /* 59 */ 'F', '0', 0,
    1341             :   /* 62 */ 'G', '0', 0,
    1342             :   /* 65 */ 'I', '0', 0,
    1343             :   /* 68 */ 'L', '0', 0,
    1344             :   /* 71 */ 'O', '0', 0,
    1345             :   /* 74 */ 'C', '1', '1', 0,
    1346             :   /* 78 */ 'F', '1', '1', 0,
    1347             :   /* 82 */ 'A', 'S', 'R', '1', '1', 0,
    1348             :   /* 88 */ 'C', '2', '1', 0,
    1349             :   /* 92 */ 'F', '2', '1', 0,
    1350             :   /* 96 */ 'A', 'S', 'R', '2', '1', 0,
    1351             :   /* 102 */ 'C', '3', '1', 0,
    1352             :   /* 106 */ 'F', '3', '1', 0,
    1353             :   /* 110 */ 'A', 'S', 'R', '3', '1', 0,
    1354             :   /* 116 */ 'F', 'C', 'C', '1', 0,
    1355             :   /* 121 */ 'F', '1', 0,
    1356             :   /* 124 */ 'G', '1', 0,
    1357             :   /* 127 */ 'I', '1', 0,
    1358             :   /* 130 */ 'L', '1', 0,
    1359             :   /* 133 */ 'O', '1', 0,
    1360             :   /* 136 */ 'A', 'S', 'R', '1', 0,
    1361             :   /* 141 */ 'C', '1', '2', 0,
    1362             :   /* 145 */ 'F', '1', '2', 0,
    1363             :   /* 149 */ 'A', 'S', 'R', '1', '2', 0,
    1364             :   /* 155 */ 'C', '2', '2', 0,
    1365             :   /* 159 */ 'F', '2', '2', 0,
    1366             :   /* 163 */ 'A', 'S', 'R', '2', '2', 0,
    1367             :   /* 169 */ 'F', '3', '2', 0,
    1368             :   /* 173 */ 'F', '4', '2', 0,
    1369             :   /* 177 */ 'F', '5', '2', 0,
    1370             :   /* 181 */ 'F', '6', '2', 0,
    1371             :   /* 185 */ 'F', 'C', 'C', '2', 0,
    1372             :   /* 190 */ 'F', '2', 0,
    1373             :   /* 193 */ 'G', '2', 0,
    1374             :   /* 196 */ 'I', '2', 0,
    1375             :   /* 199 */ 'L', '2', 0,
    1376             :   /* 202 */ 'O', '2', 0,
    1377             :   /* 205 */ 'A', 'S', 'R', '2', 0,
    1378             :   /* 210 */ 'C', '1', '3', 0,
    1379             :   /* 214 */ 'F', '1', '3', 0,
    1380             :   /* 218 */ 'A', 'S', 'R', '1', '3', 0,
    1381             :   /* 224 */ 'C', '2', '3', 0,
    1382             :   /* 228 */ 'F', '2', '3', 0,
    1383             :   /* 232 */ 'A', 'S', 'R', '2', '3', 0,
    1384             :   /* 238 */ 'F', 'C', 'C', '3', 0,
    1385             :   /* 243 */ 'F', '3', 0,
    1386             :   /* 246 */ 'G', '3', 0,
    1387             :   /* 249 */ 'I', '3', 0,
    1388             :   /* 252 */ 'L', '3', 0,
    1389             :   /* 255 */ 'O', '3', 0,
    1390             :   /* 258 */ 'A', 'S', 'R', '3', 0,
    1391             :   /* 263 */ 'C', '1', '4', 0,
    1392             :   /* 267 */ 'F', '1', '4', 0,
    1393             :   /* 271 */ 'A', 'S', 'R', '1', '4', 0,
    1394             :   /* 277 */ 'C', '2', '4', 0,
    1395             :   /* 281 */ 'F', '2', '4', 0,
    1396             :   /* 285 */ 'A', 'S', 'R', '2', '4', 0,
    1397             :   /* 291 */ 'F', '3', '4', 0,
    1398             :   /* 295 */ 'F', '4', '4', 0,
    1399             :   /* 299 */ 'F', '5', '4', 0,
    1400             :   /* 303 */ 'C', '4', 0,
    1401             :   /* 306 */ 'F', '4', 0,
    1402             :   /* 309 */ 'G', '4', 0,
    1403             :   /* 312 */ 'I', '4', 0,
    1404             :   /* 315 */ 'L', '4', 0,
    1405             :   /* 318 */ 'O', '4', 0,
    1406             :   /* 321 */ 'A', 'S', 'R', '4', 0,
    1407             :   /* 326 */ 'C', '1', '5', 0,
    1408             :   /* 330 */ 'F', '1', '5', 0,
    1409             :   /* 334 */ 'A', 'S', 'R', '1', '5', 0,
    1410             :   /* 340 */ 'C', '2', '5', 0,
    1411             :   /* 344 */ 'F', '2', '5', 0,
    1412             :   /* 348 */ 'A', 'S', 'R', '2', '5', 0,
    1413             :   /* 354 */ 'C', '5', 0,
    1414             :   /* 357 */ 'F', '5', 0,
    1415             :   /* 360 */ 'G', '5', 0,
    1416             :   /* 363 */ 'I', '5', 0,
    1417             :   /* 366 */ 'L', '5', 0,
    1418             :   /* 369 */ 'O', '5', 0,
    1419             :   /* 372 */ 'A', 'S', 'R', '5', 0,
    1420             :   /* 377 */ 'C', '1', '6', 0,
    1421             :   /* 381 */ 'F', '1', '6', 0,
    1422             :   /* 385 */ 'A', 'S', 'R', '1', '6', 0,
    1423             :   /* 391 */ 'C', '2', '6', 0,
    1424             :   /* 395 */ 'F', '2', '6', 0,
    1425             :   /* 399 */ 'A', 'S', 'R', '2', '6', 0,
    1426             :   /* 405 */ 'F', '3', '6', 0,
    1427             :   /* 409 */ 'F', '4', '6', 0,
    1428             :   /* 413 */ 'F', '5', '6', 0,
    1429             :   /* 417 */ 'C', '6', 0,
    1430             :   /* 420 */ 'F', '6', 0,
    1431             :   /* 423 */ 'G', '6', 0,
    1432             :   /* 426 */ 'I', '6', 0,
    1433             :   /* 429 */ 'L', '6', 0,
    1434             :   /* 432 */ 'O', '6', 0,
    1435             :   /* 435 */ 'A', 'S', 'R', '6', 0,
    1436             :   /* 440 */ 'C', '1', '7', 0,
    1437             :   /* 444 */ 'F', '1', '7', 0,
    1438             :   /* 448 */ 'A', 'S', 'R', '1', '7', 0,
    1439             :   /* 454 */ 'C', '2', '7', 0,
    1440             :   /* 458 */ 'F', '2', '7', 0,
    1441             :   /* 462 */ 'A', 'S', 'R', '2', '7', 0,
    1442             :   /* 468 */ 'C', '7', 0,
    1443             :   /* 471 */ 'F', '7', 0,
    1444             :   /* 474 */ 'G', '7', 0,
    1445             :   /* 477 */ 'I', '7', 0,
    1446             :   /* 480 */ 'L', '7', 0,
    1447             :   /* 483 */ 'O', '7', 0,
    1448             :   /* 486 */ 'A', 'S', 'R', '7', 0,
    1449             :   /* 491 */ 'C', '1', '8', 0,
    1450             :   /* 495 */ 'F', '1', '8', 0,
    1451             :   /* 499 */ 'A', 'S', 'R', '1', '8', 0,
    1452             :   /* 505 */ 'C', '2', '8', 0,
    1453             :   /* 509 */ 'F', '2', '8', 0,
    1454             :   /* 513 */ 'A', 'S', 'R', '2', '8', 0,
    1455             :   /* 519 */ 'F', '3', '8', 0,
    1456             :   /* 523 */ 'F', '4', '8', 0,
    1457             :   /* 527 */ 'F', '5', '8', 0,
    1458             :   /* 531 */ 'C', '8', 0,
    1459             :   /* 534 */ 'F', '8', 0,
    1460             :   /* 537 */ 'A', 'S', 'R', '8', 0,
    1461             :   /* 542 */ 'C', '1', '9', 0,
    1462             :   /* 546 */ 'F', '1', '9', 0,
    1463             :   /* 550 */ 'A', 'S', 'R', '1', '9', 0,
    1464             :   /* 556 */ 'C', '2', '9', 0,
    1465             :   /* 560 */ 'F', '2', '9', 0,
    1466             :   /* 564 */ 'A', 'S', 'R', '2', '9', 0,
    1467             :   /* 570 */ 'C', '9', 0,
    1468             :   /* 573 */ 'F', '9', 0,
    1469             :   /* 576 */ 'A', 'S', 'R', '9', 0,
    1470             :   /* 581 */ 'T', 'B', 'A', 0,
    1471             :   /* 585 */ 'I', 'C', 'C', 0,
    1472             :   /* 589 */ 'T', 'N', 'P', 'C', 0,
    1473             :   /* 594 */ 'T', 'P', 'C', 0,
    1474             :   /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
    1475             :   /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
    1476             :   /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
    1477             :   /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
    1478             :   /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
    1479             :   /* 638 */ 'T', 'I', 'C', 'K', 0,
    1480             :   /* 643 */ 'P', 'I', 'L', 0,
    1481             :   /* 647 */ 'T', 'L', 0,
    1482             :   /* 650 */ 'W', 'I', 'M', 0,
    1483             :   /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
    1484             :   /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
    1485             :   /* 672 */ 'F', 'P', 0,
    1486             :   /* 675 */ 'S', 'P', 0,
    1487             :   /* 678 */ 'C', 'W', 'P', 0,
    1488             :   /* 682 */ 'F', 'Q', 0,
    1489             :   /* 685 */ 'C', 'P', 'Q', 0,
    1490             :   /* 689 */ 'T', 'B', 'R', 0,
    1491             :   /* 693 */ 'F', 'S', 'R', 0,
    1492             :   /* 697 */ 'C', 'P', 'S', 'R', 0,
    1493             :   /* 702 */ 'T', 'T', 0,
    1494             :   /* 705 */ 'Y', 0,
    1495             :   };
    1496             : 
    1497             :   static const uint16_t RegAsmOffset[] = {
    1498             :     598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
    1499             :     689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
    1500             :     372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
    1501             :     550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
    1502             :     118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
    1503             :     326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
    1504             :     556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
    1505             :     159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
    1506             :     46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
    1507             :     471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
    1508             :     92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
    1509             :     238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
    1510             :     363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
    1511             :     255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
    1512             :     405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
    1513             :     263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
    1514             :     196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
    1515             :   };
    1516             : 
    1517             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
    1518             :           "Invalid alt name index for register!");
    1519       16896 :   return AsmStrs+RegAsmOffset[RegNo-1];
    1520             : }
    1521             : 
    1522             : #ifdef PRINT_ALIAS_INSTR
    1523             : #undef PRINT_ALIAS_INSTR
    1524             : 
    1525       10744 : bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
    1526             :   const char *AsmString;
    1527       10744 :   switch (MI->getOpcode()) {
    1528             :   default: return false;
    1529             :   case SP::BCOND:
    1530         169 :     if (MI->getNumOperands() == 2 &&
    1531         169 :         MI->getOperand(1).isImm() &&
    1532         169 :         MI->getOperand(1).getImm() == 8) {
    1533             :       // (BCOND brtarget:$imm, { 1, 0, 0, 0 })
    1534             :       AsmString = "ba $\x01";
    1535             :       break;
    1536             :     }
    1537         167 :     if (MI->getNumOperands() == 2 &&
    1538         167 :         MI->getOperand(1).isImm() &&
    1539         167 :         MI->getOperand(1).getImm() == 0) {
    1540             :       // (BCOND brtarget:$imm, { 0, 0, 0, 0 })
    1541             :       AsmString = "bn $\x01";
    1542             :       break;
    1543             :     }
    1544         167 :     if (MI->getNumOperands() == 2 &&
    1545         167 :         MI->getOperand(1).isImm() &&
    1546         167 :         MI->getOperand(1).getImm() == 9) {
    1547             :       // (BCOND brtarget:$imm, { 1, 0, 0, 1 })
    1548             :       AsmString = "bne $\x01";
    1549             :       break;
    1550             :     }
    1551          94 :     if (MI->getNumOperands() == 2 &&
    1552          94 :         MI->getOperand(1).isImm() &&
    1553          94 :         MI->getOperand(1).getImm() == 1) {
    1554             :       // (BCOND brtarget:$imm, { 0, 0, 0, 1 })
    1555             :       AsmString = "be $\x01";
    1556             :       break;
    1557             :     }
    1558          64 :     if (MI->getNumOperands() == 2 &&
    1559          64 :         MI->getOperand(1).isImm() &&
    1560          64 :         MI->getOperand(1).getImm() == 10) {
    1561             :       // (BCOND brtarget:$imm, { 1, 0, 1, 0 })
    1562             :       AsmString = "bg $\x01";
    1563             :       break;
    1564             :     }
    1565          53 :     if (MI->getNumOperands() == 2 &&
    1566          53 :         MI->getOperand(1).isImm() &&
    1567          53 :         MI->getOperand(1).getImm() == 2) {
    1568             :       // (BCOND brtarget:$imm, { 0, 0, 1, 0 })
    1569             :       AsmString = "ble $\x01";
    1570             :       break;
    1571             :     }
    1572          49 :     if (MI->getNumOperands() == 2 &&
    1573          49 :         MI->getOperand(1).isImm() &&
    1574          49 :         MI->getOperand(1).getImm() == 11) {
    1575             :       // (BCOND brtarget:$imm, { 1, 0, 1, 1 })
    1576             :       AsmString = "bge $\x01";
    1577             :       break;
    1578             :     }
    1579          46 :     if (MI->getNumOperands() == 2 &&
    1580          46 :         MI->getOperand(1).isImm() &&
    1581          46 :         MI->getOperand(1).getImm() == 3) {
    1582             :       // (BCOND brtarget:$imm, { 0, 0, 1, 1 })
    1583             :       AsmString = "bl $\x01";
    1584             :       break;
    1585             :     }
    1586          35 :     if (MI->getNumOperands() == 2 &&
    1587          35 :         MI->getOperand(1).isImm() &&
    1588          35 :         MI->getOperand(1).getImm() == 12) {
    1589             :       // (BCOND brtarget:$imm, { 1, 1, 0, 0 })
    1590             :       AsmString = "bgu $\x01";
    1591             :       break;
    1592             :     }
    1593          31 :     if (MI->getNumOperands() == 2 &&
    1594          31 :         MI->getOperand(1).isImm() &&
    1595          31 :         MI->getOperand(1).getImm() == 4) {
    1596             :       // (BCOND brtarget:$imm, { 0, 1, 0, 0 })
    1597             :       AsmString = "bleu $\x01";
    1598             :       break;
    1599             :     }
    1600          26 :     if (MI->getNumOperands() == 2 &&
    1601          26 :         MI->getOperand(1).isImm() &&
    1602          26 :         MI->getOperand(1).getImm() == 13) {
    1603             :       // (BCOND brtarget:$imm, { 1, 1, 0, 1 })
    1604             :       AsmString = "bcc $\x01";
    1605             :       break;
    1606             :     }
    1607          21 :     if (MI->getNumOperands() == 2 &&
    1608          21 :         MI->getOperand(1).isImm() &&
    1609          21 :         MI->getOperand(1).getImm() == 5) {
    1610             :       // (BCOND brtarget:$imm, { 0, 1, 0, 1 })
    1611             :       AsmString = "bcs $\x01";
    1612             :       break;
    1613             :     }
    1614          12 :     if (MI->getNumOperands() == 2 &&
    1615          12 :         MI->getOperand(1).isImm() &&
    1616          12 :         MI->getOperand(1).getImm() == 14) {
    1617             :       // (BCOND brtarget:$imm, { 1, 1, 1, 0 })
    1618             :       AsmString = "bpos $\x01";
    1619             :       break;
    1620             :     }
    1621           9 :     if (MI->getNumOperands() == 2 &&
    1622           9 :         MI->getOperand(1).isImm() &&
    1623           9 :         MI->getOperand(1).getImm() == 6) {
    1624             :       // (BCOND brtarget:$imm, { 0, 1, 1, 0 })
    1625             :       AsmString = "bneg $\x01";
    1626             :       break;
    1627             :     }
    1628           6 :     if (MI->getNumOperands() == 2 &&
    1629           6 :         MI->getOperand(1).isImm() &&
    1630           6 :         MI->getOperand(1).getImm() == 15) {
    1631             :       // (BCOND brtarget:$imm, { 1, 1, 1, 1 })
    1632             :       AsmString = "bvc $\x01";
    1633             :       break;
    1634             :     }
    1635           3 :     if (MI->getNumOperands() == 2 &&
    1636           3 :         MI->getOperand(1).isImm() &&
    1637           3 :         MI->getOperand(1).getImm() == 7) {
    1638             :       // (BCOND brtarget:$imm, { 0, 1, 1, 1 })
    1639             :       AsmString = "bvs $\x01";
    1640             :       break;
    1641             :     }
    1642             :     return false;
    1643             :   case SP::BCONDA:
    1644          30 :     if (MI->getNumOperands() == 2 &&
    1645          30 :         MI->getOperand(1).isImm() &&
    1646          30 :         MI->getOperand(1).getImm() == 8) {
    1647             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 0 })
    1648             :       AsmString = "ba,a $\x01";
    1649             :       break;
    1650             :     }
    1651          28 :     if (MI->getNumOperands() == 2 &&
    1652          28 :         MI->getOperand(1).isImm() &&
    1653          28 :         MI->getOperand(1).getImm() == 0) {
    1654             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 0 })
    1655             :       AsmString = "bn,a $\x01";
    1656             :       break;
    1657             :     }
    1658          28 :     if (MI->getNumOperands() == 2 &&
    1659          28 :         MI->getOperand(1).isImm() &&
    1660          28 :         MI->getOperand(1).getImm() == 9) {
    1661             :       // (BCONDA brtarget:$imm, { 1, 0, 0, 1 })
    1662             :       AsmString = "bne,a $\x01";
    1663             :       break;
    1664             :     }
    1665          26 :     if (MI->getNumOperands() == 2 &&
    1666          26 :         MI->getOperand(1).isImm() &&
    1667          26 :         MI->getOperand(1).getImm() == 1) {
    1668             :       // (BCONDA brtarget:$imm, { 0, 0, 0, 1 })
    1669             :       AsmString = "be,a $\x01";
    1670             :       break;
    1671             :     }
    1672          24 :     if (MI->getNumOperands() == 2 &&
    1673          24 :         MI->getOperand(1).isImm() &&
    1674          24 :         MI->getOperand(1).getImm() == 10) {
    1675             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 0 })
    1676             :       AsmString = "bg,a $\x01";
    1677             :       break;
    1678             :     }
    1679          22 :     if (MI->getNumOperands() == 2 &&
    1680          22 :         MI->getOperand(1).isImm() &&
    1681          22 :         MI->getOperand(1).getImm() == 2) {
    1682             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 0 })
    1683             :       AsmString = "ble,a $\x01";
    1684             :       break;
    1685             :     }
    1686          20 :     if (MI->getNumOperands() == 2 &&
    1687          20 :         MI->getOperand(1).isImm() &&
    1688          20 :         MI->getOperand(1).getImm() == 11) {
    1689             :       // (BCONDA brtarget:$imm, { 1, 0, 1, 1 })
    1690             :       AsmString = "bge,a $\x01";
    1691             :       break;
    1692             :     }
    1693          18 :     if (MI->getNumOperands() == 2 &&
    1694          18 :         MI->getOperand(1).isImm() &&
    1695          18 :         MI->getOperand(1).getImm() == 3) {
    1696             :       // (BCONDA brtarget:$imm, { 0, 0, 1, 1 })
    1697             :       AsmString = "bl,a $\x01";
    1698             :       break;
    1699             :     }
    1700          16 :     if (MI->getNumOperands() == 2 &&
    1701          16 :         MI->getOperand(1).isImm() &&
    1702          16 :         MI->getOperand(1).getImm() == 12) {
    1703             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 0 })
    1704             :       AsmString = "bgu,a $\x01";
    1705             :       break;
    1706             :     }
    1707          14 :     if (MI->getNumOperands() == 2 &&
    1708          14 :         MI->getOperand(1).isImm() &&
    1709          14 :         MI->getOperand(1).getImm() == 4) {
    1710             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 0 })
    1711             :       AsmString = "bleu,a $\x01";
    1712             :       break;
    1713             :     }
    1714          12 :     if (MI->getNumOperands() == 2 &&
    1715          12 :         MI->getOperand(1).isImm() &&
    1716          12 :         MI->getOperand(1).getImm() == 13) {
    1717             :       // (BCONDA brtarget:$imm, { 1, 1, 0, 1 })
    1718             :       AsmString = "bcc,a $\x01";
    1719             :       break;
    1720             :     }
    1721          10 :     if (MI->getNumOperands() == 2 &&
    1722          10 :         MI->getOperand(1).isImm() &&
    1723          10 :         MI->getOperand(1).getImm() == 5) {
    1724             :       // (BCONDA brtarget:$imm, { 0, 1, 0, 1 })
    1725             :       AsmString = "bcs,a $\x01";
    1726             :       break;
    1727             :     }
    1728           8 :     if (MI->getNumOperands() == 2 &&
    1729           8 :         MI->getOperand(1).isImm() &&
    1730           8 :         MI->getOperand(1).getImm() == 14) {
    1731             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 0 })
    1732             :       AsmString = "bpos,a $\x01";
    1733             :       break;
    1734             :     }
    1735           6 :     if (MI->getNumOperands() == 2 &&
    1736           6 :         MI->getOperand(1).isImm() &&
    1737           6 :         MI->getOperand(1).getImm() == 6) {
    1738             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 0 })
    1739             :       AsmString = "bneg,a $\x01";
    1740             :       break;
    1741             :     }
    1742           4 :     if (MI->getNumOperands() == 2 &&
    1743           4 :         MI->getOperand(1).isImm() &&
    1744           4 :         MI->getOperand(1).getImm() == 15) {
    1745             :       // (BCONDA brtarget:$imm, { 1, 1, 1, 1 })
    1746             :       AsmString = "bvc,a $\x01";
    1747             :       break;
    1748             :     }
    1749           2 :     if (MI->getNumOperands() == 2 &&
    1750           2 :         MI->getOperand(1).isImm() &&
    1751           2 :         MI->getOperand(1).getImm() == 7) {
    1752             :       // (BCONDA brtarget:$imm, { 0, 1, 1, 1 })
    1753             :       AsmString = "bvs,a $\x01";
    1754             :       break;
    1755             :     }
    1756             :     return false;
    1757             :   case SP::BPFCCANT:
    1758          15 :     if (MI->getNumOperands() == 3 &&
    1759          15 :         MI->getOperand(1).isImm() &&
    1760          15 :         MI->getOperand(1).getImm() == 8 &&
    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, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1765             :       AsmString = "fba,a,pn $\x03, $\x01";
    1766             :       break;
    1767             :     }
    1768          15 :     if (MI->getNumOperands() == 3 &&
    1769          15 :         MI->getOperand(1).isImm() &&
    1770          15 :         MI->getOperand(1).getImm() == 0 &&
    1771           0 :         MI->getOperand(2).isReg() &&
    1772          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1773             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1774             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1775             :       AsmString = "fbn,a,pn $\x03, $\x01";
    1776             :       break;
    1777             :     }
    1778          15 :     if (MI->getNumOperands() == 3 &&
    1779          15 :         MI->getOperand(1).isImm() &&
    1780          15 :         MI->getOperand(1).getImm() == 7 &&
    1781           2 :         MI->getOperand(2).isReg() &&
    1782          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1783             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1784             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1785             :       AsmString = "fbu,a,pn $\x03, $\x01";
    1786             :       break;
    1787             :     }
    1788          14 :     if (MI->getNumOperands() == 3 &&
    1789          14 :         MI->getOperand(1).isImm() &&
    1790          14 :         MI->getOperand(1).getImm() == 6 &&
    1791           2 :         MI->getOperand(2).isReg() &&
    1792          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1793             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1794             :       // (BPFCCANT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1795             :       AsmString = "fbg,a,pn $\x03, $\x01";
    1796             :       break;
    1797             :     }
    1798          13 :     if (MI->getNumOperands() == 3 &&
    1799          13 :         MI->getOperand(1).isImm() &&
    1800          13 :         MI->getOperand(1).getImm() == 5 &&
    1801           2 :         MI->getOperand(2).isReg() &&
    1802          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1803             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1804             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1805             :       AsmString = "fbug,a,pn $\x03, $\x01";
    1806             :       break;
    1807             :     }
    1808          12 :     if (MI->getNumOperands() == 3 &&
    1809          12 :         MI->getOperand(1).isImm() &&
    1810          12 :         MI->getOperand(1).getImm() == 4 &&
    1811           2 :         MI->getOperand(2).isReg() &&
    1812          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1813             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1814             :       // (BPFCCANT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1815             :       AsmString = "fbl,a,pn $\x03, $\x01";
    1816             :       break;
    1817             :     }
    1818          11 :     if (MI->getNumOperands() == 3 &&
    1819          11 :         MI->getOperand(1).isImm() &&
    1820          11 :         MI->getOperand(1).getImm() == 3 &&
    1821           2 :         MI->getOperand(2).isReg() &&
    1822          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1823             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1824             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1825             :       AsmString = "fbul,a,pn $\x03, $\x01";
    1826             :       break;
    1827             :     }
    1828          10 :     if (MI->getNumOperands() == 3 &&
    1829          10 :         MI->getOperand(1).isImm() &&
    1830          10 :         MI->getOperand(1).getImm() == 2 &&
    1831           2 :         MI->getOperand(2).isReg() &&
    1832          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1833             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1834             :       // (BPFCCANT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1835             :       AsmString = "fblg,a,pn $\x03, $\x01";
    1836             :       break;
    1837             :     }
    1838           9 :     if (MI->getNumOperands() == 3 &&
    1839           9 :         MI->getOperand(1).isImm() &&
    1840           9 :         MI->getOperand(1).getImm() == 1 &&
    1841           4 :         MI->getOperand(2).isReg() &&
    1842          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1844             :       // (BPFCCANT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    1845             :       AsmString = "fbne,a,pn $\x03, $\x01";
    1846             :       break;
    1847             :     }
    1848           7 :     if (MI->getNumOperands() == 3 &&
    1849           7 :         MI->getOperand(1).isImm() &&
    1850           7 :         MI->getOperand(1).getImm() == 9 &&
    1851           2 :         MI->getOperand(2).isReg() &&
    1852           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1854             :       // (BPFCCANT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    1855             :       AsmString = "fbe,a,pn $\x03, $\x01";
    1856             :       break;
    1857             :     }
    1858           6 :     if (MI->getNumOperands() == 3 &&
    1859           6 :         MI->getOperand(1).isImm() &&
    1860           6 :         MI->getOperand(1).getImm() == 10 &&
    1861           2 :         MI->getOperand(2).isReg() &&
    1862           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1863             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1864             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    1865             :       AsmString = "fbue,a,pn $\x03, $\x01";
    1866             :       break;
    1867             :     }
    1868           5 :     if (MI->getNumOperands() == 3 &&
    1869           5 :         MI->getOperand(1).isImm() &&
    1870           5 :         MI->getOperand(1).getImm() == 11 &&
    1871           2 :         MI->getOperand(2).isReg() &&
    1872           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1873             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1874             :       // (BPFCCANT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    1875             :       AsmString = "fbge,a,pn $\x03, $\x01";
    1876             :       break;
    1877             :     }
    1878           4 :     if (MI->getNumOperands() == 3 &&
    1879           4 :         MI->getOperand(1).isImm() &&
    1880           4 :         MI->getOperand(1).getImm() == 12 &&
    1881           2 :         MI->getOperand(2).isReg() &&
    1882           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1883             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1884             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    1885             :       AsmString = "fbuge,a,pn $\x03, $\x01";
    1886             :       break;
    1887             :     }
    1888           3 :     if (MI->getNumOperands() == 3 &&
    1889           3 :         MI->getOperand(1).isImm() &&
    1890           3 :         MI->getOperand(1).getImm() == 13 &&
    1891           2 :         MI->getOperand(2).isReg() &&
    1892           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1893             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1894             :       // (BPFCCANT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    1895             :       AsmString = "fble,a,pn $\x03, $\x01";
    1896             :       break;
    1897             :     }
    1898           2 :     if (MI->getNumOperands() == 3 &&
    1899           2 :         MI->getOperand(1).isImm() &&
    1900           2 :         MI->getOperand(1).getImm() == 14 &&
    1901           2 :         MI->getOperand(2).isReg() &&
    1902           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1903             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1904             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    1905             :       AsmString = "fbule,a,pn $\x03, $\x01";
    1906             :       break;
    1907             :     }
    1908           1 :     if (MI->getNumOperands() == 3 &&
    1909           1 :         MI->getOperand(1).isImm() &&
    1910           1 :         MI->getOperand(1).getImm() == 15 &&
    1911           2 :         MI->getOperand(2).isReg() &&
    1912           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1913             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1914             :       // (BPFCCANT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    1915             :       AsmString = "fbo,a,pn $\x03, $\x01";
    1916             :       break;
    1917             :     }
    1918             :     return false;
    1919             :   case SP::BPFCCNT:
    1920          15 :     if (MI->getNumOperands() == 3 &&
    1921          15 :         MI->getOperand(1).isImm() &&
    1922          15 :         MI->getOperand(1).getImm() == 8 &&
    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, { 1, 0, 0, 0 }, FCCRegs:$cc)
    1927             :       AsmString = "fba,pn $\x03, $\x01";
    1928             :       break;
    1929             :     }
    1930          15 :     if (MI->getNumOperands() == 3 &&
    1931          15 :         MI->getOperand(1).isImm() &&
    1932          15 :         MI->getOperand(1).getImm() == 0 &&
    1933           0 :         MI->getOperand(2).isReg() &&
    1934          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1935             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1936             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
    1937             :       AsmString = "fbn,pn $\x03, $\x01";
    1938             :       break;
    1939             :     }
    1940          15 :     if (MI->getNumOperands() == 3 &&
    1941          15 :         MI->getOperand(1).isImm() &&
    1942          15 :         MI->getOperand(1).getImm() == 7 &&
    1943           2 :         MI->getOperand(2).isReg() &&
    1944          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1945             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1946             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
    1947             :       AsmString = "fbu,pn $\x03, $\x01";
    1948             :       break;
    1949             :     }
    1950          14 :     if (MI->getNumOperands() == 3 &&
    1951          14 :         MI->getOperand(1).isImm() &&
    1952          14 :         MI->getOperand(1).getImm() == 6 &&
    1953           2 :         MI->getOperand(2).isReg() &&
    1954          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1955             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1956             :       // (BPFCCNT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
    1957             :       AsmString = "fbg,pn $\x03, $\x01";
    1958             :       break;
    1959             :     }
    1960          13 :     if (MI->getNumOperands() == 3 &&
    1961          13 :         MI->getOperand(1).isImm() &&
    1962          13 :         MI->getOperand(1).getImm() == 5 &&
    1963           2 :         MI->getOperand(2).isReg() &&
    1964          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1965             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1966             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
    1967             :       AsmString = "fbug,pn $\x03, $\x01";
    1968             :       break;
    1969             :     }
    1970          12 :     if (MI->getNumOperands() == 3 &&
    1971          12 :         MI->getOperand(1).isImm() &&
    1972          12 :         MI->getOperand(1).getImm() == 4 &&
    1973           2 :         MI->getOperand(2).isReg() &&
    1974          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1975             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1976             :       // (BPFCCNT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
    1977             :       AsmString = "fbl,pn $\x03, $\x01";
    1978             :       break;
    1979             :     }
    1980          11 :     if (MI->getNumOperands() == 3 &&
    1981          11 :         MI->getOperand(1).isImm() &&
    1982          11 :         MI->getOperand(1).getImm() == 3 &&
    1983           2 :         MI->getOperand(2).isReg() &&
    1984          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1985             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1986             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
    1987             :       AsmString = "fbul,pn $\x03, $\x01";
    1988             :       break;
    1989             :     }
    1990          10 :     if (MI->getNumOperands() == 3 &&
    1991          10 :         MI->getOperand(1).isImm() &&
    1992          10 :         MI->getOperand(1).getImm() == 2 &&
    1993           2 :         MI->getOperand(2).isReg() &&
    1994          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1996             :       // (BPFCCNT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
    1997             :       AsmString = "fblg,pn $\x03, $\x01";
    1998             :       break;
    1999             :     }
    2000           9 :     if (MI->getNumOperands() == 3 &&
    2001           9 :         MI->getOperand(1).isImm() &&
    2002           9 :         MI->getOperand(1).getImm() == 1 &&
    2003           2 :         MI->getOperand(2).isReg() &&
    2004          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2005             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2006             :       // (BPFCCNT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
    2007             :       AsmString = "fbne,pn $\x03, $\x01";
    2008             :       break;
    2009             :     }
    2010           8 :     if (MI->getNumOperands() == 3 &&
    2011           8 :         MI->getOperand(1).isImm() &&
    2012           8 :         MI->getOperand(1).getImm() == 9 &&
    2013           2 :         MI->getOperand(2).isReg() &&
    2014          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2015             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2016             :       // (BPFCCNT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
    2017             :       AsmString = "fbe,pn $\x03, $\x01";
    2018             :       break;
    2019             :     }
    2020           7 :     if (MI->getNumOperands() == 3 &&
    2021           7 :         MI->getOperand(1).isImm() &&
    2022           7 :         MI->getOperand(1).getImm() == 10 &&
    2023           4 :         MI->getOperand(2).isReg() &&
    2024          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2025             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2026             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
    2027             :       AsmString = "fbue,pn $\x03, $\x01";
    2028             :       break;
    2029             :     }
    2030           5 :     if (MI->getNumOperands() == 3 &&
    2031           5 :         MI->getOperand(1).isImm() &&
    2032           5 :         MI->getOperand(1).getImm() == 11 &&
    2033           2 :         MI->getOperand(2).isReg() &&
    2034           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2035             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2036             :       // (BPFCCNT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
    2037             :       AsmString = "fbge,pn $\x03, $\x01";
    2038             :       break;
    2039             :     }
    2040           4 :     if (MI->getNumOperands() == 3 &&
    2041           4 :         MI->getOperand(1).isImm() &&
    2042           4 :         MI->getOperand(1).getImm() == 12 &&
    2043           2 :         MI->getOperand(2).isReg() &&
    2044           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2045             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2046             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
    2047             :       AsmString = "fbuge,pn $\x03, $\x01";
    2048             :       break;
    2049             :     }
    2050           3 :     if (MI->getNumOperands() == 3 &&
    2051           3 :         MI->getOperand(1).isImm() &&
    2052           3 :         MI->getOperand(1).getImm() == 13 &&
    2053           2 :         MI->getOperand(2).isReg() &&
    2054           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2055             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2056             :       // (BPFCCNT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
    2057             :       AsmString = "fble,pn $\x03, $\x01";
    2058             :       break;
    2059             :     }
    2060           2 :     if (MI->getNumOperands() == 3 &&
    2061           2 :         MI->getOperand(1).isImm() &&
    2062           2 :         MI->getOperand(1).getImm() == 14 &&
    2063           2 :         MI->getOperand(2).isReg() &&
    2064           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2065             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2066             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
    2067             :       AsmString = "fbule,pn $\x03, $\x01";
    2068             :       break;
    2069             :     }
    2070           1 :     if (MI->getNumOperands() == 3 &&
    2071           1 :         MI->getOperand(1).isImm() &&
    2072           1 :         MI->getOperand(1).getImm() == 15 &&
    2073           2 :         MI->getOperand(2).isReg() &&
    2074           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2075             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2076             :       // (BPFCCNT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
    2077             :       AsmString = "fbo,pn $\x03, $\x01";
    2078             :       break;
    2079             :     }
    2080             :     return false;
    2081             :   case SP::BPICCANT:
    2082          14 :     if (MI->getNumOperands() == 2 &&
    2083          14 :         MI->getOperand(1).isImm() &&
    2084          28 :         MI->getOperand(1).getImm() == 8 &&
    2085             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2086             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 0 })
    2087             :       AsmString = "ba,a,pn %icc, $\x01";
    2088             :       break;
    2089             :     }
    2090          14 :     if (MI->getNumOperands() == 2 &&
    2091          14 :         MI->getOperand(1).isImm() &&
    2092          28 :         MI->getOperand(1).getImm() == 0 &&
    2093             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2094             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 0 })
    2095             :       AsmString = "bn,a,pn %icc, $\x01";
    2096             :       break;
    2097             :     }
    2098          14 :     if (MI->getNumOperands() == 2 &&
    2099          14 :         MI->getOperand(1).isImm() &&
    2100          28 :         MI->getOperand(1).getImm() == 9 &&
    2101             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2102             :       // (BPICCANT brtarget:$imm, { 1, 0, 0, 1 })
    2103             :       AsmString = "bne,a,pn %icc, $\x01";
    2104             :       break;
    2105             :     }
    2106          13 :     if (MI->getNumOperands() == 2 &&
    2107          13 :         MI->getOperand(1).isImm() &&
    2108          26 :         MI->getOperand(1).getImm() == 1 &&
    2109             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2110             :       // (BPICCANT brtarget:$imm, { 0, 0, 0, 1 })
    2111             :       AsmString = "be,a,pn %icc, $\x01";
    2112             :       break;
    2113             :     }
    2114          12 :     if (MI->getNumOperands() == 2 &&
    2115          12 :         MI->getOperand(1).isImm() &&
    2116          24 :         MI->getOperand(1).getImm() == 10 &&
    2117             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2118             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 0 })
    2119             :       AsmString = "bg,a,pn %icc, $\x01";
    2120             :       break;
    2121             :     }
    2122          11 :     if (MI->getNumOperands() == 2 &&
    2123          11 :         MI->getOperand(1).isImm() &&
    2124          22 :         MI->getOperand(1).getImm() == 2 &&
    2125             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2126             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 0 })
    2127             :       AsmString = "ble,a,pn %icc, $\x01";
    2128             :       break;
    2129             :     }
    2130          10 :     if (MI->getNumOperands() == 2 &&
    2131          10 :         MI->getOperand(1).isImm() &&
    2132          20 :         MI->getOperand(1).getImm() == 11 &&
    2133             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2134             :       // (BPICCANT brtarget:$imm, { 1, 0, 1, 1 })
    2135             :       AsmString = "bge,a,pn %icc, $\x01";
    2136             :       break;
    2137             :     }
    2138           9 :     if (MI->getNumOperands() == 2 &&
    2139           9 :         MI->getOperand(1).isImm() &&
    2140          18 :         MI->getOperand(1).getImm() == 3 &&
    2141             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2142             :       // (BPICCANT brtarget:$imm, { 0, 0, 1, 1 })
    2143             :       AsmString = "bl,a,pn %icc, $\x01";
    2144             :       break;
    2145             :     }
    2146           8 :     if (MI->getNumOperands() == 2 &&
    2147           8 :         MI->getOperand(1).isImm() &&
    2148          16 :         MI->getOperand(1).getImm() == 12 &&
    2149             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2150             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 0 })
    2151             :       AsmString = "bgu,a,pn %icc, $\x01";
    2152             :       break;
    2153             :     }
    2154           7 :     if (MI->getNumOperands() == 2 &&
    2155           7 :         MI->getOperand(1).isImm() &&
    2156          14 :         MI->getOperand(1).getImm() == 4 &&
    2157             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2158             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 0 })
    2159             :       AsmString = "bleu,a,pn %icc, $\x01";
    2160             :       break;
    2161             :     }
    2162           6 :     if (MI->getNumOperands() == 2 &&
    2163           6 :         MI->getOperand(1).isImm() &&
    2164          12 :         MI->getOperand(1).getImm() == 13 &&
    2165             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2166             :       // (BPICCANT brtarget:$imm, { 1, 1, 0, 1 })
    2167             :       AsmString = "bcc,a,pn %icc, $\x01";
    2168             :       break;
    2169             :     }
    2170           5 :     if (MI->getNumOperands() == 2 &&
    2171           5 :         MI->getOperand(1).isImm() &&
    2172          10 :         MI->getOperand(1).getImm() == 5 &&
    2173             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2174             :       // (BPICCANT brtarget:$imm, { 0, 1, 0, 1 })
    2175             :       AsmString = "bcs,a,pn %icc, $\x01";
    2176             :       break;
    2177             :     }
    2178           4 :     if (MI->getNumOperands() == 2 &&
    2179           4 :         MI->getOperand(1).isImm() &&
    2180           8 :         MI->getOperand(1).getImm() == 14 &&
    2181             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2182             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 0 })
    2183             :       AsmString = "bpos,a,pn %icc, $\x01";
    2184             :       break;
    2185             :     }
    2186           3 :     if (MI->getNumOperands() == 2 &&
    2187           3 :         MI->getOperand(1).isImm() &&
    2188           6 :         MI->getOperand(1).getImm() == 6 &&
    2189             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2190             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 0 })
    2191             :       AsmString = "bneg,a,pn %icc, $\x01";
    2192             :       break;
    2193             :     }
    2194           2 :     if (MI->getNumOperands() == 2 &&
    2195           2 :         MI->getOperand(1).isImm() &&
    2196           4 :         MI->getOperand(1).getImm() == 15 &&
    2197             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2198             :       // (BPICCANT brtarget:$imm, { 1, 1, 1, 1 })
    2199             :       AsmString = "bvc,a,pn %icc, $\x01";
    2200             :       break;
    2201             :     }
    2202           1 :     if (MI->getNumOperands() == 2 &&
    2203           1 :         MI->getOperand(1).isImm() &&
    2204           2 :         MI->getOperand(1).getImm() == 7 &&
    2205             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2206             :       // (BPICCANT brtarget:$imm, { 0, 1, 1, 1 })
    2207             :       AsmString = "bvs,a,pn %icc, $\x01";
    2208             :       break;
    2209             :     }
    2210             :     return false;
    2211             :   case SP::BPICCNT:
    2212          14 :     if (MI->getNumOperands() == 2 &&
    2213          14 :         MI->getOperand(1).isImm() &&
    2214          28 :         MI->getOperand(1).getImm() == 8 &&
    2215             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2216             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 0 })
    2217             :       AsmString = "ba,pn %icc, $\x01";
    2218             :       break;
    2219             :     }
    2220          14 :     if (MI->getNumOperands() == 2 &&
    2221          14 :         MI->getOperand(1).isImm() &&
    2222          28 :         MI->getOperand(1).getImm() == 0 &&
    2223             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2224             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 0 })
    2225             :       AsmString = "bn,pn %icc, $\x01";
    2226             :       break;
    2227             :     }
    2228          14 :     if (MI->getNumOperands() == 2 &&
    2229          14 :         MI->getOperand(1).isImm() &&
    2230          28 :         MI->getOperand(1).getImm() == 9 &&
    2231             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2232             :       // (BPICCNT brtarget:$imm, { 1, 0, 0, 1 })
    2233             :       AsmString = "bne,pn %icc, $\x01";
    2234             :       break;
    2235             :     }
    2236          13 :     if (MI->getNumOperands() == 2 &&
    2237          13 :         MI->getOperand(1).isImm() &&
    2238          26 :         MI->getOperand(1).getImm() == 1 &&
    2239             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2240             :       // (BPICCNT brtarget:$imm, { 0, 0, 0, 1 })
    2241             :       AsmString = "be,pn %icc, $\x01";
    2242             :       break;
    2243             :     }
    2244          12 :     if (MI->getNumOperands() == 2 &&
    2245          12 :         MI->getOperand(1).isImm() &&
    2246          24 :         MI->getOperand(1).getImm() == 10 &&
    2247             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2248             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 0 })
    2249             :       AsmString = "bg,pn %icc, $\x01";
    2250             :       break;
    2251             :     }
    2252          11 :     if (MI->getNumOperands() == 2 &&
    2253          11 :         MI->getOperand(1).isImm() &&
    2254          22 :         MI->getOperand(1).getImm() == 2 &&
    2255             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2256             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 0 })
    2257             :       AsmString = "ble,pn %icc, $\x01";
    2258             :       break;
    2259             :     }
    2260          10 :     if (MI->getNumOperands() == 2 &&
    2261          10 :         MI->getOperand(1).isImm() &&
    2262          20 :         MI->getOperand(1).getImm() == 11 &&
    2263             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2264             :       // (BPICCNT brtarget:$imm, { 1, 0, 1, 1 })
    2265             :       AsmString = "bge,pn %icc, $\x01";
    2266             :       break;
    2267             :     }
    2268           9 :     if (MI->getNumOperands() == 2 &&
    2269           9 :         MI->getOperand(1).isImm() &&
    2270          18 :         MI->getOperand(1).getImm() == 3 &&
    2271             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2272             :       // (BPICCNT brtarget:$imm, { 0, 0, 1, 1 })
    2273             :       AsmString = "bl,pn %icc, $\x01";
    2274             :       break;
    2275             :     }
    2276           8 :     if (MI->getNumOperands() == 2 &&
    2277           8 :         MI->getOperand(1).isImm() &&
    2278          16 :         MI->getOperand(1).getImm() == 12 &&
    2279             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2280             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 0 })
    2281             :       AsmString = "bgu,pn %icc, $\x01";
    2282             :       break;
    2283             :     }
    2284           7 :     if (MI->getNumOperands() == 2 &&
    2285           7 :         MI->getOperand(1).isImm() &&
    2286          14 :         MI->getOperand(1).getImm() == 4 &&
    2287             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2288             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 0 })
    2289             :       AsmString = "bleu,pn %icc, $\x01";
    2290             :       break;
    2291             :     }
    2292           6 :     if (MI->getNumOperands() == 2 &&
    2293           6 :         MI->getOperand(1).isImm() &&
    2294          12 :         MI->getOperand(1).getImm() == 13 &&
    2295             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2296             :       // (BPICCNT brtarget:$imm, { 1, 1, 0, 1 })
    2297             :       AsmString = "bcc,pn %icc, $\x01";
    2298             :       break;
    2299             :     }
    2300           5 :     if (MI->getNumOperands() == 2 &&
    2301           5 :         MI->getOperand(1).isImm() &&
    2302          10 :         MI->getOperand(1).getImm() == 5 &&
    2303             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2304             :       // (BPICCNT brtarget:$imm, { 0, 1, 0, 1 })
    2305             :       AsmString = "bcs,pn %icc, $\x01";
    2306             :       break;
    2307             :     }
    2308           4 :     if (MI->getNumOperands() == 2 &&
    2309           4 :         MI->getOperand(1).isImm() &&
    2310           8 :         MI->getOperand(1).getImm() == 14 &&
    2311             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2312             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 0 })
    2313             :       AsmString = "bpos,pn %icc, $\x01";
    2314             :       break;
    2315             :     }
    2316           3 :     if (MI->getNumOperands() == 2 &&
    2317           3 :         MI->getOperand(1).isImm() &&
    2318           6 :         MI->getOperand(1).getImm() == 6 &&
    2319             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2320             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 0 })
    2321             :       AsmString = "bneg,pn %icc, $\x01";
    2322             :       break;
    2323             :     }
    2324           2 :     if (MI->getNumOperands() == 2 &&
    2325           2 :         MI->getOperand(1).isImm() &&
    2326           4 :         MI->getOperand(1).getImm() == 15 &&
    2327             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2328             :       // (BPICCNT brtarget:$imm, { 1, 1, 1, 1 })
    2329             :       AsmString = "bvc,pn %icc, $\x01";
    2330             :       break;
    2331             :     }
    2332           1 :     if (MI->getNumOperands() == 2 &&
    2333           1 :         MI->getOperand(1).isImm() &&
    2334           2 :         MI->getOperand(1).getImm() == 7 &&
    2335             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2336             :       // (BPICCNT brtarget:$imm, { 0, 1, 1, 1 })
    2337             :       AsmString = "bvs,pn %icc, $\x01";
    2338             :       break;
    2339             :     }
    2340             :     return false;
    2341             :   case SP::BPXCCANT:
    2342          14 :     if (MI->getNumOperands() == 2 &&
    2343          14 :         MI->getOperand(1).isImm() &&
    2344          14 :         MI->getOperand(1).getImm() == 8) {
    2345             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 0 })
    2346             :       AsmString = "ba,a,pn %xcc, $\x01";
    2347             :       break;
    2348             :     }
    2349          14 :     if (MI->getNumOperands() == 2 &&
    2350          14 :         MI->getOperand(1).isImm() &&
    2351          14 :         MI->getOperand(1).getImm() == 0) {
    2352             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 0 })
    2353             :       AsmString = "bn,a,pn %xcc, $\x01";
    2354             :       break;
    2355             :     }
    2356          14 :     if (MI->getNumOperands() == 2 &&
    2357          14 :         MI->getOperand(1).isImm() &&
    2358          14 :         MI->getOperand(1).getImm() == 9) {
    2359             :       // (BPXCCANT brtarget:$imm, { 1, 0, 0, 1 })
    2360             :       AsmString = "bne,a,pn %xcc, $\x01";
    2361             :       break;
    2362             :     }
    2363          13 :     if (MI->getNumOperands() == 2 &&
    2364          13 :         MI->getOperand(1).isImm() &&
    2365          13 :         MI->getOperand(1).getImm() == 1) {
    2366             :       // (BPXCCANT brtarget:$imm, { 0, 0, 0, 1 })
    2367             :       AsmString = "be,a,pn %xcc, $\x01";
    2368             :       break;
    2369             :     }
    2370          12 :     if (MI->getNumOperands() == 2 &&
    2371          12 :         MI->getOperand(1).isImm() &&
    2372          12 :         MI->getOperand(1).getImm() == 10) {
    2373             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 0 })
    2374             :       AsmString = "bg,a,pn %xcc, $\x01";
    2375             :       break;
    2376             :     }
    2377          11 :     if (MI->getNumOperands() == 2 &&
    2378          11 :         MI->getOperand(1).isImm() &&
    2379          11 :         MI->getOperand(1).getImm() == 2) {
    2380             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 0 })
    2381             :       AsmString = "ble,a,pn %xcc, $\x01";
    2382             :       break;
    2383             :     }
    2384          10 :     if (MI->getNumOperands() == 2 &&
    2385          10 :         MI->getOperand(1).isImm() &&
    2386          10 :         MI->getOperand(1).getImm() == 11) {
    2387             :       // (BPXCCANT brtarget:$imm, { 1, 0, 1, 1 })
    2388             :       AsmString = "bge,a,pn %xcc, $\x01";
    2389             :       break;
    2390             :     }
    2391           9 :     if (MI->getNumOperands() == 2 &&
    2392           9 :         MI->getOperand(1).isImm() &&
    2393           9 :         MI->getOperand(1).getImm() == 3) {
    2394             :       // (BPXCCANT brtarget:$imm, { 0, 0, 1, 1 })
    2395             :       AsmString = "bl,a,pn %xcc, $\x01";
    2396             :       break;
    2397             :     }
    2398           8 :     if (MI->getNumOperands() == 2 &&
    2399           8 :         MI->getOperand(1).isImm() &&
    2400           8 :         MI->getOperand(1).getImm() == 12) {
    2401             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 0 })
    2402             :       AsmString = "bgu,a,pn %xcc, $\x01";
    2403             :       break;
    2404             :     }
    2405           7 :     if (MI->getNumOperands() == 2 &&
    2406           7 :         MI->getOperand(1).isImm() &&
    2407           7 :         MI->getOperand(1).getImm() == 4) {
    2408             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 0 })
    2409             :       AsmString = "bleu,a,pn %xcc, $\x01";
    2410             :       break;
    2411             :     }
    2412           6 :     if (MI->getNumOperands() == 2 &&
    2413           6 :         MI->getOperand(1).isImm() &&
    2414           6 :         MI->getOperand(1).getImm() == 13) {
    2415             :       // (BPXCCANT brtarget:$imm, { 1, 1, 0, 1 })
    2416             :       AsmString = "bcc,a,pn %xcc, $\x01";
    2417             :       break;
    2418             :     }
    2419           5 :     if (MI->getNumOperands() == 2 &&
    2420           5 :         MI->getOperand(1).isImm() &&
    2421           5 :         MI->getOperand(1).getImm() == 5) {
    2422             :       // (BPXCCANT brtarget:$imm, { 0, 1, 0, 1 })
    2423             :       AsmString = "bcs,a,pn %xcc, $\x01";
    2424             :       break;
    2425             :     }
    2426           4 :     if (MI->getNumOperands() == 2 &&
    2427           4 :         MI->getOperand(1).isImm() &&
    2428           4 :         MI->getOperand(1).getImm() == 14) {
    2429             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 0 })
    2430             :       AsmString = "bpos,a,pn %xcc, $\x01";
    2431             :       break;
    2432             :     }
    2433           3 :     if (MI->getNumOperands() == 2 &&
    2434           3 :         MI->getOperand(1).isImm() &&
    2435           3 :         MI->getOperand(1).getImm() == 6) {
    2436             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 0 })
    2437             :       AsmString = "bneg,a,pn %xcc, $\x01";
    2438             :       break;
    2439             :     }
    2440           2 :     if (MI->getNumOperands() == 2 &&
    2441           2 :         MI->getOperand(1).isImm() &&
    2442           2 :         MI->getOperand(1).getImm() == 15) {
    2443             :       // (BPXCCANT brtarget:$imm, { 1, 1, 1, 1 })
    2444             :       AsmString = "bvc,a,pn %xcc, $\x01";
    2445             :       break;
    2446             :     }
    2447           1 :     if (MI->getNumOperands() == 2 &&
    2448           1 :         MI->getOperand(1).isImm() &&
    2449           1 :         MI->getOperand(1).getImm() == 7) {
    2450             :       // (BPXCCANT brtarget:$imm, { 0, 1, 1, 1 })
    2451             :       AsmString = "bvs,a,pn %xcc, $\x01";
    2452             :       break;
    2453             :     }
    2454             :     return false;
    2455             :   case SP::BPXCCNT:
    2456          14 :     if (MI->getNumOperands() == 2 &&
    2457          14 :         MI->getOperand(1).isImm() &&
    2458          14 :         MI->getOperand(1).getImm() == 8) {
    2459             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 0 })
    2460             :       AsmString = "ba,pn %xcc, $\x01";
    2461             :       break;
    2462             :     }
    2463          14 :     if (MI->getNumOperands() == 2 &&
    2464          14 :         MI->getOperand(1).isImm() &&
    2465          14 :         MI->getOperand(1).getImm() == 0) {
    2466             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 0 })
    2467             :       AsmString = "bn,pn %xcc, $\x01";
    2468             :       break;
    2469             :     }
    2470          14 :     if (MI->getNumOperands() == 2 &&
    2471          14 :         MI->getOperand(1).isImm() &&
    2472          14 :         MI->getOperand(1).getImm() == 9) {
    2473             :       // (BPXCCNT brtarget:$imm, { 1, 0, 0, 1 })
    2474             :       AsmString = "bne,pn %xcc, $\x01";
    2475             :       break;
    2476             :     }
    2477          13 :     if (MI->getNumOperands() == 2 &&
    2478          13 :         MI->getOperand(1).isImm() &&
    2479          13 :         MI->getOperand(1).getImm() == 1) {
    2480             :       // (BPXCCNT brtarget:$imm, { 0, 0, 0, 1 })
    2481             :       AsmString = "be,pn %xcc, $\x01";
    2482             :       break;
    2483             :     }
    2484          12 :     if (MI->getNumOperands() == 2 &&
    2485          12 :         MI->getOperand(1).isImm() &&
    2486          12 :         MI->getOperand(1).getImm() == 10) {
    2487             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 0 })
    2488             :       AsmString = "bg,pn %xcc, $\x01";
    2489             :       break;
    2490             :     }
    2491          11 :     if (MI->getNumOperands() == 2 &&
    2492          11 :         MI->getOperand(1).isImm() &&
    2493          11 :         MI->getOperand(1).getImm() == 2) {
    2494             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 0 })
    2495             :       AsmString = "ble,pn %xcc, $\x01";
    2496             :       break;
    2497             :     }
    2498          10 :     if (MI->getNumOperands() == 2 &&
    2499          10 :         MI->getOperand(1).isImm() &&
    2500          10 :         MI->getOperand(1).getImm() == 11) {
    2501             :       // (BPXCCNT brtarget:$imm, { 1, 0, 1, 1 })
    2502             :       AsmString = "bge,pn %xcc, $\x01";
    2503             :       break;
    2504             :     }
    2505           9 :     if (MI->getNumOperands() == 2 &&
    2506           9 :         MI->getOperand(1).isImm() &&
    2507           9 :         MI->getOperand(1).getImm() == 3) {
    2508             :       // (BPXCCNT brtarget:$imm, { 0, 0, 1, 1 })
    2509             :       AsmString = "bl,pn %xcc, $\x01";
    2510             :       break;
    2511             :     }
    2512           8 :     if (MI->getNumOperands() == 2 &&
    2513           8 :         MI->getOperand(1).isImm() &&
    2514           8 :         MI->getOperand(1).getImm() == 12) {
    2515             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 0 })
    2516             :       AsmString = "bgu,pn %xcc, $\x01";
    2517             :       break;
    2518             :     }
    2519           7 :     if (MI->getNumOperands() == 2 &&
    2520           7 :         MI->getOperand(1).isImm() &&
    2521           7 :         MI->getOperand(1).getImm() == 4) {
    2522             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 0 })
    2523             :       AsmString = "bleu,pn %xcc, $\x01";
    2524             :       break;
    2525             :     }
    2526           6 :     if (MI->getNumOperands() == 2 &&
    2527           6 :         MI->getOperand(1).isImm() &&
    2528           6 :         MI->getOperand(1).getImm() == 13) {
    2529             :       // (BPXCCNT brtarget:$imm, { 1, 1, 0, 1 })
    2530             :       AsmString = "bcc,pn %xcc, $\x01";
    2531             :       break;
    2532             :     }
    2533           5 :     if (MI->getNumOperands() == 2 &&
    2534           5 :         MI->getOperand(1).isImm() &&
    2535           5 :         MI->getOperand(1).getImm() == 5) {
    2536             :       // (BPXCCNT brtarget:$imm, { 0, 1, 0, 1 })
    2537             :       AsmString = "bcs,pn %xcc, $\x01";
    2538             :       break;
    2539             :     }
    2540           4 :     if (MI->getNumOperands() == 2 &&
    2541           4 :         MI->getOperand(1).isImm() &&
    2542           4 :         MI->getOperand(1).getImm() == 14) {
    2543             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 0 })
    2544             :       AsmString = "bpos,pn %xcc, $\x01";
    2545             :       break;
    2546             :     }
    2547           3 :     if (MI->getNumOperands() == 2 &&
    2548           3 :         MI->getOperand(1).isImm() &&
    2549           3 :         MI->getOperand(1).getImm() == 6) {
    2550             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 0 })
    2551             :       AsmString = "bneg,pn %xcc, $\x01";
    2552             :       break;
    2553             :     }
    2554           2 :     if (MI->getNumOperands() == 2 &&
    2555           2 :         MI->getOperand(1).isImm() &&
    2556           2 :         MI->getOperand(1).getImm() == 15) {
    2557             :       // (BPXCCNT brtarget:$imm, { 1, 1, 1, 1 })
    2558             :       AsmString = "bvc,pn %xcc, $\x01";
    2559             :       break;
    2560             :     }
    2561           1 :     if (MI->getNumOperands() == 2 &&
    2562           1 :         MI->getOperand(1).isImm() &&
    2563           1 :         MI->getOperand(1).getImm() == 7) {
    2564             :       // (BPXCCNT brtarget:$imm, { 0, 1, 1, 1 })
    2565             :       AsmString = "bvs,pn %xcc, $\x01";
    2566             :       break;
    2567             :     }
    2568             :     return false;
    2569             :   case SP::FMOVD_ICC:
    2570           2 :     if (MI->getNumOperands() == 4 &&
    2571           4 :         MI->getOperand(0).isReg() &&
    2572           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2573           4 :         MI->getOperand(1).isReg() &&
    2574           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2575           2 :         MI->getOperand(3).isImm() &&
    2576           4 :         MI->getOperand(3).getImm() == 8 &&
    2577             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2578             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2579             :       AsmString = "fmovda %icc, $\x02, $\x01";
    2580             :       break;
    2581             :     }
    2582           2 :     if (MI->getNumOperands() == 4 &&
    2583           4 :         MI->getOperand(0).isReg() &&
    2584           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2585           4 :         MI->getOperand(1).isReg() &&
    2586           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2587           2 :         MI->getOperand(3).isImm() &&
    2588           4 :         MI->getOperand(3).getImm() == 0 &&
    2589             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2590             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2591             :       AsmString = "fmovdn %icc, $\x02, $\x01";
    2592             :       break;
    2593             :     }
    2594           2 :     if (MI->getNumOperands() == 4 &&
    2595           4 :         MI->getOperand(0).isReg() &&
    2596           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2597           4 :         MI->getOperand(1).isReg() &&
    2598           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2599           2 :         MI->getOperand(3).isImm() &&
    2600           4 :         MI->getOperand(3).getImm() == 9 &&
    2601             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2602             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2603             :       AsmString = "fmovdne %icc, $\x02, $\x01";
    2604             :       break;
    2605             :     }
    2606           2 :     if (MI->getNumOperands() == 4 &&
    2607           4 :         MI->getOperand(0).isReg() &&
    2608           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2609           4 :         MI->getOperand(1).isReg() &&
    2610           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2611           2 :         MI->getOperand(3).isImm() &&
    2612           4 :         MI->getOperand(3).getImm() == 1 &&
    2613             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2614             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2615             :       AsmString = "fmovde %icc, $\x02, $\x01";
    2616             :       break;
    2617             :     }
    2618           0 :     if (MI->getNumOperands() == 4 &&
    2619           0 :         MI->getOperand(0).isReg() &&
    2620           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2621           0 :         MI->getOperand(1).isReg() &&
    2622           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2623           0 :         MI->getOperand(3).isImm() &&
    2624           0 :         MI->getOperand(3).getImm() == 10 &&
    2625             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2626             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2627             :       AsmString = "fmovdg %icc, $\x02, $\x01";
    2628             :       break;
    2629             :     }
    2630           0 :     if (MI->getNumOperands() == 4 &&
    2631           0 :         MI->getOperand(0).isReg() &&
    2632           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2633           0 :         MI->getOperand(1).isReg() &&
    2634           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2635           0 :         MI->getOperand(3).isImm() &&
    2636           0 :         MI->getOperand(3).getImm() == 2 &&
    2637             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2638             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2639             :       AsmString = "fmovdle %icc, $\x02, $\x01";
    2640             :       break;
    2641             :     }
    2642           0 :     if (MI->getNumOperands() == 4 &&
    2643           0 :         MI->getOperand(0).isReg() &&
    2644           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2645           0 :         MI->getOperand(1).isReg() &&
    2646           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2647           0 :         MI->getOperand(3).isImm() &&
    2648           0 :         MI->getOperand(3).getImm() == 11 &&
    2649             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2650             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2651             :       AsmString = "fmovdge %icc, $\x02, $\x01";
    2652             :       break;
    2653             :     }
    2654           0 :     if (MI->getNumOperands() == 4 &&
    2655           0 :         MI->getOperand(0).isReg() &&
    2656           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2657           0 :         MI->getOperand(1).isReg() &&
    2658           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2659           0 :         MI->getOperand(3).isImm() &&
    2660           0 :         MI->getOperand(3).getImm() == 3 &&
    2661             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2662             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2663             :       AsmString = "fmovdl %icc, $\x02, $\x01";
    2664             :       break;
    2665             :     }
    2666           0 :     if (MI->getNumOperands() == 4 &&
    2667           0 :         MI->getOperand(0).isReg() &&
    2668           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2669           0 :         MI->getOperand(1).isReg() &&
    2670           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2671           0 :         MI->getOperand(3).isImm() &&
    2672           0 :         MI->getOperand(3).getImm() == 12 &&
    2673             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2674             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2675             :       AsmString = "fmovdgu %icc, $\x02, $\x01";
    2676             :       break;
    2677             :     }
    2678           0 :     if (MI->getNumOperands() == 4 &&
    2679           0 :         MI->getOperand(0).isReg() &&
    2680           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2681           0 :         MI->getOperand(1).isReg() &&
    2682           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2683           0 :         MI->getOperand(3).isImm() &&
    2684           0 :         MI->getOperand(3).getImm() == 4 &&
    2685             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2686             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2687             :       AsmString = "fmovdleu %icc, $\x02, $\x01";
    2688             :       break;
    2689             :     }
    2690           0 :     if (MI->getNumOperands() == 4 &&
    2691           0 :         MI->getOperand(0).isReg() &&
    2692           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2693           0 :         MI->getOperand(1).isReg() &&
    2694           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2695           0 :         MI->getOperand(3).isImm() &&
    2696           0 :         MI->getOperand(3).getImm() == 13 &&
    2697             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2698             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2699             :       AsmString = "fmovdcc %icc, $\x02, $\x01";
    2700             :       break;
    2701             :     }
    2702           0 :     if (MI->getNumOperands() == 4 &&
    2703           0 :         MI->getOperand(0).isReg() &&
    2704           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2705           0 :         MI->getOperand(1).isReg() &&
    2706           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2707           0 :         MI->getOperand(3).isImm() &&
    2708           0 :         MI->getOperand(3).getImm() == 5 &&
    2709             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2710             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2711             :       AsmString = "fmovdcs %icc, $\x02, $\x01";
    2712             :       break;
    2713             :     }
    2714           0 :     if (MI->getNumOperands() == 4 &&
    2715           0 :         MI->getOperand(0).isReg() &&
    2716           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2717           0 :         MI->getOperand(1).isReg() &&
    2718           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2719           0 :         MI->getOperand(3).isImm() &&
    2720           0 :         MI->getOperand(3).getImm() == 14 &&
    2721             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2722             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2723             :       AsmString = "fmovdpos %icc, $\x02, $\x01";
    2724             :       break;
    2725             :     }
    2726           0 :     if (MI->getNumOperands() == 4 &&
    2727           0 :         MI->getOperand(0).isReg() &&
    2728           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2729           0 :         MI->getOperand(1).isReg() &&
    2730           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2731           0 :         MI->getOperand(3).isImm() &&
    2732           0 :         MI->getOperand(3).getImm() == 6 &&
    2733             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2734             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2735             :       AsmString = "fmovdneg %icc, $\x02, $\x01";
    2736             :       break;
    2737             :     }
    2738           0 :     if (MI->getNumOperands() == 4 &&
    2739           0 :         MI->getOperand(0).isReg() &&
    2740           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2741           0 :         MI->getOperand(1).isReg() &&
    2742           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2743           0 :         MI->getOperand(3).isImm() &&
    2744           0 :         MI->getOperand(3).getImm() == 15 &&
    2745             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2746             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2747             :       AsmString = "fmovdvc %icc, $\x02, $\x01";
    2748             :       break;
    2749             :     }
    2750           0 :     if (MI->getNumOperands() == 4 &&
    2751           0 :         MI->getOperand(0).isReg() &&
    2752           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2753           0 :         MI->getOperand(1).isReg() &&
    2754           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2755           0 :         MI->getOperand(3).isImm() &&
    2756           0 :         MI->getOperand(3).getImm() == 7 &&
    2757             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2758             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2759             :       AsmString = "fmovdvs %icc, $\x02, $\x01";
    2760             :       break;
    2761             :     }
    2762             :     return false;
    2763             :   case SP::FMOVD_XCC:
    2764           1 :     if (MI->getNumOperands() == 4 &&
    2765           2 :         MI->getOperand(0).isReg() &&
    2766           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2767           2 :         MI->getOperand(1).isReg() &&
    2768           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2769           2 :         MI->getOperand(3).isImm() &&
    2770           1 :         MI->getOperand(3).getImm() == 8) {
    2771             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
    2772             :       AsmString = "fmovda %xcc, $\x02, $\x01";
    2773             :       break;
    2774             :     }
    2775           1 :     if (MI->getNumOperands() == 4 &&
    2776           2 :         MI->getOperand(0).isReg() &&
    2777           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2778           2 :         MI->getOperand(1).isReg() &&
    2779           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2780           2 :         MI->getOperand(3).isImm() &&
    2781           1 :         MI->getOperand(3).getImm() == 0) {
    2782             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
    2783             :       AsmString = "fmovdn %xcc, $\x02, $\x01";
    2784             :       break;
    2785             :     }
    2786           1 :     if (MI->getNumOperands() == 4 &&
    2787           2 :         MI->getOperand(0).isReg() &&
    2788           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2789           2 :         MI->getOperand(1).isReg() &&
    2790           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2791           2 :         MI->getOperand(3).isImm() &&
    2792           1 :         MI->getOperand(3).getImm() == 9) {
    2793             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
    2794             :       AsmString = "fmovdne %xcc, $\x02, $\x01";
    2795             :       break;
    2796             :     }
    2797           1 :     if (MI->getNumOperands() == 4 &&
    2798           2 :         MI->getOperand(0).isReg() &&
    2799           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2800           2 :         MI->getOperand(1).isReg() &&
    2801           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2802           2 :         MI->getOperand(3).isImm() &&
    2803           1 :         MI->getOperand(3).getImm() == 1) {
    2804             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
    2805             :       AsmString = "fmovde %xcc, $\x02, $\x01";
    2806             :       break;
    2807             :     }
    2808           1 :     if (MI->getNumOperands() == 4 &&
    2809           2 :         MI->getOperand(0).isReg() &&
    2810           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2811           2 :         MI->getOperand(1).isReg() &&
    2812           1 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2813           2 :         MI->getOperand(3).isImm() &&
    2814           1 :         MI->getOperand(3).getImm() == 10) {
    2815             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
    2816             :       AsmString = "fmovdg %xcc, $\x02, $\x01";
    2817             :       break;
    2818             :     }
    2819           0 :     if (MI->getNumOperands() == 4 &&
    2820           0 :         MI->getOperand(0).isReg() &&
    2821           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2822           0 :         MI->getOperand(1).isReg() &&
    2823           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2824           0 :         MI->getOperand(3).isImm() &&
    2825           0 :         MI->getOperand(3).getImm() == 2) {
    2826             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
    2827             :       AsmString = "fmovdle %xcc, $\x02, $\x01";
    2828             :       break;
    2829             :     }
    2830           0 :     if (MI->getNumOperands() == 4 &&
    2831           0 :         MI->getOperand(0).isReg() &&
    2832           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2833           0 :         MI->getOperand(1).isReg() &&
    2834           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2835           0 :         MI->getOperand(3).isImm() &&
    2836           0 :         MI->getOperand(3).getImm() == 11) {
    2837             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
    2838             :       AsmString = "fmovdge %xcc, $\x02, $\x01";
    2839             :       break;
    2840             :     }
    2841           0 :     if (MI->getNumOperands() == 4 &&
    2842           0 :         MI->getOperand(0).isReg() &&
    2843           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2844           0 :         MI->getOperand(1).isReg() &&
    2845           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2846           0 :         MI->getOperand(3).isImm() &&
    2847           0 :         MI->getOperand(3).getImm() == 3) {
    2848             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
    2849             :       AsmString = "fmovdl %xcc, $\x02, $\x01";
    2850             :       break;
    2851             :     }
    2852           0 :     if (MI->getNumOperands() == 4 &&
    2853           0 :         MI->getOperand(0).isReg() &&
    2854           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2855           0 :         MI->getOperand(1).isReg() &&
    2856           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2857           0 :         MI->getOperand(3).isImm() &&
    2858           0 :         MI->getOperand(3).getImm() == 12) {
    2859             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
    2860             :       AsmString = "fmovdgu %xcc, $\x02, $\x01";
    2861             :       break;
    2862             :     }
    2863           0 :     if (MI->getNumOperands() == 4 &&
    2864           0 :         MI->getOperand(0).isReg() &&
    2865           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2866           0 :         MI->getOperand(1).isReg() &&
    2867           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2868           0 :         MI->getOperand(3).isImm() &&
    2869           0 :         MI->getOperand(3).getImm() == 4) {
    2870             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
    2871             :       AsmString = "fmovdleu %xcc, $\x02, $\x01";
    2872             :       break;
    2873             :     }
    2874           0 :     if (MI->getNumOperands() == 4 &&
    2875           0 :         MI->getOperand(0).isReg() &&
    2876           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2877           0 :         MI->getOperand(1).isReg() &&
    2878           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2879           0 :         MI->getOperand(3).isImm() &&
    2880           0 :         MI->getOperand(3).getImm() == 13) {
    2881             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
    2882             :       AsmString = "fmovdcc %xcc, $\x02, $\x01";
    2883             :       break;
    2884             :     }
    2885           0 :     if (MI->getNumOperands() == 4 &&
    2886           0 :         MI->getOperand(0).isReg() &&
    2887           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2888           0 :         MI->getOperand(1).isReg() &&
    2889           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2890           0 :         MI->getOperand(3).isImm() &&
    2891           0 :         MI->getOperand(3).getImm() == 5) {
    2892             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
    2893             :       AsmString = "fmovdcs %xcc, $\x02, $\x01";
    2894             :       break;
    2895             :     }
    2896           0 :     if (MI->getNumOperands() == 4 &&
    2897           0 :         MI->getOperand(0).isReg() &&
    2898           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2899           0 :         MI->getOperand(1).isReg() &&
    2900           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2901           0 :         MI->getOperand(3).isImm() &&
    2902           0 :         MI->getOperand(3).getImm() == 14) {
    2903             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
    2904             :       AsmString = "fmovdpos %xcc, $\x02, $\x01";
    2905             :       break;
    2906             :     }
    2907           0 :     if (MI->getNumOperands() == 4 &&
    2908           0 :         MI->getOperand(0).isReg() &&
    2909           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2910           0 :         MI->getOperand(1).isReg() &&
    2911           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2912           0 :         MI->getOperand(3).isImm() &&
    2913           0 :         MI->getOperand(3).getImm() == 6) {
    2914             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
    2915             :       AsmString = "fmovdneg %xcc, $\x02, $\x01";
    2916             :       break;
    2917             :     }
    2918           0 :     if (MI->getNumOperands() == 4 &&
    2919           0 :         MI->getOperand(0).isReg() &&
    2920           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2921           0 :         MI->getOperand(1).isReg() &&
    2922           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2923           0 :         MI->getOperand(3).isImm() &&
    2924           0 :         MI->getOperand(3).getImm() == 15) {
    2925             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
    2926             :       AsmString = "fmovdvc %xcc, $\x02, $\x01";
    2927             :       break;
    2928             :     }
    2929           0 :     if (MI->getNumOperands() == 4 &&
    2930           0 :         MI->getOperand(0).isReg() &&
    2931           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2932           0 :         MI->getOperand(1).isReg() &&
    2933           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2934           0 :         MI->getOperand(3).isImm() &&
    2935           0 :         MI->getOperand(3).getImm() == 7) {
    2936             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
    2937             :       AsmString = "fmovdvs %xcc, $\x02, $\x01";
    2938             :       break;
    2939             :     }
    2940             :     return false;
    2941             :   case SP::FMOVQ_ICC:
    2942           0 :     if (MI->getNumOperands() == 4 &&
    2943           0 :         MI->getOperand(0).isReg() &&
    2944           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2945           0 :         MI->getOperand(1).isReg() &&
    2946           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2947           0 :         MI->getOperand(3).isImm() &&
    2948           0 :         MI->getOperand(3).getImm() == 8 &&
    2949             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2950             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    2951             :       AsmString = "fmovqa %icc, $\x02, $\x01";
    2952             :       break;
    2953             :     }
    2954           0 :     if (MI->getNumOperands() == 4 &&
    2955           0 :         MI->getOperand(0).isReg() &&
    2956           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2957           0 :         MI->getOperand(1).isReg() &&
    2958           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2959           0 :         MI->getOperand(3).isImm() &&
    2960           0 :         MI->getOperand(3).getImm() == 0 &&
    2961             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2962             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    2963             :       AsmString = "fmovqn %icc, $\x02, $\x01";
    2964             :       break;
    2965             :     }
    2966           0 :     if (MI->getNumOperands() == 4 &&
    2967           0 :         MI->getOperand(0).isReg() &&
    2968           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2969           0 :         MI->getOperand(1).isReg() &&
    2970           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2971           0 :         MI->getOperand(3).isImm() &&
    2972           0 :         MI->getOperand(3).getImm() == 9 &&
    2973             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2974             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    2975             :       AsmString = "fmovqne %icc, $\x02, $\x01";
    2976             :       break;
    2977             :     }
    2978           0 :     if (MI->getNumOperands() == 4 &&
    2979           0 :         MI->getOperand(0).isReg() &&
    2980           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2981           0 :         MI->getOperand(1).isReg() &&
    2982           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2983           0 :         MI->getOperand(3).isImm() &&
    2984           0 :         MI->getOperand(3).getImm() == 1 &&
    2985             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2986             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    2987             :       AsmString = "fmovqe %icc, $\x02, $\x01";
    2988             :       break;
    2989             :     }
    2990           0 :     if (MI->getNumOperands() == 4 &&
    2991           0 :         MI->getOperand(0).isReg() &&
    2992           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2993           0 :         MI->getOperand(1).isReg() &&
    2994           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2995           0 :         MI->getOperand(3).isImm() &&
    2996           0 :         MI->getOperand(3).getImm() == 10 &&
    2997             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2998             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    2999             :       AsmString = "fmovqg %icc, $\x02, $\x01";
    3000             :       break;
    3001             :     }
    3002           0 :     if (MI->getNumOperands() == 4 &&
    3003           0 :         MI->getOperand(0).isReg() &&
    3004           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3005           0 :         MI->getOperand(1).isReg() &&
    3006           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3007           0 :         MI->getOperand(3).isImm() &&
    3008           0 :         MI->getOperand(3).getImm() == 2 &&
    3009             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3010             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3011             :       AsmString = "fmovqle %icc, $\x02, $\x01";
    3012             :       break;
    3013             :     }
    3014           0 :     if (MI->getNumOperands() == 4 &&
    3015           0 :         MI->getOperand(0).isReg() &&
    3016           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3017           0 :         MI->getOperand(1).isReg() &&
    3018           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3019           0 :         MI->getOperand(3).isImm() &&
    3020           0 :         MI->getOperand(3).getImm() == 11 &&
    3021             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3022             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3023             :       AsmString = "fmovqge %icc, $\x02, $\x01";
    3024             :       break;
    3025             :     }
    3026           0 :     if (MI->getNumOperands() == 4 &&
    3027           0 :         MI->getOperand(0).isReg() &&
    3028           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3029           0 :         MI->getOperand(1).isReg() &&
    3030           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3031           0 :         MI->getOperand(3).isImm() &&
    3032           0 :         MI->getOperand(3).getImm() == 3 &&
    3033             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3034             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3035             :       AsmString = "fmovql %icc, $\x02, $\x01";
    3036             :       break;
    3037             :     }
    3038           0 :     if (MI->getNumOperands() == 4 &&
    3039           0 :         MI->getOperand(0).isReg() &&
    3040           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3041           0 :         MI->getOperand(1).isReg() &&
    3042           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3043           0 :         MI->getOperand(3).isImm() &&
    3044           0 :         MI->getOperand(3).getImm() == 12 &&
    3045             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3046             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3047             :       AsmString = "fmovqgu %icc, $\x02, $\x01";
    3048             :       break;
    3049             :     }
    3050           0 :     if (MI->getNumOperands() == 4 &&
    3051           0 :         MI->getOperand(0).isReg() &&
    3052           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3053           0 :         MI->getOperand(1).isReg() &&
    3054           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3055           0 :         MI->getOperand(3).isImm() &&
    3056           0 :         MI->getOperand(3).getImm() == 4 &&
    3057             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3058             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3059             :       AsmString = "fmovqleu %icc, $\x02, $\x01";
    3060             :       break;
    3061             :     }
    3062           0 :     if (MI->getNumOperands() == 4 &&
    3063           0 :         MI->getOperand(0).isReg() &&
    3064           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3065           0 :         MI->getOperand(1).isReg() &&
    3066           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3067           0 :         MI->getOperand(3).isImm() &&
    3068           0 :         MI->getOperand(3).getImm() == 13 &&
    3069             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3070             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3071             :       AsmString = "fmovqcc %icc, $\x02, $\x01";
    3072             :       break;
    3073             :     }
    3074           0 :     if (MI->getNumOperands() == 4 &&
    3075           0 :         MI->getOperand(0).isReg() &&
    3076           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3077           0 :         MI->getOperand(1).isReg() &&
    3078           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3079           0 :         MI->getOperand(3).isImm() &&
    3080           0 :         MI->getOperand(3).getImm() == 5 &&
    3081             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3082             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3083             :       AsmString = "fmovqcs %icc, $\x02, $\x01";
    3084             :       break;
    3085             :     }
    3086           0 :     if (MI->getNumOperands() == 4 &&
    3087           0 :         MI->getOperand(0).isReg() &&
    3088           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3089           0 :         MI->getOperand(1).isReg() &&
    3090           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3091           0 :         MI->getOperand(3).isImm() &&
    3092           0 :         MI->getOperand(3).getImm() == 14 &&
    3093             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3094             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3095             :       AsmString = "fmovqpos %icc, $\x02, $\x01";
    3096             :       break;
    3097             :     }
    3098           0 :     if (MI->getNumOperands() == 4 &&
    3099           0 :         MI->getOperand(0).isReg() &&
    3100           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3101           0 :         MI->getOperand(1).isReg() &&
    3102           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3103           0 :         MI->getOperand(3).isImm() &&
    3104           0 :         MI->getOperand(3).getImm() == 6 &&
    3105             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3106             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3107             :       AsmString = "fmovqneg %icc, $\x02, $\x01";
    3108             :       break;
    3109             :     }
    3110           0 :     if (MI->getNumOperands() == 4 &&
    3111           0 :         MI->getOperand(0).isReg() &&
    3112           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3113           0 :         MI->getOperand(1).isReg() &&
    3114           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3115           0 :         MI->getOperand(3).isImm() &&
    3116           0 :         MI->getOperand(3).getImm() == 15 &&
    3117             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3118             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3119             :       AsmString = "fmovqvc %icc, $\x02, $\x01";
    3120             :       break;
    3121             :     }
    3122           0 :     if (MI->getNumOperands() == 4 &&
    3123           0 :         MI->getOperand(0).isReg() &&
    3124           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3125           0 :         MI->getOperand(1).isReg() &&
    3126           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3127           0 :         MI->getOperand(3).isImm() &&
    3128           0 :         MI->getOperand(3).getImm() == 7 &&
    3129             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3130             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3131             :       AsmString = "fmovqvs %icc, $\x02, $\x01";
    3132             :       break;
    3133             :     }
    3134             :     return false;
    3135             :   case SP::FMOVQ_XCC:
    3136           0 :     if (MI->getNumOperands() == 4 &&
    3137           0 :         MI->getOperand(0).isReg() &&
    3138           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3139           0 :         MI->getOperand(1).isReg() &&
    3140           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3141           0 :         MI->getOperand(3).isImm() &&
    3142           0 :         MI->getOperand(3).getImm() == 8) {
    3143             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
    3144             :       AsmString = "fmovqa %xcc, $\x02, $\x01";
    3145             :       break;
    3146             :     }
    3147           0 :     if (MI->getNumOperands() == 4 &&
    3148           0 :         MI->getOperand(0).isReg() &&
    3149           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3150           0 :         MI->getOperand(1).isReg() &&
    3151           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3152           0 :         MI->getOperand(3).isImm() &&
    3153           0 :         MI->getOperand(3).getImm() == 0) {
    3154             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
    3155             :       AsmString = "fmovqn %xcc, $\x02, $\x01";
    3156             :       break;
    3157             :     }
    3158           0 :     if (MI->getNumOperands() == 4 &&
    3159           0 :         MI->getOperand(0).isReg() &&
    3160           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3161           0 :         MI->getOperand(1).isReg() &&
    3162           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3163           0 :         MI->getOperand(3).isImm() &&
    3164           0 :         MI->getOperand(3).getImm() == 9) {
    3165             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
    3166             :       AsmString = "fmovqne %xcc, $\x02, $\x01";
    3167             :       break;
    3168             :     }
    3169           0 :     if (MI->getNumOperands() == 4 &&
    3170           0 :         MI->getOperand(0).isReg() &&
    3171           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3172           0 :         MI->getOperand(1).isReg() &&
    3173           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3174           0 :         MI->getOperand(3).isImm() &&
    3175           0 :         MI->getOperand(3).getImm() == 1) {
    3176             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
    3177             :       AsmString = "fmovqe %xcc, $\x02, $\x01";
    3178             :       break;
    3179             :     }
    3180           0 :     if (MI->getNumOperands() == 4 &&
    3181           0 :         MI->getOperand(0).isReg() &&
    3182           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3183           0 :         MI->getOperand(1).isReg() &&
    3184           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3185           0 :         MI->getOperand(3).isImm() &&
    3186           0 :         MI->getOperand(3).getImm() == 10) {
    3187             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
    3188             :       AsmString = "fmovqg %xcc, $\x02, $\x01";
    3189             :       break;
    3190             :     }
    3191           0 :     if (MI->getNumOperands() == 4 &&
    3192           0 :         MI->getOperand(0).isReg() &&
    3193           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3194           0 :         MI->getOperand(1).isReg() &&
    3195           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3196           0 :         MI->getOperand(3).isImm() &&
    3197           0 :         MI->getOperand(3).getImm() == 2) {
    3198             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
    3199             :       AsmString = "fmovqle %xcc, $\x02, $\x01";
    3200             :       break;
    3201             :     }
    3202           0 :     if (MI->getNumOperands() == 4 &&
    3203           0 :         MI->getOperand(0).isReg() &&
    3204           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3205           0 :         MI->getOperand(1).isReg() &&
    3206           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3207           0 :         MI->getOperand(3).isImm() &&
    3208           0 :         MI->getOperand(3).getImm() == 11) {
    3209             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
    3210             :       AsmString = "fmovqge %xcc, $\x02, $\x01";
    3211             :       break;
    3212             :     }
    3213           0 :     if (MI->getNumOperands() == 4 &&
    3214           0 :         MI->getOperand(0).isReg() &&
    3215           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3216           0 :         MI->getOperand(1).isReg() &&
    3217           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3218           0 :         MI->getOperand(3).isImm() &&
    3219           0 :         MI->getOperand(3).getImm() == 3) {
    3220             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
    3221             :       AsmString = "fmovql %xcc, $\x02, $\x01";
    3222             :       break;
    3223             :     }
    3224           0 :     if (MI->getNumOperands() == 4 &&
    3225           0 :         MI->getOperand(0).isReg() &&
    3226           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3227           0 :         MI->getOperand(1).isReg() &&
    3228           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3229           0 :         MI->getOperand(3).isImm() &&
    3230           0 :         MI->getOperand(3).getImm() == 12) {
    3231             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
    3232             :       AsmString = "fmovqgu %xcc, $\x02, $\x01";
    3233             :       break;
    3234             :     }
    3235           0 :     if (MI->getNumOperands() == 4 &&
    3236           0 :         MI->getOperand(0).isReg() &&
    3237           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3238           0 :         MI->getOperand(1).isReg() &&
    3239           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3240           0 :         MI->getOperand(3).isImm() &&
    3241           0 :         MI->getOperand(3).getImm() == 4) {
    3242             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
    3243             :       AsmString = "fmovqleu %xcc, $\x02, $\x01";
    3244             :       break;
    3245             :     }
    3246           0 :     if (MI->getNumOperands() == 4 &&
    3247           0 :         MI->getOperand(0).isReg() &&
    3248           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3249           0 :         MI->getOperand(1).isReg() &&
    3250           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3251           0 :         MI->getOperand(3).isImm() &&
    3252           0 :         MI->getOperand(3).getImm() == 13) {
    3253             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
    3254             :       AsmString = "fmovqcc %xcc, $\x02, $\x01";
    3255             :       break;
    3256             :     }
    3257           0 :     if (MI->getNumOperands() == 4 &&
    3258           0 :         MI->getOperand(0).isReg() &&
    3259           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3260           0 :         MI->getOperand(1).isReg() &&
    3261           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3262           0 :         MI->getOperand(3).isImm() &&
    3263           0 :         MI->getOperand(3).getImm() == 5) {
    3264             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
    3265             :       AsmString = "fmovqcs %xcc, $\x02, $\x01";
    3266             :       break;
    3267             :     }
    3268           0 :     if (MI->getNumOperands() == 4 &&
    3269           0 :         MI->getOperand(0).isReg() &&
    3270           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3271           0 :         MI->getOperand(1).isReg() &&
    3272           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3273           0 :         MI->getOperand(3).isImm() &&
    3274           0 :         MI->getOperand(3).getImm() == 14) {
    3275             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
    3276             :       AsmString = "fmovqpos %xcc, $\x02, $\x01";
    3277             :       break;
    3278             :     }
    3279           0 :     if (MI->getNumOperands() == 4 &&
    3280           0 :         MI->getOperand(0).isReg() &&
    3281           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3282           0 :         MI->getOperand(1).isReg() &&
    3283           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3284           0 :         MI->getOperand(3).isImm() &&
    3285           0 :         MI->getOperand(3).getImm() == 6) {
    3286             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
    3287             :       AsmString = "fmovqneg %xcc, $\x02, $\x01";
    3288             :       break;
    3289             :     }
    3290           0 :     if (MI->getNumOperands() == 4 &&
    3291           0 :         MI->getOperand(0).isReg() &&
    3292           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3293           0 :         MI->getOperand(1).isReg() &&
    3294           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3295           0 :         MI->getOperand(3).isImm() &&
    3296           0 :         MI->getOperand(3).getImm() == 15) {
    3297             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
    3298             :       AsmString = "fmovqvc %xcc, $\x02, $\x01";
    3299             :       break;
    3300             :     }
    3301           0 :     if (MI->getNumOperands() == 4 &&
    3302           0 :         MI->getOperand(0).isReg() &&
    3303           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3304           0 :         MI->getOperand(1).isReg() &&
    3305           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3306           0 :         MI->getOperand(3).isImm() &&
    3307           0 :         MI->getOperand(3).getImm() == 7) {
    3308             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
    3309             :       AsmString = "fmovqvs %xcc, $\x02, $\x01";
    3310             :       break;
    3311             :     }
    3312             :     return false;
    3313             :   case SP::FMOVS_ICC:
    3314          16 :     if (MI->getNumOperands() == 4 &&
    3315          32 :         MI->getOperand(0).isReg() &&
    3316          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3317          32 :         MI->getOperand(1).isReg() &&
    3318          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3319          16 :         MI->getOperand(3).isImm() &&
    3320          32 :         MI->getOperand(3).getImm() == 8 &&
    3321             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3322             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3323             :       AsmString = "fmovsa %icc, $\x02, $\x01";
    3324             :       break;
    3325             :     }
    3326          16 :     if (MI->getNumOperands() == 4 &&
    3327          32 :         MI->getOperand(0).isReg() &&
    3328          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3329          32 :         MI->getOperand(1).isReg() &&
    3330          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3331          16 :         MI->getOperand(3).isImm() &&
    3332          32 :         MI->getOperand(3).getImm() == 0 &&
    3333             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3334             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3335             :       AsmString = "fmovsn %icc, $\x02, $\x01";
    3336             :       break;
    3337             :     }
    3338          16 :     if (MI->getNumOperands() == 4 &&
    3339          32 :         MI->getOperand(0).isReg() &&
    3340          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3341          32 :         MI->getOperand(1).isReg() &&
    3342          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3343          16 :         MI->getOperand(3).isImm() &&
    3344          32 :         MI->getOperand(3).getImm() == 9 &&
    3345             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3346             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3347             :       AsmString = "fmovsne %icc, $\x02, $\x01";
    3348             :       break;
    3349             :     }
    3350          15 :     if (MI->getNumOperands() == 4 &&
    3351          30 :         MI->getOperand(0).isReg() &&
    3352          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3353          30 :         MI->getOperand(1).isReg() &&
    3354          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3355          15 :         MI->getOperand(3).isImm() &&
    3356          30 :         MI->getOperand(3).getImm() == 1 &&
    3357             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3358             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3359             :       AsmString = "fmovse %icc, $\x02, $\x01";
    3360             :       break;
    3361             :     }
    3362          12 :     if (MI->getNumOperands() == 4 &&
    3363          24 :         MI->getOperand(0).isReg() &&
    3364          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3365          24 :         MI->getOperand(1).isReg() &&
    3366          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3367          12 :         MI->getOperand(3).isImm() &&
    3368          24 :         MI->getOperand(3).getImm() == 10 &&
    3369             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3370             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3371             :       AsmString = "fmovsg %icc, $\x02, $\x01";
    3372             :       break;
    3373             :     }
    3374          11 :     if (MI->getNumOperands() == 4 &&
    3375          22 :         MI->getOperand(0).isReg() &&
    3376          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3377          22 :         MI->getOperand(1).isReg() &&
    3378          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3379          11 :         MI->getOperand(3).isImm() &&
    3380          22 :         MI->getOperand(3).getImm() == 2 &&
    3381             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3382             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3383             :       AsmString = "fmovsle %icc, $\x02, $\x01";
    3384             :       break;
    3385             :     }
    3386          10 :     if (MI->getNumOperands() == 4 &&
    3387          20 :         MI->getOperand(0).isReg() &&
    3388          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3389          20 :         MI->getOperand(1).isReg() &&
    3390          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3391          10 :         MI->getOperand(3).isImm() &&
    3392          20 :         MI->getOperand(3).getImm() == 11 &&
    3393             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3394             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3395             :       AsmString = "fmovsge %icc, $\x02, $\x01";
    3396             :       break;
    3397             :     }
    3398           9 :     if (MI->getNumOperands() == 4 &&
    3399          18 :         MI->getOperand(0).isReg() &&
    3400           9 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3401          18 :         MI->getOperand(1).isReg() &&
    3402           9 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3403           9 :         MI->getOperand(3).isImm() &&
    3404          18 :         MI->getOperand(3).getImm() == 3 &&
    3405             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3406             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3407             :       AsmString = "fmovsl %icc, $\x02, $\x01";
    3408             :       break;
    3409             :     }
    3410           8 :     if (MI->getNumOperands() == 4 &&
    3411          16 :         MI->getOperand(0).isReg() &&
    3412           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3413          16 :         MI->getOperand(1).isReg() &&
    3414           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3415           8 :         MI->getOperand(3).isImm() &&
    3416          16 :         MI->getOperand(3).getImm() == 12 &&
    3417             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3418             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3419             :       AsmString = "fmovsgu %icc, $\x02, $\x01";
    3420             :       break;
    3421             :     }
    3422           7 :     if (MI->getNumOperands() == 4 &&
    3423          14 :         MI->getOperand(0).isReg() &&
    3424           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3425          14 :         MI->getOperand(1).isReg() &&
    3426           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3427           7 :         MI->getOperand(3).isImm() &&
    3428          14 :         MI->getOperand(3).getImm() == 4 &&
    3429             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3430             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3431             :       AsmString = "fmovsleu %icc, $\x02, $\x01";
    3432             :       break;
    3433             :     }
    3434           6 :     if (MI->getNumOperands() == 4 &&
    3435          12 :         MI->getOperand(0).isReg() &&
    3436           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3437          12 :         MI->getOperand(1).isReg() &&
    3438           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3439           6 :         MI->getOperand(3).isImm() &&
    3440          12 :         MI->getOperand(3).getImm() == 13 &&
    3441             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3442             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3443             :       AsmString = "fmovscc %icc, $\x02, $\x01";
    3444             :       break;
    3445             :     }
    3446           5 :     if (MI->getNumOperands() == 4 &&
    3447          10 :         MI->getOperand(0).isReg() &&
    3448           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3449          10 :         MI->getOperand(1).isReg() &&
    3450           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3451           5 :         MI->getOperand(3).isImm() &&
    3452          10 :         MI->getOperand(3).getImm() == 5 &&
    3453             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3454             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3455             :       AsmString = "fmovscs %icc, $\x02, $\x01";
    3456             :       break;
    3457             :     }
    3458           4 :     if (MI->getNumOperands() == 4 &&
    3459           8 :         MI->getOperand(0).isReg() &&
    3460           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3461           8 :         MI->getOperand(1).isReg() &&
    3462           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3463           4 :         MI->getOperand(3).isImm() &&
    3464           8 :         MI->getOperand(3).getImm() == 14 &&
    3465             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3466             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3467             :       AsmString = "fmovspos %icc, $\x02, $\x01";
    3468             :       break;
    3469             :     }
    3470           3 :     if (MI->getNumOperands() == 4 &&
    3471           6 :         MI->getOperand(0).isReg() &&
    3472           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3473           6 :         MI->getOperand(1).isReg() &&
    3474           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3475           3 :         MI->getOperand(3).isImm() &&
    3476           6 :         MI->getOperand(3).getImm() == 6 &&
    3477             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3478             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3479             :       AsmString = "fmovsneg %icc, $\x02, $\x01";
    3480             :       break;
    3481             :     }
    3482           2 :     if (MI->getNumOperands() == 4 &&
    3483           4 :         MI->getOperand(0).isReg() &&
    3484           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3485           4 :         MI->getOperand(1).isReg() &&
    3486           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3487           2 :         MI->getOperand(3).isImm() &&
    3488           4 :         MI->getOperand(3).getImm() == 15 &&
    3489             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3490             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3491             :       AsmString = "fmovsvc %icc, $\x02, $\x01";
    3492             :       break;
    3493             :     }
    3494           1 :     if (MI->getNumOperands() == 4 &&
    3495           2 :         MI->getOperand(0).isReg() &&
    3496           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3497           2 :         MI->getOperand(1).isReg() &&
    3498           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3499           1 :         MI->getOperand(3).isImm() &&
    3500           2 :         MI->getOperand(3).getImm() == 7 &&
    3501             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3502             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3503             :       AsmString = "fmovsvs %icc, $\x02, $\x01";
    3504             :       break;
    3505             :     }
    3506             :     return false;
    3507             :   case SP::FMOVS_XCC:
    3508          16 :     if (MI->getNumOperands() == 4 &&
    3509          32 :         MI->getOperand(0).isReg() &&
    3510          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3511          32 :         MI->getOperand(1).isReg() &&
    3512          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3513          32 :         MI->getOperand(3).isImm() &&
    3514          16 :         MI->getOperand(3).getImm() == 8) {
    3515             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
    3516             :       AsmString = "fmovsa %xcc, $\x02, $\x01";
    3517             :       break;
    3518             :     }
    3519          16 :     if (MI->getNumOperands() == 4 &&
    3520          32 :         MI->getOperand(0).isReg() &&
    3521          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3522          32 :         MI->getOperand(1).isReg() &&
    3523          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3524          32 :         MI->getOperand(3).isImm() &&
    3525          16 :         MI->getOperand(3).getImm() == 0) {
    3526             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
    3527             :       AsmString = "fmovsn %xcc, $\x02, $\x01";
    3528             :       break;
    3529             :     }
    3530          16 :     if (MI->getNumOperands() == 4 &&
    3531          32 :         MI->getOperand(0).isReg() &&
    3532          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3533          32 :         MI->getOperand(1).isReg() &&
    3534          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3535          32 :         MI->getOperand(3).isImm() &&
    3536          16 :         MI->getOperand(3).getImm() == 9) {
    3537             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
    3538             :       AsmString = "fmovsne %xcc, $\x02, $\x01";
    3539             :       break;
    3540             :     }
    3541          15 :     if (MI->getNumOperands() == 4 &&
    3542          30 :         MI->getOperand(0).isReg() &&
    3543          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3544          30 :         MI->getOperand(1).isReg() &&
    3545          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3546          30 :         MI->getOperand(3).isImm() &&
    3547          15 :         MI->getOperand(3).getImm() == 1) {
    3548             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
    3549             :       AsmString = "fmovse %xcc, $\x02, $\x01";
    3550             :       break;
    3551             :     }
    3552          14 :     if (MI->getNumOperands() == 4 &&
    3553          28 :         MI->getOperand(0).isReg() &&
    3554          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3555          28 :         MI->getOperand(1).isReg() &&
    3556          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3557          28 :         MI->getOperand(3).isImm() &&
    3558          14 :         MI->getOperand(3).getImm() == 10) {
    3559             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
    3560             :       AsmString = "fmovsg %xcc, $\x02, $\x01";
    3561             :       break;
    3562             :     }
    3563          12 :     if (MI->getNumOperands() == 4 &&
    3564          24 :         MI->getOperand(0).isReg() &&
    3565          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3566          24 :         MI->getOperand(1).isReg() &&
    3567          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3568          24 :         MI->getOperand(3).isImm() &&
    3569          12 :         MI->getOperand(3).getImm() == 2) {
    3570             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
    3571             :       AsmString = "fmovsle %xcc, $\x02, $\x01";
    3572             :       break;
    3573             :     }
    3574          11 :     if (MI->getNumOperands() == 4 &&
    3575          22 :         MI->getOperand(0).isReg() &&
    3576          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3577          22 :         MI->getOperand(1).isReg() &&
    3578          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3579          22 :         MI->getOperand(3).isImm() &&
    3580          11 :         MI->getOperand(3).getImm() == 11) {
    3581             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
    3582             :       AsmString = "fmovsge %xcc, $\x02, $\x01";
    3583             :       break;
    3584             :     }
    3585          10 :     if (MI->getNumOperands() == 4 &&
    3586          20 :         MI->getOperand(0).isReg() &&
    3587          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3588          20 :         MI->getOperand(1).isReg() &&
    3589          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3590          20 :         MI->getOperand(3).isImm() &&
    3591          10 :         MI->getOperand(3).getImm() == 3) {
    3592             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
    3593             :       AsmString = "fmovsl %xcc, $\x02, $\x01";
    3594             :       break;
    3595             :     }
    3596           8 :     if (MI->getNumOperands() == 4 &&
    3597          16 :         MI->getOperand(0).isReg() &&
    3598           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3599          16 :         MI->getOperand(1).isReg() &&
    3600           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3601          16 :         MI->getOperand(3).isImm() &&
    3602           8 :         MI->getOperand(3).getImm() == 12) {
    3603             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
    3604             :       AsmString = "fmovsgu %xcc, $\x02, $\x01";
    3605             :       break;
    3606             :     }
    3607           7 :     if (MI->getNumOperands() == 4 &&
    3608          14 :         MI->getOperand(0).isReg() &&
    3609           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3610          14 :         MI->getOperand(1).isReg() &&
    3611           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3612          14 :         MI->getOperand(3).isImm() &&
    3613           7 :         MI->getOperand(3).getImm() == 4) {
    3614             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
    3615             :       AsmString = "fmovsleu %xcc, $\x02, $\x01";
    3616             :       break;
    3617             :     }
    3618           6 :     if (MI->getNumOperands() == 4 &&
    3619          12 :         MI->getOperand(0).isReg() &&
    3620           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3621          12 :         MI->getOperand(1).isReg() &&
    3622           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3623          12 :         MI->getOperand(3).isImm() &&
    3624           6 :         MI->getOperand(3).getImm() == 13) {
    3625             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
    3626             :       AsmString = "fmovscc %xcc, $\x02, $\x01";
    3627             :       break;
    3628             :     }
    3629           5 :     if (MI->getNumOperands() == 4 &&
    3630          10 :         MI->getOperand(0).isReg() &&
    3631           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3632          10 :         MI->getOperand(1).isReg() &&
    3633           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3634          10 :         MI->getOperand(3).isImm() &&
    3635           5 :         MI->getOperand(3).getImm() == 5) {
    3636             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
    3637             :       AsmString = "fmovscs %xcc, $\x02, $\x01";
    3638             :       break;
    3639             :     }
    3640           4 :     if (MI->getNumOperands() == 4 &&
    3641           8 :         MI->getOperand(0).isReg() &&
    3642           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3643           8 :         MI->getOperand(1).isReg() &&
    3644           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3645           8 :         MI->getOperand(3).isImm() &&
    3646           4 :         MI->getOperand(3).getImm() == 14) {
    3647             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
    3648             :       AsmString = "fmovspos %xcc, $\x02, $\x01";
    3649             :       break;
    3650             :     }
    3651           3 :     if (MI->getNumOperands() == 4 &&
    3652           6 :         MI->getOperand(0).isReg() &&
    3653           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3654           6 :         MI->getOperand(1).isReg() &&
    3655           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3656           6 :         MI->getOperand(3).isImm() &&
    3657           3 :         MI->getOperand(3).getImm() == 6) {
    3658             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
    3659             :       AsmString = "fmovsneg %xcc, $\x02, $\x01";
    3660             :       break;
    3661             :     }
    3662           2 :     if (MI->getNumOperands() == 4 &&
    3663           4 :         MI->getOperand(0).isReg() &&
    3664           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3665           4 :         MI->getOperand(1).isReg() &&
    3666           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3667           4 :         MI->getOperand(3).isImm() &&
    3668           2 :         MI->getOperand(3).getImm() == 15) {
    3669             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
    3670             :       AsmString = "fmovsvc %xcc, $\x02, $\x01";
    3671             :       break;
    3672             :     }
    3673           1 :     if (MI->getNumOperands() == 4 &&
    3674           2 :         MI->getOperand(0).isReg() &&
    3675           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3676           2 :         MI->getOperand(1).isReg() &&
    3677           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3678           2 :         MI->getOperand(3).isImm() &&
    3679           1 :         MI->getOperand(3).getImm() == 7) {
    3680             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
    3681             :       AsmString = "fmovsvs %xcc, $\x02, $\x01";
    3682             :       break;
    3683             :     }
    3684             :     return false;
    3685             :   case SP::MOVICCri:
    3686          13 :     if (MI->getNumOperands() == 4 &&
    3687          26 :         MI->getOperand(0).isReg() &&
    3688          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3689          13 :         MI->getOperand(3).isImm() &&
    3690          26 :         MI->getOperand(3).getImm() == 8 &&
    3691             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3692             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    3693             :       AsmString = "mova %icc, $\x02, $\x01";
    3694             :       break;
    3695             :     }
    3696          13 :     if (MI->getNumOperands() == 4 &&
    3697          26 :         MI->getOperand(0).isReg() &&
    3698          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3699          13 :         MI->getOperand(3).isImm() &&
    3700          26 :         MI->getOperand(3).getImm() == 0 &&
    3701             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3702             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    3703             :       AsmString = "movn %icc, $\x02, $\x01";
    3704             :       break;
    3705             :     }
    3706          13 :     if (MI->getNumOperands() == 4 &&
    3707          26 :         MI->getOperand(0).isReg() &&
    3708          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3709          13 :         MI->getOperand(3).isImm() &&
    3710          26 :         MI->getOperand(3).getImm() == 9 &&
    3711             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3712             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    3713             :       AsmString = "movne %icc, $\x02, $\x01";
    3714             :       break;
    3715             :     }
    3716          13 :     if (MI->getNumOperands() == 4 &&
    3717          26 :         MI->getOperand(0).isReg() &&
    3718          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3719          13 :         MI->getOperand(3).isImm() &&
    3720          26 :         MI->getOperand(3).getImm() == 1 &&
    3721             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3722             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    3723             :       AsmString = "move %icc, $\x02, $\x01";
    3724             :       break;
    3725             :     }
    3726           2 :     if (MI->getNumOperands() == 4 &&
    3727           4 :         MI->getOperand(0).isReg() &&
    3728           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3729           2 :         MI->getOperand(3).isImm() &&
    3730           4 :         MI->getOperand(3).getImm() == 10 &&
    3731             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3732             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    3733             :       AsmString = "movg %icc, $\x02, $\x01";
    3734             :       break;
    3735             :     }
    3736           2 :     if (MI->getNumOperands() == 4 &&
    3737           4 :         MI->getOperand(0).isReg() &&
    3738           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3739           2 :         MI->getOperand(3).isImm() &&
    3740           4 :         MI->getOperand(3).getImm() == 2 &&
    3741             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3742             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    3743             :       AsmString = "movle %icc, $\x02, $\x01";
    3744             :       break;
    3745             :     }
    3746           2 :     if (MI->getNumOperands() == 4 &&
    3747           4 :         MI->getOperand(0).isReg() &&
    3748           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3749           2 :         MI->getOperand(3).isImm() &&
    3750           4 :         MI->getOperand(3).getImm() == 11 &&
    3751             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3752             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    3753             :       AsmString = "movge %icc, $\x02, $\x01";
    3754             :       break;
    3755             :     }
    3756           2 :     if (MI->getNumOperands() == 4 &&
    3757           4 :         MI->getOperand(0).isReg() &&
    3758           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3759           2 :         MI->getOperand(3).isImm() &&
    3760           4 :         MI->getOperand(3).getImm() == 3 &&
    3761             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3762             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    3763             :       AsmString = "movl %icc, $\x02, $\x01";
    3764             :       break;
    3765             :     }
    3766           2 :     if (MI->getNumOperands() == 4 &&
    3767           4 :         MI->getOperand(0).isReg() &&
    3768           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3769           2 :         MI->getOperand(3).isImm() &&
    3770           4 :         MI->getOperand(3).getImm() == 12 &&
    3771             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3772             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    3773             :       AsmString = "movgu %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() == 4 &&
    3781             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3782             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    3783             :       AsmString = "movleu %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() == 13 &&
    3791             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3792             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    3793             :       AsmString = "movcc %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() == 5 &&
    3801             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3802             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    3803             :       AsmString = "movcs %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() == 14 &&
    3811             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3812             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    3813             :       AsmString = "movpos %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() == 6 &&
    3821             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3822             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    3823             :       AsmString = "movneg %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() == 15 &&
    3831             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3832             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    3833             :       AsmString = "movvc %icc, $\x02, $\x01";
    3834             :       break;
    3835             :     }
    3836           0 :     if (MI->getNumOperands() == 4 &&
    3837           0 :         MI->getOperand(0).isReg() &&
    3838           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3839           0 :         MI->getOperand(3).isImm() &&
    3840           0 :         MI->getOperand(3).getImm() == 7 &&
    3841             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3842             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    3843             :       AsmString = "movvs %icc, $\x02, $\x01";
    3844             :       break;
    3845             :     }
    3846             :     return false;
    3847             :   case SP::MOVICCrr:
    3848          19 :     if (MI->getNumOperands() == 4 &&
    3849          38 :         MI->getOperand(0).isReg() &&
    3850          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3851          38 :         MI->getOperand(1).isReg() &&
    3852          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3853          19 :         MI->getOperand(3).isImm() &&
    3854          38 :         MI->getOperand(3).getImm() == 8 &&
    3855             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3856             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    3857             :       AsmString = "mova %icc, $\x02, $\x01";
    3858             :       break;
    3859             :     }
    3860          19 :     if (MI->getNumOperands() == 4 &&
    3861          38 :         MI->getOperand(0).isReg() &&
    3862          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3863          38 :         MI->getOperand(1).isReg() &&
    3864          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3865          19 :         MI->getOperand(3).isImm() &&
    3866          38 :         MI->getOperand(3).getImm() == 0 &&
    3867             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3868             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    3869             :       AsmString = "movn %icc, $\x02, $\x01";
    3870             :       break;
    3871             :     }
    3872          19 :     if (MI->getNumOperands() == 4 &&
    3873          38 :         MI->getOperand(0).isReg() &&
    3874          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3875          38 :         MI->getOperand(1).isReg() &&
    3876          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3877          19 :         MI->getOperand(3).isImm() &&
    3878          38 :         MI->getOperand(3).getImm() == 9 &&
    3879             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3880             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    3881             :       AsmString = "movne %icc, $\x02, $\x01";
    3882             :       break;
    3883             :     }
    3884          18 :     if (MI->getNumOperands() == 4 &&
    3885          36 :         MI->getOperand(0).isReg() &&
    3886          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3887          36 :         MI->getOperand(1).isReg() &&
    3888          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3889          18 :         MI->getOperand(3).isImm() &&
    3890          36 :         MI->getOperand(3).getImm() == 1 &&
    3891             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3892             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    3893             :       AsmString = "move %icc, $\x02, $\x01";
    3894             :       break;
    3895             :     }
    3896          14 :     if (MI->getNumOperands() == 4 &&
    3897          28 :         MI->getOperand(0).isReg() &&
    3898          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3899          28 :         MI->getOperand(1).isReg() &&
    3900          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3901          14 :         MI->getOperand(3).isImm() &&
    3902          28 :         MI->getOperand(3).getImm() == 10 &&
    3903             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3904             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    3905             :       AsmString = "movg %icc, $\x02, $\x01";
    3906             :       break;
    3907             :     }
    3908          12 :     if (MI->getNumOperands() == 4 &&
    3909          24 :         MI->getOperand(0).isReg() &&
    3910          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3911          24 :         MI->getOperand(1).isReg() &&
    3912          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3913          12 :         MI->getOperand(3).isImm() &&
    3914          24 :         MI->getOperand(3).getImm() == 2 &&
    3915             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3916             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    3917             :       AsmString = "movle %icc, $\x02, $\x01";
    3918             :       break;
    3919             :     }
    3920          11 :     if (MI->getNumOperands() == 4 &&
    3921          22 :         MI->getOperand(0).isReg() &&
    3922          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3923          22 :         MI->getOperand(1).isReg() &&
    3924          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3925          11 :         MI->getOperand(3).isImm() &&
    3926          22 :         MI->getOperand(3).getImm() == 11 &&
    3927             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3928             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    3929             :       AsmString = "movge %icc, $\x02, $\x01";
    3930             :       break;
    3931             :     }
    3932          10 :     if (MI->getNumOperands() == 4 &&
    3933          20 :         MI->getOperand(0).isReg() &&
    3934          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3935          20 :         MI->getOperand(1).isReg() &&
    3936          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3937          10 :         MI->getOperand(3).isImm() &&
    3938          20 :         MI->getOperand(3).getImm() == 3 &&
    3939             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3940             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    3941             :       AsmString = "movl %icc, $\x02, $\x01";
    3942             :       break;
    3943             :     }
    3944           9 :     if (MI->getNumOperands() == 4 &&
    3945          18 :         MI->getOperand(0).isReg() &&
    3946           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3947          18 :         MI->getOperand(1).isReg() &&
    3948           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3949           9 :         MI->getOperand(3).isImm() &&
    3950          18 :         MI->getOperand(3).getImm() == 12 &&
    3951             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3952             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    3953             :       AsmString = "movgu %icc, $\x02, $\x01";
    3954             :       break;
    3955             :     }
    3956           8 :     if (MI->getNumOperands() == 4 &&
    3957          16 :         MI->getOperand(0).isReg() &&
    3958           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3959          16 :         MI->getOperand(1).isReg() &&
    3960           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3961           8 :         MI->getOperand(3).isImm() &&
    3962          16 :         MI->getOperand(3).getImm() == 4 &&
    3963             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3964             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    3965             :       AsmString = "movleu %icc, $\x02, $\x01";
    3966             :       break;
    3967             :     }
    3968           6 :     if (MI->getNumOperands() == 4 &&
    3969          12 :         MI->getOperand(0).isReg() &&
    3970           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3971          12 :         MI->getOperand(1).isReg() &&
    3972           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3973           6 :         MI->getOperand(3).isImm() &&
    3974          12 :         MI->getOperand(3).getImm() == 13 &&
    3975             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3976             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    3977             :       AsmString = "movcc %icc, $\x02, $\x01";
    3978             :       break;
    3979             :     }
    3980           5 :     if (MI->getNumOperands() == 4 &&
    3981          10 :         MI->getOperand(0).isReg() &&
    3982           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3983          10 :         MI->getOperand(1).isReg() &&
    3984           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3985           5 :         MI->getOperand(3).isImm() &&
    3986          10 :         MI->getOperand(3).getImm() == 5 &&
    3987             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3988             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    3989             :       AsmString = "movcs %icc, $\x02, $\x01";
    3990             :       break;
    3991             :     }
    3992           4 :     if (MI->getNumOperands() == 4 &&
    3993           8 :         MI->getOperand(0).isReg() &&
    3994           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3995           8 :         MI->getOperand(1).isReg() &&
    3996           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3997           4 :         MI->getOperand(3).isImm() &&
    3998           8 :         MI->getOperand(3).getImm() == 14 &&
    3999             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4000             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    4001             :       AsmString = "movpos %icc, $\x02, $\x01";
    4002             :       break;
    4003             :     }
    4004           3 :     if (MI->getNumOperands() == 4 &&
    4005           6 :         MI->getOperand(0).isReg() &&
    4006           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4007           6 :         MI->getOperand(1).isReg() &&
    4008           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4009           3 :         MI->getOperand(3).isImm() &&
    4010           6 :         MI->getOperand(3).getImm() == 6 &&
    4011             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4012             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4013             :       AsmString = "movneg %icc, $\x02, $\x01";
    4014             :       break;
    4015             :     }
    4016           2 :     if (MI->getNumOperands() == 4 &&
    4017           4 :         MI->getOperand(0).isReg() &&
    4018           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4019           4 :         MI->getOperand(1).isReg() &&
    4020           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4021           2 :         MI->getOperand(3).isImm() &&
    4022           4 :         MI->getOperand(3).getImm() == 15 &&
    4023             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4024             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4025             :       AsmString = "movvc %icc, $\x02, $\x01";
    4026             :       break;
    4027             :     }
    4028           1 :     if (MI->getNumOperands() == 4 &&
    4029           2 :         MI->getOperand(0).isReg() &&
    4030           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4031           2 :         MI->getOperand(1).isReg() &&
    4032           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4033           1 :         MI->getOperand(3).isImm() &&
    4034           2 :         MI->getOperand(3).getImm() == 7 &&
    4035             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4036             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4037             :       AsmString = "movvs %icc, $\x02, $\x01";
    4038             :       break;
    4039             :     }
    4040             :     return false;
    4041             :   case SP::MOVXCCri:
    4042          16 :     if (MI->getNumOperands() == 4 &&
    4043          32 :         MI->getOperand(0).isReg() &&
    4044          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4045          32 :         MI->getOperand(3).isImm() &&
    4046          16 :         MI->getOperand(3).getImm() == 8) {
    4047             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
    4048             :       AsmString = "mova %xcc, $\x02, $\x01";
    4049             :       break;
    4050             :     }
    4051          16 :     if (MI->getNumOperands() == 4 &&
    4052          32 :         MI->getOperand(0).isReg() &&
    4053          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4054          32 :         MI->getOperand(3).isImm() &&
    4055          16 :         MI->getOperand(3).getImm() == 0) {
    4056             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
    4057             :       AsmString = "movn %xcc, $\x02, $\x01";
    4058             :       break;
    4059             :     }
    4060          16 :     if (MI->getNumOperands() == 4 &&
    4061          32 :         MI->getOperand(0).isReg() &&
    4062          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4063          32 :         MI->getOperand(3).isImm() &&
    4064          16 :         MI->getOperand(3).getImm() == 9) {
    4065             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
    4066             :       AsmString = "movne %xcc, $\x02, $\x01";
    4067             :       break;
    4068             :     }
    4069          11 :     if (MI->getNumOperands() == 4 &&
    4070          22 :         MI->getOperand(0).isReg() &&
    4071          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4072          22 :         MI->getOperand(3).isImm() &&
    4073          11 :         MI->getOperand(3).getImm() == 1) {
    4074             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
    4075             :       AsmString = "move %xcc, $\x02, $\x01";
    4076             :       break;
    4077             :     }
    4078           7 :     if (MI->getNumOperands() == 4 &&
    4079          14 :         MI->getOperand(0).isReg() &&
    4080           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4081          14 :         MI->getOperand(3).isImm() &&
    4082           7 :         MI->getOperand(3).getImm() == 10) {
    4083             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
    4084             :       AsmString = "movg %xcc, $\x02, $\x01";
    4085             :       break;
    4086             :     }
    4087           6 :     if (MI->getNumOperands() == 4 &&
    4088          12 :         MI->getOperand(0).isReg() &&
    4089           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4090          12 :         MI->getOperand(3).isImm() &&
    4091           6 :         MI->getOperand(3).getImm() == 2) {
    4092             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
    4093             :       AsmString = "movle %xcc, $\x02, $\x01";
    4094             :       break;
    4095             :     }
    4096           6 :     if (MI->getNumOperands() == 4 &&
    4097          12 :         MI->getOperand(0).isReg() &&
    4098           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4099          12 :         MI->getOperand(3).isImm() &&
    4100           6 :         MI->getOperand(3).getImm() == 11) {
    4101             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
    4102             :       AsmString = "movge %xcc, $\x02, $\x01";
    4103             :       break;
    4104             :     }
    4105           6 :     if (MI->getNumOperands() == 4 &&
    4106          12 :         MI->getOperand(0).isReg() &&
    4107           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4108          12 :         MI->getOperand(3).isImm() &&
    4109           6 :         MI->getOperand(3).getImm() == 3) {
    4110             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
    4111             :       AsmString = "movl %xcc, $\x02, $\x01";
    4112             :       break;
    4113             :     }
    4114           4 :     if (MI->getNumOperands() == 4 &&
    4115           8 :         MI->getOperand(0).isReg() &&
    4116           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4117           8 :         MI->getOperand(3).isImm() &&
    4118           4 :         MI->getOperand(3).getImm() == 12) {
    4119             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
    4120             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4121             :       break;
    4122             :     }
    4123           3 :     if (MI->getNumOperands() == 4 &&
    4124           6 :         MI->getOperand(0).isReg() &&
    4125           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4126           6 :         MI->getOperand(3).isImm() &&
    4127           3 :         MI->getOperand(3).getImm() == 4) {
    4128             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
    4129             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4130             :       break;
    4131             :     }
    4132           3 :     if (MI->getNumOperands() == 4 &&
    4133           6 :         MI->getOperand(0).isReg() &&
    4134           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4135           6 :         MI->getOperand(3).isImm() &&
    4136           3 :         MI->getOperand(3).getImm() == 13) {
    4137             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
    4138             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4139             :       break;
    4140             :     }
    4141           3 :     if (MI->getNumOperands() == 4 &&
    4142           6 :         MI->getOperand(0).isReg() &&
    4143           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4144           6 :         MI->getOperand(3).isImm() &&
    4145           3 :         MI->getOperand(3).getImm() == 5) {
    4146             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
    4147             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4148             :       break;
    4149             :     }
    4150           0 :     if (MI->getNumOperands() == 4 &&
    4151           0 :         MI->getOperand(0).isReg() &&
    4152           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4153           0 :         MI->getOperand(3).isImm() &&
    4154           0 :         MI->getOperand(3).getImm() == 14) {
    4155             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
    4156             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4157             :       break;
    4158             :     }
    4159           0 :     if (MI->getNumOperands() == 4 &&
    4160           0 :         MI->getOperand(0).isReg() &&
    4161           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4162           0 :         MI->getOperand(3).isImm() &&
    4163           0 :         MI->getOperand(3).getImm() == 6) {
    4164             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
    4165             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4166             :       break;
    4167             :     }
    4168           0 :     if (MI->getNumOperands() == 4 &&
    4169           0 :         MI->getOperand(0).isReg() &&
    4170           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4171           0 :         MI->getOperand(3).isImm() &&
    4172           0 :         MI->getOperand(3).getImm() == 15) {
    4173             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
    4174             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4175             :       break;
    4176             :     }
    4177           0 :     if (MI->getNumOperands() == 4 &&
    4178           0 :         MI->getOperand(0).isReg() &&
    4179           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4180           0 :         MI->getOperand(3).isImm() &&
    4181           0 :         MI->getOperand(3).getImm() == 7) {
    4182             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
    4183             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4184             :       break;
    4185             :     }
    4186             :     return false;
    4187             :   case SP::MOVXCCrr:
    4188          17 :     if (MI->getNumOperands() == 4 &&
    4189          34 :         MI->getOperand(0).isReg() &&
    4190          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4191          34 :         MI->getOperand(1).isReg() &&
    4192          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4193          34 :         MI->getOperand(3).isImm() &&
    4194          17 :         MI->getOperand(3).getImm() == 8) {
    4195             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
    4196             :       AsmString = "mova %xcc, $\x02, $\x01";
    4197             :       break;
    4198             :     }
    4199          17 :     if (MI->getNumOperands() == 4 &&
    4200          34 :         MI->getOperand(0).isReg() &&
    4201          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4202          34 :         MI->getOperand(1).isReg() &&
    4203          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4204          34 :         MI->getOperand(3).isImm() &&
    4205          17 :         MI->getOperand(3).getImm() == 0) {
    4206             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
    4207             :       AsmString = "movn %xcc, $\x02, $\x01";
    4208             :       break;
    4209             :     }
    4210          17 :     if (MI->getNumOperands() == 4 &&
    4211          34 :         MI->getOperand(0).isReg() &&
    4212          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4213          34 :         MI->getOperand(1).isReg() &&
    4214          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4215          34 :         MI->getOperand(3).isImm() &&
    4216          17 :         MI->getOperand(3).getImm() == 9) {
    4217             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
    4218             :       AsmString = "movne %xcc, $\x02, $\x01";
    4219             :       break;
    4220             :     }
    4221          16 :     if (MI->getNumOperands() == 4 &&
    4222          32 :         MI->getOperand(0).isReg() &&
    4223          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4224          32 :         MI->getOperand(1).isReg() &&
    4225          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4226          32 :         MI->getOperand(3).isImm() &&
    4227          16 :         MI->getOperand(3).getImm() == 1) {
    4228             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
    4229             :       AsmString = "move %xcc, $\x02, $\x01";
    4230             :       break;
    4231             :     }
    4232          15 :     if (MI->getNumOperands() == 4 &&
    4233          30 :         MI->getOperand(0).isReg() &&
    4234          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4235          30 :         MI->getOperand(1).isReg() &&
    4236          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4237          30 :         MI->getOperand(3).isImm() &&
    4238          15 :         MI->getOperand(3).getImm() == 10) {
    4239             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
    4240             :       AsmString = "movg %xcc, $\x02, $\x01";
    4241             :       break;
    4242             :     }
    4243          11 :     if (MI->getNumOperands() == 4 &&
    4244          22 :         MI->getOperand(0).isReg() &&
    4245          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4246          22 :         MI->getOperand(1).isReg() &&
    4247          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4248          22 :         MI->getOperand(3).isImm() &&
    4249          11 :         MI->getOperand(3).getImm() == 2) {
    4250             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
    4251             :       AsmString = "movle %xcc, $\x02, $\x01";
    4252             :       break;
    4253             :     }
    4254          10 :     if (MI->getNumOperands() == 4 &&
    4255          20 :         MI->getOperand(0).isReg() &&
    4256          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4257          20 :         MI->getOperand(1).isReg() &&
    4258          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4259          20 :         MI->getOperand(3).isImm() &&
    4260          10 :         MI->getOperand(3).getImm() == 11) {
    4261             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
    4262             :       AsmString = "movge %xcc, $\x02, $\x01";
    4263             :       break;
    4264             :     }
    4265           9 :     if (MI->getNumOperands() == 4 &&
    4266          18 :         MI->getOperand(0).isReg() &&
    4267           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4268          18 :         MI->getOperand(1).isReg() &&
    4269           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4270          18 :         MI->getOperand(3).isImm() &&
    4271           9 :         MI->getOperand(3).getImm() == 3) {
    4272             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
    4273             :       AsmString = "movl %xcc, $\x02, $\x01";
    4274             :       break;
    4275             :     }
    4276           8 :     if (MI->getNumOperands() == 4 &&
    4277          16 :         MI->getOperand(0).isReg() &&
    4278           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4279          16 :         MI->getOperand(1).isReg() &&
    4280           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4281          16 :         MI->getOperand(3).isImm() &&
    4282           8 :         MI->getOperand(3).getImm() == 12) {
    4283             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
    4284             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4285             :       break;
    4286             :     }
    4287           7 :     if (MI->getNumOperands() == 4 &&
    4288          14 :         MI->getOperand(0).isReg() &&
    4289           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4290          14 :         MI->getOperand(1).isReg() &&
    4291           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4292          14 :         MI->getOperand(3).isImm() &&
    4293           7 :         MI->getOperand(3).getImm() == 4) {
    4294             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
    4295             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4296             :       break;
    4297             :     }
    4298           6 :     if (MI->getNumOperands() == 4 &&
    4299          12 :         MI->getOperand(0).isReg() &&
    4300           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4301          12 :         MI->getOperand(1).isReg() &&
    4302           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4303          12 :         MI->getOperand(3).isImm() &&
    4304           6 :         MI->getOperand(3).getImm() == 13) {
    4305             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
    4306             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4307             :       break;
    4308             :     }
    4309           5 :     if (MI->getNumOperands() == 4 &&
    4310          10 :         MI->getOperand(0).isReg() &&
    4311           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4312          10 :         MI->getOperand(1).isReg() &&
    4313           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4314          10 :         MI->getOperand(3).isImm() &&
    4315           5 :         MI->getOperand(3).getImm() == 5) {
    4316             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
    4317             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4318             :       break;
    4319             :     }
    4320           4 :     if (MI->getNumOperands() == 4 &&
    4321           8 :         MI->getOperand(0).isReg() &&
    4322           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4323           8 :         MI->getOperand(1).isReg() &&
    4324           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4325           8 :         MI->getOperand(3).isImm() &&
    4326           4 :         MI->getOperand(3).getImm() == 14) {
    4327             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
    4328             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4329             :       break;
    4330             :     }
    4331           3 :     if (MI->getNumOperands() == 4 &&
    4332           6 :         MI->getOperand(0).isReg() &&
    4333           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4334           6 :         MI->getOperand(1).isReg() &&
    4335           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4336           6 :         MI->getOperand(3).isImm() &&
    4337           3 :         MI->getOperand(3).getImm() == 6) {
    4338             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
    4339             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4340             :       break;
    4341             :     }
    4342           2 :     if (MI->getNumOperands() == 4 &&
    4343           4 :         MI->getOperand(0).isReg() &&
    4344           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4345           4 :         MI->getOperand(1).isReg() &&
    4346           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4347           4 :         MI->getOperand(3).isImm() &&
    4348           2 :         MI->getOperand(3).getImm() == 15) {
    4349             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
    4350             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4351             :       break;
    4352             :     }
    4353           1 :     if (MI->getNumOperands() == 4 &&
    4354           2 :         MI->getOperand(0).isReg() &&
    4355           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4356           2 :         MI->getOperand(1).isReg() &&
    4357           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4358           2 :         MI->getOperand(3).isImm() &&
    4359           1 :         MI->getOperand(3).getImm() == 7) {
    4360             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
    4361             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4362             :       break;
    4363             :     }
    4364             :     return false;
    4365             :   case SP::ORCCrr:
    4366           6 :     if (MI->getNumOperands() == 3 &&
    4367           6 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4368           8 :         MI->getOperand(1).isReg() &&
    4369          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4370           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4371             :       // (ORCCrr G0, IntRegs:$rs2, G0)
    4372             :       AsmString = "tst $\x02";
    4373             :       break;
    4374             :     }
    4375             :     return false;
    4376             :   case SP::ORri:
    4377         314 :     if (MI->getNumOperands() == 3 &&
    4378         628 :         MI->getOperand(0).isReg() &&
    4379         628 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4380         314 :         MI->getOperand(1).getReg() == Sparc::G0) {
    4381             :       // (ORri IntRegs:$rd, G0, i32imm:$simm13)
    4382             :       AsmString = "mov $\x03, $\x01";
    4383             :       break;
    4384             :     }
    4385             :     return false;
    4386             :   case SP::ORrr:
    4387        1063 :     if (MI->getNumOperands() == 3 &&
    4388        2126 :         MI->getOperand(0).isReg() &&
    4389        1063 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4390        1063 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4391        2895 :         MI->getOperand(2).isReg() &&
    4392         916 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    4393             :       // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
    4394             :       AsmString = "mov $\x03, $\x01";
    4395             :       break;
    4396             :     }
    4397             :     return false;
    4398             :   case SP::RESTORErr:
    4399         379 :     if (MI->getNumOperands() == 3 &&
    4400         379 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4401         673 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4402         294 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4403             :       // (RESTORErr G0, G0, G0)
    4404             :       AsmString = "restore";
    4405             :       break;
    4406             :     }
    4407             :     return false;
    4408             :   case SP::RET:
    4409         282 :     if (MI->getNumOperands() == 1 &&
    4410         282 :         MI->getOperand(0).isImm() &&
    4411         282 :         MI->getOperand(0).getImm() == 8) {
    4412             :       // (RET 8)
    4413             :       AsmString = "ret";
    4414             :       break;
    4415             :     }
    4416             :     return false;
    4417             :   case SP::RETL:
    4418         418 :     if (MI->getNumOperands() == 1 &&
    4419         418 :         MI->getOperand(0).isImm() &&
    4420         418 :         MI->getOperand(0).getImm() == 8) {
    4421             :       // (RETL 8)
    4422             :       AsmString = "retl";
    4423             :       break;
    4424             :     }
    4425             :     return false;
    4426             :   case SP::SAVErr:
    4427           6 :     if (MI->getNumOperands() == 3 &&
    4428           6 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4429          10 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4430           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4431             :       // (SAVErr G0, G0, G0)
    4432             :       AsmString = "save";
    4433             :       break;
    4434             :     }
    4435             :     return false;
    4436             :   case SP::TICCri:
    4437          41 :     if (MI->getNumOperands() == 3 &&
    4438          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4439          21 :         MI->getOperand(2).isImm() &&
    4440          62 :         MI->getOperand(2).getImm() == 8 &&
    4441             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4442             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    4443             :       AsmString = "ta %icc, $\x02";
    4444             :       break;
    4445             :     }
    4446          39 :     if (MI->getNumOperands() == 3 &&
    4447          78 :         MI->getOperand(0).isReg() &&
    4448          39 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4449          39 :         MI->getOperand(2).isImm() &&
    4450          78 :         MI->getOperand(2).getImm() == 8 &&
    4451             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4452             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    4453             :       AsmString = "ta %icc, $\x01 + $\x02";
    4454             :       break;
    4455             :     }
    4456          37 :     if (MI->getNumOperands() == 3 &&
    4457          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4458          19 :         MI->getOperand(2).isImm() &&
    4459          56 :         MI->getOperand(2).getImm() == 0 &&
    4460             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4461             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    4462             :       AsmString = "tn %icc, $\x02";
    4463             :       break;
    4464             :     }
    4465          36 :     if (MI->getNumOperands() == 3 &&
    4466          72 :         MI->getOperand(0).isReg() &&
    4467          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4468          36 :         MI->getOperand(2).isImm() &&
    4469          72 :         MI->getOperand(2).getImm() == 0 &&
    4470             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4471             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    4472             :       AsmString = "tn %icc, $\x01 + $\x02";
    4473             :       break;
    4474             :     }
    4475          35 :     if (MI->getNumOperands() == 3 &&
    4476          35 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4477          18 :         MI->getOperand(2).isImm() &&
    4478          53 :         MI->getOperand(2).getImm() == 9 &&
    4479             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4480             :       // (TICCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    4481             :       AsmString = "tne %icc, $\x02";
    4482             :       break;
    4483             :     }
    4484          33 :     if (MI->getNumOperands() == 3 &&
    4485          66 :         MI->getOperand(0).isReg() &&
    4486          33 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4487          33 :         MI->getOperand(2).isImm() &&
    4488          66 :         MI->getOperand(2).getImm() == 9 &&
    4489             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4490             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    4491             :       AsmString = "tne %icc, $\x01 + $\x02";
    4492             :       break;
    4493             :     }
    4494          32 :     if (MI->getNumOperands() == 3 &&
    4495          32 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4496          16 :         MI->getOperand(2).isImm() &&
    4497          48 :         MI->getOperand(2).getImm() == 1 &&
    4498             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4499             :       // (TICCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    4500             :       AsmString = "te %icc, $\x02";
    4501             :       break;
    4502             :     }
    4503          31 :     if (MI->getNumOperands() == 3 &&
    4504          62 :         MI->getOperand(0).isReg() &&
    4505          31 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4506          31 :         MI->getOperand(2).isImm() &&
    4507          62 :         MI->getOperand(2).getImm() == 1 &&
    4508             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4509             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    4510             :       AsmString = "te %icc, $\x01 + $\x02";
    4511             :       break;
    4512             :     }
    4513          30 :     if (MI->getNumOperands() == 3 &&
    4514          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4515          15 :         MI->getOperand(2).isImm() &&
    4516          45 :         MI->getOperand(2).getImm() == 10 &&
    4517             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4518             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    4519             :       AsmString = "tg %icc, $\x02";
    4520             :       break;
    4521             :     }
    4522          29 :     if (MI->getNumOperands() == 3 &&
    4523          58 :         MI->getOperand(0).isReg() &&
    4524          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4525          29 :         MI->getOperand(2).isImm() &&
    4526          58 :         MI->getOperand(2).getImm() == 10 &&
    4527             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4528             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    4529             :       AsmString = "tg %icc, $\x01 + $\x02";
    4530             :       break;
    4531             :     }
    4532          27 :     if (MI->getNumOperands() == 3 &&
    4533          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4534          14 :         MI->getOperand(2).isImm() &&
    4535          41 :         MI->getOperand(2).getImm() == 2 &&
    4536             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4537             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    4538             :       AsmString = "tle %icc, $\x02";
    4539             :       break;
    4540             :     }
    4541          26 :     if (MI->getNumOperands() == 3 &&
    4542          52 :         MI->getOperand(0).isReg() &&
    4543          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4544          26 :         MI->getOperand(2).isImm() &&
    4545          52 :         MI->getOperand(2).getImm() == 2 &&
    4546             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4547             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    4548             :       AsmString = "tle %icc, $\x01 + $\x02";
    4549             :       break;
    4550             :     }
    4551          25 :     if (MI->getNumOperands() == 3 &&
    4552          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4553          13 :         MI->getOperand(2).isImm() &&
    4554          38 :         MI->getOperand(2).getImm() == 11 &&
    4555             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4556             :       // (TICCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    4557             :       AsmString = "tge %icc, $\x02";
    4558             :       break;
    4559             :     }
    4560          23 :     if (MI->getNumOperands() == 3 &&
    4561          46 :         MI->getOperand(0).isReg() &&
    4562          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4563          23 :         MI->getOperand(2).isImm() &&
    4564          46 :         MI->getOperand(2).getImm() == 11 &&
    4565             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4566             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    4567             :       AsmString = "tge %icc, $\x01 + $\x02";
    4568             :       break;
    4569             :     }
    4570          22 :     if (MI->getNumOperands() == 3 &&
    4571          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4572          11 :         MI->getOperand(2).isImm() &&
    4573          33 :         MI->getOperand(2).getImm() == 3 &&
    4574             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4575             :       // (TICCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    4576             :       AsmString = "tl %icc, $\x02";
    4577             :       break;
    4578             :     }
    4579          21 :     if (MI->getNumOperands() == 3 &&
    4580          42 :         MI->getOperand(0).isReg() &&
    4581          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4582          21 :         MI->getOperand(2).isImm() &&
    4583          42 :         MI->getOperand(2).getImm() == 3 &&
    4584             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4585             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    4586             :       AsmString = "tl %icc, $\x01 + $\x02";
    4587             :       break;
    4588             :     }
    4589          20 :     if (MI->getNumOperands() == 3 &&
    4590          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4591          10 :         MI->getOperand(2).isImm() &&
    4592          30 :         MI->getOperand(2).getImm() == 12 &&
    4593             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4594             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    4595             :       AsmString = "tgu %icc, $\x02";
    4596             :       break;
    4597             :     }
    4598          19 :     if (MI->getNumOperands() == 3 &&
    4599          38 :         MI->getOperand(0).isReg() &&
    4600          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4601          19 :         MI->getOperand(2).isImm() &&
    4602          38 :         MI->getOperand(2).getImm() == 12 &&
    4603             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4604             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    4605             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4606             :       break;
    4607             :     }
    4608          17 :     if (MI->getNumOperands() == 3 &&
    4609          17 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4610           9 :         MI->getOperand(2).isImm() &&
    4611          26 :         MI->getOperand(2).getImm() == 4 &&
    4612             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4613             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    4614             :       AsmString = "tleu %icc, $\x02";
    4615             :       break;
    4616             :     }
    4617          16 :     if (MI->getNumOperands() == 3 &&
    4618          32 :         MI->getOperand(0).isReg() &&
    4619          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4620          16 :         MI->getOperand(2).isImm() &&
    4621          32 :         MI->getOperand(2).getImm() == 4 &&
    4622             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4623             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    4624             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4625             :       break;
    4626             :     }
    4627          15 :     if (MI->getNumOperands() == 3 &&
    4628          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4629           8 :         MI->getOperand(2).isImm() &&
    4630          23 :         MI->getOperand(2).getImm() == 13 &&
    4631             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4632             :       // (TICCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    4633             :       AsmString = "tcc %icc, $\x02";
    4634             :       break;
    4635             :     }
    4636          13 :     if (MI->getNumOperands() == 3 &&
    4637          26 :         MI->getOperand(0).isReg() &&
    4638          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4639          13 :         MI->getOperand(2).isImm() &&
    4640          26 :         MI->getOperand(2).getImm() == 13 &&
    4641             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4642             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    4643             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4644             :       break;
    4645             :     }
    4646          12 :     if (MI->getNumOperands() == 3 &&
    4647          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4648           6 :         MI->getOperand(2).isImm() &&
    4649          18 :         MI->getOperand(2).getImm() == 5 &&
    4650             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4651             :       // (TICCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    4652             :       AsmString = "tcs %icc, $\x02";
    4653             :       break;
    4654             :     }
    4655          11 :     if (MI->getNumOperands() == 3 &&
    4656          22 :         MI->getOperand(0).isReg() &&
    4657          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4658          11 :         MI->getOperand(2).isImm() &&
    4659          22 :         MI->getOperand(2).getImm() == 5 &&
    4660             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4661             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    4662             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4663             :       break;
    4664             :     }
    4665          10 :     if (MI->getNumOperands() == 3 &&
    4666          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4667           5 :         MI->getOperand(2).isImm() &&
    4668          15 :         MI->getOperand(2).getImm() == 14 &&
    4669             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4670             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    4671             :       AsmString = "tpos %icc, $\x02";
    4672             :       break;
    4673             :     }
    4674           9 :     if (MI->getNumOperands() == 3 &&
    4675          18 :         MI->getOperand(0).isReg() &&
    4676           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4677           9 :         MI->getOperand(2).isImm() &&
    4678          18 :         MI->getOperand(2).getImm() == 14 &&
    4679             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4680             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    4681             :       AsmString = "tpos %icc, $\x01 + $\x02";
    4682             :       break;
    4683             :     }
    4684           7 :     if (MI->getNumOperands() == 3 &&
    4685           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4686           4 :         MI->getOperand(2).isImm() &&
    4687          11 :         MI->getOperand(2).getImm() == 6 &&
    4688             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4689             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    4690             :       AsmString = "tneg %icc, $\x02";
    4691             :       break;
    4692             :     }
    4693           6 :     if (MI->getNumOperands() == 3 &&
    4694          12 :         MI->getOperand(0).isReg() &&
    4695           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4696           6 :         MI->getOperand(2).isImm() &&
    4697          12 :         MI->getOperand(2).getImm() == 6 &&
    4698             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4699             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    4700             :       AsmString = "tneg %icc, $\x01 + $\x02";
    4701             :       break;
    4702             :     }
    4703           5 :     if (MI->getNumOperands() == 3 &&
    4704           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4705           3 :         MI->getOperand(2).isImm() &&
    4706           8 :         MI->getOperand(2).getImm() == 15 &&
    4707             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4708             :       // (TICCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    4709             :       AsmString = "tvc %icc, $\x02";
    4710             :       break;
    4711             :     }
    4712           3 :     if (MI->getNumOperands() == 3 &&
    4713           6 :         MI->getOperand(0).isReg() &&
    4714           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4715           3 :         MI->getOperand(2).isImm() &&
    4716           6 :         MI->getOperand(2).getImm() == 15 &&
    4717             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4718             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    4719             :       AsmString = "tvc %icc, $\x01 + $\x02";
    4720             :       break;
    4721             :     }
    4722           2 :     if (MI->getNumOperands() == 3 &&
    4723           2 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4724           1 :         MI->getOperand(2).isImm() &&
    4725           3 :         MI->getOperand(2).getImm() == 7 &&
    4726             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4727             :       // (TICCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    4728             :       AsmString = "tvs %icc, $\x02";
    4729             :       break;
    4730             :     }
    4731           1 :     if (MI->getNumOperands() == 3 &&
    4732           2 :         MI->getOperand(0).isReg() &&
    4733           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4734           1 :         MI->getOperand(2).isImm() &&
    4735           2 :         MI->getOperand(2).getImm() == 7 &&
    4736             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4737             :       // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    4738             :       AsmString = "tvs %icc, $\x01 + $\x02";
    4739             :       break;
    4740             :     }
    4741             :     return false;
    4742             :   case SP::TICCrr:
    4743          44 :     if (MI->getNumOperands() == 3 &&
    4744          44 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4745          46 :         MI->getOperand(1).isReg() &&
    4746          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4747          23 :         MI->getOperand(2).isImm() &&
    4748          67 :         MI->getOperand(2).getImm() == 8 &&
    4749             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4750             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    4751             :       AsmString = "ta %icc, $\x02";
    4752             :       break;
    4753             :     }
    4754          42 :     if (MI->getNumOperands() == 3 &&
    4755          84 :         MI->getOperand(0).isReg() &&
    4756          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4757          84 :         MI->getOperand(1).isReg() &&
    4758          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4759          42 :         MI->getOperand(2).isImm() &&
    4760          84 :         MI->getOperand(2).getImm() == 8 &&
    4761             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4762             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    4763             :       AsmString = "ta %icc, $\x01 + $\x02";
    4764             :       break;
    4765             :     }
    4766          40 :     if (MI->getNumOperands() == 3 &&
    4767          40 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4768          42 :         MI->getOperand(1).isReg() &&
    4769          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4770          21 :         MI->getOperand(2).isImm() &&
    4771          61 :         MI->getOperand(2).getImm() == 0 &&
    4772             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4773             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    4774             :       AsmString = "tn %icc, $\x02";
    4775             :       break;
    4776             :     }
    4777          38 :     if (MI->getNumOperands() == 3 &&
    4778          76 :         MI->getOperand(0).isReg() &&
    4779          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4780          76 :         MI->getOperand(1).isReg() &&
    4781          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4782          38 :         MI->getOperand(2).isImm() &&
    4783          76 :         MI->getOperand(2).getImm() == 0 &&
    4784             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4785             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    4786             :       AsmString = "tn %icc, $\x01 + $\x02";
    4787             :       break;
    4788             :     }
    4789          37 :     if (MI->getNumOperands() == 3 &&
    4790          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4791          38 :         MI->getOperand(1).isReg() &&
    4792          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4793          19 :         MI->getOperand(2).isImm() &&
    4794          56 :         MI->getOperand(2).getImm() == 9 &&
    4795             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4796             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    4797             :       AsmString = "tne %icc, $\x02";
    4798             :       break;
    4799             :     }
    4800          35 :     if (MI->getNumOperands() == 3 &&
    4801          70 :         MI->getOperand(0).isReg() &&
    4802          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4803          70 :         MI->getOperand(1).isReg() &&
    4804          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4805          35 :         MI->getOperand(2).isImm() &&
    4806          70 :         MI->getOperand(2).getImm() == 9 &&
    4807             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4808             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    4809             :       AsmString = "tne %icc, $\x01 + $\x02";
    4810             :       break;
    4811             :     }
    4812          34 :     if (MI->getNumOperands() == 3 &&
    4813          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4814          34 :         MI->getOperand(1).isReg() &&
    4815          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4816          17 :         MI->getOperand(2).isImm() &&
    4817          51 :         MI->getOperand(2).getImm() == 1 &&
    4818             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4819             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    4820             :       AsmString = "te %icc, $\x02";
    4821             :       break;
    4822             :     }
    4823          32 :     if (MI->getNumOperands() == 3 &&
    4824          64 :         MI->getOperand(0).isReg() &&
    4825          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4826          64 :         MI->getOperand(1).isReg() &&
    4827          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4828          32 :         MI->getOperand(2).isImm() &&
    4829          64 :         MI->getOperand(2).getImm() == 1 &&
    4830             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4831             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    4832             :       AsmString = "te %icc, $\x01 + $\x02";
    4833             :       break;
    4834             :     }
    4835          30 :     if (MI->getNumOperands() == 3 &&
    4836          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4837          30 :         MI->getOperand(1).isReg() &&
    4838          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4839          15 :         MI->getOperand(2).isImm() &&
    4840          45 :         MI->getOperand(2).getImm() == 10 &&
    4841             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4842             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    4843             :       AsmString = "tg %icc, $\x02";
    4844             :       break;
    4845             :     }
    4846          29 :     if (MI->getNumOperands() == 3 &&
    4847          58 :         MI->getOperand(0).isReg() &&
    4848          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4849          58 :         MI->getOperand(1).isReg() &&
    4850          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4851          29 :         MI->getOperand(2).isImm() &&
    4852          58 :         MI->getOperand(2).getImm() == 10 &&
    4853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4854             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    4855             :       AsmString = "tg %icc, $\x01 + $\x02";
    4856             :       break;
    4857             :     }
    4858          28 :     if (MI->getNumOperands() == 3 &&
    4859          28 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4860          28 :         MI->getOperand(1).isReg() &&
    4861          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4862          14 :         MI->getOperand(2).isImm() &&
    4863          42 :         MI->getOperand(2).getImm() == 2 &&
    4864             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4865             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    4866             :       AsmString = "tle %icc, $\x02";
    4867             :       break;
    4868             :     }
    4869          26 :     if (MI->getNumOperands() == 3 &&
    4870          52 :         MI->getOperand(0).isReg() &&
    4871          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4872          52 :         MI->getOperand(1).isReg() &&
    4873          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4874          26 :         MI->getOperand(2).isImm() &&
    4875          52 :         MI->getOperand(2).getImm() == 2 &&
    4876             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4877             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    4878             :       AsmString = "tle %icc, $\x01 + $\x02";
    4879             :       break;
    4880             :     }
    4881          25 :     if (MI->getNumOperands() == 3 &&
    4882          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4883          24 :         MI->getOperand(1).isReg() &&
    4884          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4885          12 :         MI->getOperand(2).isImm() &&
    4886          37 :         MI->getOperand(2).getImm() == 11 &&
    4887             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4888             :       // (TICCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    4889             :       AsmString = "tge %icc, $\x02";
    4890             :       break;
    4891             :     }
    4892          24 :     if (MI->getNumOperands() == 3 &&
    4893          48 :         MI->getOperand(0).isReg() &&
    4894          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4895          48 :         MI->getOperand(1).isReg() &&
    4896          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4897          24 :         MI->getOperand(2).isImm() &&
    4898          48 :         MI->getOperand(2).getImm() == 11 &&
    4899             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4900             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    4901             :       AsmString = "tge %icc, $\x01 + $\x02";
    4902             :       break;
    4903             :     }
    4904          23 :     if (MI->getNumOperands() == 3 &&
    4905          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4906          22 :         MI->getOperand(1).isReg() &&
    4907          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4908          11 :         MI->getOperand(2).isImm() &&
    4909          34 :         MI->getOperand(2).getImm() == 3 &&
    4910             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4911             :       // (TICCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    4912             :       AsmString = "tl %icc, $\x02";
    4913             :       break;
    4914             :     }
    4915          22 :     if (MI->getNumOperands() == 3 &&
    4916          44 :         MI->getOperand(0).isReg() &&
    4917          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4918          44 :         MI->getOperand(1).isReg() &&
    4919          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4920          22 :         MI->getOperand(2).isImm() &&
    4921          44 :         MI->getOperand(2).getImm() == 3 &&
    4922             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4923             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    4924             :       AsmString = "tl %icc, $\x01 + $\x02";
    4925             :       break;
    4926             :     }
    4927          20 :     if (MI->getNumOperands() == 3 &&
    4928          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4929          20 :         MI->getOperand(1).isReg() &&
    4930          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4931          10 :         MI->getOperand(2).isImm() &&
    4932          30 :         MI->getOperand(2).getImm() == 12 &&
    4933             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4934             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    4935             :       AsmString = "tgu %icc, $\x02";
    4936             :       break;
    4937             :     }
    4938          19 :     if (MI->getNumOperands() == 3 &&
    4939          38 :         MI->getOperand(0).isReg() &&
    4940          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4941          38 :         MI->getOperand(1).isReg() &&
    4942          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4943          19 :         MI->getOperand(2).isImm() &&
    4944          38 :         MI->getOperand(2).getImm() == 12 &&
    4945             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4946             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    4947             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4948             :       break;
    4949             :     }
    4950          18 :     if (MI->getNumOperands() == 3 &&
    4951          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4952          18 :         MI->getOperand(1).isReg() &&
    4953           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4954           9 :         MI->getOperand(2).isImm() &&
    4955          27 :         MI->getOperand(2).getImm() == 4 &&
    4956             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4957             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    4958             :       AsmString = "tleu %icc, $\x02";
    4959             :       break;
    4960             :     }
    4961          16 :     if (MI->getNumOperands() == 3 &&
    4962          32 :         MI->getOperand(0).isReg() &&
    4963          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4964          32 :         MI->getOperand(1).isReg() &&
    4965          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4966          16 :         MI->getOperand(2).isImm() &&
    4967          32 :         MI->getOperand(2).getImm() == 4 &&
    4968             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4969             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    4970             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4971             :       break;
    4972             :     }
    4973          15 :     if (MI->getNumOperands() == 3 &&
    4974          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4975          14 :         MI->getOperand(1).isReg() &&
    4976           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4977           7 :         MI->getOperand(2).isImm() &&
    4978          22 :         MI->getOperand(2).getImm() == 13 &&
    4979             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4980             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    4981             :       AsmString = "tcc %icc, $\x02";
    4982             :       break;
    4983             :     }
    4984          14 :     if (MI->getNumOperands() == 3 &&
    4985          28 :         MI->getOperand(0).isReg() &&
    4986          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4987          28 :         MI->getOperand(1).isReg() &&
    4988          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4989          14 :         MI->getOperand(2).isImm() &&
    4990          28 :         MI->getOperand(2).getImm() == 13 &&
    4991             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4992             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    4993             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4994             :       break;
    4995             :     }
    4996          13 :     if (MI->getNumOperands() == 3 &&
    4997          13 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4998          12 :         MI->getOperand(1).isReg() &&
    4999           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5000           6 :         MI->getOperand(2).isImm() &&
    5001          19 :         MI->getOperand(2).getImm() == 5 &&
    5002             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5003             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    5004             :       AsmString = "tcs %icc, $\x02";
    5005             :       break;
    5006             :     }
    5007          12 :     if (MI->getNumOperands() == 3 &&
    5008          24 :         MI->getOperand(0).isReg() &&
    5009          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5010          24 :         MI->getOperand(1).isReg() &&
    5011          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5012          12 :         MI->getOperand(2).isImm() &&
    5013          24 :         MI->getOperand(2).getImm() == 5 &&
    5014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5015             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5016             :       AsmString = "tcs %icc, $\x01 + $\x02";
    5017             :       break;
    5018             :     }
    5019          10 :     if (MI->getNumOperands() == 3 &&
    5020          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5021          10 :         MI->getOperand(1).isReg() &&
    5022           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5023           5 :         MI->getOperand(2).isImm() &&
    5024          15 :         MI->getOperand(2).getImm() == 14 &&
    5025             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5026             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    5027             :       AsmString = "tpos %icc, $\x02";
    5028             :       break;
    5029             :     }
    5030           9 :     if (MI->getNumOperands() == 3 &&
    5031          18 :         MI->getOperand(0).isReg() &&
    5032           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5033          18 :         MI->getOperand(1).isReg() &&
    5034           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5035           9 :         MI->getOperand(2).isImm() &&
    5036          18 :         MI->getOperand(2).getImm() == 14 &&
    5037             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5038             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5039             :       AsmString = "tpos %icc, $\x01 + $\x02";
    5040             :       break;
    5041             :     }
    5042           8 :     if (MI->getNumOperands() == 3 &&
    5043           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5044           8 :         MI->getOperand(1).isReg() &&
    5045           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5046           4 :         MI->getOperand(2).isImm() &&
    5047          12 :         MI->getOperand(2).getImm() == 6 &&
    5048             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5049             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    5050             :       AsmString = "tneg %icc, $\x02";
    5051             :       break;
    5052             :     }
    5053           6 :     if (MI->getNumOperands() == 3 &&
    5054          12 :         MI->getOperand(0).isReg() &&
    5055           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5056          12 :         MI->getOperand(1).isReg() &&
    5057           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5058           6 :         MI->getOperand(2).isImm() &&
    5059          12 :         MI->getOperand(2).getImm() == 6 &&
    5060             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5061             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5062             :       AsmString = "tneg %icc, $\x01 + $\x02";
    5063             :       break;
    5064             :     }
    5065           5 :     if (MI->getNumOperands() == 3 &&
    5066           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5067           4 :         MI->getOperand(1).isReg() &&
    5068           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5069           2 :         MI->getOperand(2).isImm() &&
    5070           7 :         MI->getOperand(2).getImm() == 15 &&
    5071             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5072             :       // (TICCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    5073             :       AsmString = "tvc %icc, $\x02";
    5074             :       break;
    5075             :     }
    5076           4 :     if (MI->getNumOperands() == 3 &&
    5077           8 :         MI->getOperand(0).isReg() &&
    5078           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5079           8 :         MI->getOperand(1).isReg() &&
    5080           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5081           4 :         MI->getOperand(2).isImm() &&
    5082           8 :         MI->getOperand(2).getImm() == 15 &&
    5083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5084             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5085             :       AsmString = "tvc %icc, $\x01 + $\x02";
    5086             :       break;
    5087             :     }
    5088           3 :     if (MI->getNumOperands() == 3 &&
    5089           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5090           2 :         MI->getOperand(1).isReg() &&
    5091           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5092           1 :         MI->getOperand(2).isImm() &&
    5093           4 :         MI->getOperand(2).getImm() == 7 &&
    5094             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5095             :       // (TICCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    5096             :       AsmString = "tvs %icc, $\x02";
    5097             :       break;
    5098             :     }
    5099           2 :     if (MI->getNumOperands() == 3 &&
    5100           4 :         MI->getOperand(0).isReg() &&
    5101           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5102           4 :         MI->getOperand(1).isReg() &&
    5103           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5104           2 :         MI->getOperand(2).isImm() &&
    5105           4 :         MI->getOperand(2).getImm() == 7 &&
    5106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5107             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5108             :       AsmString = "tvs %icc, $\x01 + $\x02";
    5109             :       break;
    5110             :     }
    5111             :     return false;
    5112             :   case SP::TRAPri:
    5113          44 :     if (MI->getNumOperands() == 3 &&
    5114          44 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5115          68 :         MI->getOperand(2).isImm() &&
    5116          24 :         MI->getOperand(2).getImm() == 8) {
    5117             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5118             :       AsmString = "ta $\x02";
    5119             :       break;
    5120             :     }
    5121          39 :     if (MI->getNumOperands() == 3 &&
    5122          78 :         MI->getOperand(0).isReg() &&
    5123          39 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5124          78 :         MI->getOperand(2).isImm() &&
    5125          39 :         MI->getOperand(2).getImm() == 8) {
    5126             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5127             :       AsmString = "ta $\x01 + $\x02";
    5128             :       break;
    5129             :     }
    5130          37 :     if (MI->getNumOperands() == 3 &&
    5131          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5132          56 :         MI->getOperand(2).isImm() &&
    5133          19 :         MI->getOperand(2).getImm() == 0) {
    5134             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5135             :       AsmString = "tn $\x02";
    5136             :       break;
    5137             :     }
    5138          36 :     if (MI->getNumOperands() == 3 &&
    5139          72 :         MI->getOperand(0).isReg() &&
    5140          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5141          72 :         MI->getOperand(2).isImm() &&
    5142          36 :         MI->getOperand(2).getImm() == 0) {
    5143             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5144             :       AsmString = "tn $\x01 + $\x02";
    5145             :       break;
    5146             :     }
    5147          35 :     if (MI->getNumOperands() == 3 &&
    5148          35 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5149          53 :         MI->getOperand(2).isImm() &&
    5150          18 :         MI->getOperand(2).getImm() == 9) {
    5151             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5152             :       AsmString = "tne $\x02";
    5153             :       break;
    5154             :     }
    5155          33 :     if (MI->getNumOperands() == 3 &&
    5156          66 :         MI->getOperand(0).isReg() &&
    5157          33 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5158          66 :         MI->getOperand(2).isImm() &&
    5159          33 :         MI->getOperand(2).getImm() == 9) {
    5160             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5161             :       AsmString = "tne $\x01 + $\x02";
    5162             :       break;
    5163             :     }
    5164          32 :     if (MI->getNumOperands() == 3 &&
    5165          32 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5166          48 :         MI->getOperand(2).isImm() &&
    5167          16 :         MI->getOperand(2).getImm() == 1) {
    5168             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5169             :       AsmString = "te $\x02";
    5170             :       break;
    5171             :     }
    5172          31 :     if (MI->getNumOperands() == 3 &&
    5173          62 :         MI->getOperand(0).isReg() &&
    5174          31 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5175          62 :         MI->getOperand(2).isImm() &&
    5176          31 :         MI->getOperand(2).getImm() == 1) {
    5177             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5178             :       AsmString = "te $\x01 + $\x02";
    5179             :       break;
    5180             :     }
    5181          30 :     if (MI->getNumOperands() == 3 &&
    5182          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5183          45 :         MI->getOperand(2).isImm() &&
    5184          15 :         MI->getOperand(2).getImm() == 10) {
    5185             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5186             :       AsmString = "tg $\x02";
    5187             :       break;
    5188             :     }
    5189          29 :     if (MI->getNumOperands() == 3 &&
    5190          58 :         MI->getOperand(0).isReg() &&
    5191          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5192          58 :         MI->getOperand(2).isImm() &&
    5193          29 :         MI->getOperand(2).getImm() == 10) {
    5194             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5195             :       AsmString = "tg $\x01 + $\x02";
    5196             :       break;
    5197             :     }
    5198          27 :     if (MI->getNumOperands() == 3 &&
    5199          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5200          41 :         MI->getOperand(2).isImm() &&
    5201          14 :         MI->getOperand(2).getImm() == 2) {
    5202             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5203             :       AsmString = "tle $\x02";
    5204             :       break;
    5205             :     }
    5206          26 :     if (MI->getNumOperands() == 3 &&
    5207          52 :         MI->getOperand(0).isReg() &&
    5208          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5209          52 :         MI->getOperand(2).isImm() &&
    5210          26 :         MI->getOperand(2).getImm() == 2) {
    5211             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5212             :       AsmString = "tle $\x01 + $\x02";
    5213             :       break;
    5214             :     }
    5215          25 :     if (MI->getNumOperands() == 3 &&
    5216          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5217          38 :         MI->getOperand(2).isImm() &&
    5218          13 :         MI->getOperand(2).getImm() == 11) {
    5219             :       // (TRAPri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5220             :       AsmString = "tge $\x02";
    5221             :       break;
    5222             :     }
    5223          23 :     if (MI->getNumOperands() == 3 &&
    5224          46 :         MI->getOperand(0).isReg() &&
    5225          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5226          46 :         MI->getOperand(2).isImm() &&
    5227          23 :         MI->getOperand(2).getImm() == 11) {
    5228             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5229             :       AsmString = "tge $\x01 + $\x02";
    5230             :       break;
    5231             :     }
    5232          22 :     if (MI->getNumOperands() == 3 &&
    5233          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5234          33 :         MI->getOperand(2).isImm() &&
    5235          11 :         MI->getOperand(2).getImm() == 3) {
    5236             :       // (TRAPri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5237             :       AsmString = "tl $\x02";
    5238             :       break;
    5239             :     }
    5240          21 :     if (MI->getNumOperands() == 3 &&
    5241          42 :         MI->getOperand(0).isReg() &&
    5242          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5243          42 :         MI->getOperand(2).isImm() &&
    5244          21 :         MI->getOperand(2).getImm() == 3) {
    5245             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5246             :       AsmString = "tl $\x01 + $\x02";
    5247             :       break;
    5248             :     }
    5249          20 :     if (MI->getNumOperands() == 3 &&
    5250          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5251          30 :         MI->getOperand(2).isImm() &&
    5252          10 :         MI->getOperand(2).getImm() == 12) {
    5253             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5254             :       AsmString = "tgu $\x02";
    5255             :       break;
    5256             :     }
    5257          19 :     if (MI->getNumOperands() == 3 &&
    5258          38 :         MI->getOperand(0).isReg() &&
    5259          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5260          38 :         MI->getOperand(2).isImm() &&
    5261          19 :         MI->getOperand(2).getImm() == 12) {
    5262             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5263             :       AsmString = "tgu $\x01 + $\x02";
    5264             :       break;
    5265             :     }
    5266          17 :     if (MI->getNumOperands() == 3 &&
    5267          17 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5268          26 :         MI->getOperand(2).isImm() &&
    5269           9 :         MI->getOperand(2).getImm() == 4) {
    5270             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5271             :       AsmString = "tleu $\x02";
    5272             :       break;
    5273             :     }
    5274          16 :     if (MI->getNumOperands() == 3 &&
    5275          32 :         MI->getOperand(0).isReg() &&
    5276          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5277          32 :         MI->getOperand(2).isImm() &&
    5278          16 :         MI->getOperand(2).getImm() == 4) {
    5279             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5280             :       AsmString = "tleu $\x01 + $\x02";
    5281             :       break;
    5282             :     }
    5283          15 :     if (MI->getNumOperands() == 3 &&
    5284          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5285          23 :         MI->getOperand(2).isImm() &&
    5286           8 :         MI->getOperand(2).getImm() == 13) {
    5287             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5288             :       AsmString = "tcc $\x02";
    5289             :       break;
    5290             :     }
    5291          13 :     if (MI->getNumOperands() == 3 &&
    5292          26 :         MI->getOperand(0).isReg() &&
    5293          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5294          26 :         MI->getOperand(2).isImm() &&
    5295          13 :         MI->getOperand(2).getImm() == 13) {
    5296             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5297             :       AsmString = "tcc $\x01 + $\x02";
    5298             :       break;
    5299             :     }
    5300          12 :     if (MI->getNumOperands() == 3 &&
    5301          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5302          18 :         MI->getOperand(2).isImm() &&
    5303           6 :         MI->getOperand(2).getImm() == 5) {
    5304             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5305             :       AsmString = "tcs $\x02";
    5306             :       break;
    5307             :     }
    5308          11 :     if (MI->getNumOperands() == 3 &&
    5309          22 :         MI->getOperand(0).isReg() &&
    5310          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5311          22 :         MI->getOperand(2).isImm() &&
    5312          11 :         MI->getOperand(2).getImm() == 5) {
    5313             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5314             :       AsmString = "tcs $\x01 + $\x02";
    5315             :       break;
    5316             :     }
    5317          10 :     if (MI->getNumOperands() == 3 &&
    5318          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5319          15 :         MI->getOperand(2).isImm() &&
    5320           5 :         MI->getOperand(2).getImm() == 14) {
    5321             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5322             :       AsmString = "tpos $\x02";
    5323             :       break;
    5324             :     }
    5325           9 :     if (MI->getNumOperands() == 3 &&
    5326          18 :         MI->getOperand(0).isReg() &&
    5327           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5328          18 :         MI->getOperand(2).isImm() &&
    5329           9 :         MI->getOperand(2).getImm() == 14) {
    5330             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5331             :       AsmString = "tpos $\x01 + $\x02";
    5332             :       break;
    5333             :     }
    5334           7 :     if (MI->getNumOperands() == 3 &&
    5335           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5336          11 :         MI->getOperand(2).isImm() &&
    5337           4 :         MI->getOperand(2).getImm() == 6) {
    5338             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5339             :       AsmString = "tneg $\x02";
    5340             :       break;
    5341             :     }
    5342           6 :     if (MI->getNumOperands() == 3 &&
    5343          12 :         MI->getOperand(0).isReg() &&
    5344           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5345          12 :         MI->getOperand(2).isImm() &&
    5346           6 :         MI->getOperand(2).getImm() == 6) {
    5347             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5348             :       AsmString = "tneg $\x01 + $\x02";
    5349             :       break;
    5350             :     }
    5351           5 :     if (MI->getNumOperands() == 3 &&
    5352           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5353           8 :         MI->getOperand(2).isImm() &&
    5354           3 :         MI->getOperand(2).getImm() == 15) {
    5355             :       // (TRAPri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5356             :       AsmString = "tvc $\x02";
    5357             :       break;
    5358             :     }
    5359           3 :     if (MI->getNumOperands() == 3 &&
    5360           6 :         MI->getOperand(0).isReg() &&
    5361           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5362           6 :         MI->getOperand(2).isImm() &&
    5363           3 :         MI->getOperand(2).getImm() == 15) {
    5364             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    5365             :       AsmString = "tvc $\x01 + $\x02";
    5366             :       break;
    5367             :     }
    5368           2 :     if (MI->getNumOperands() == 3 &&
    5369           2 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5370           3 :         MI->getOperand(2).isImm() &&
    5371           1 :         MI->getOperand(2).getImm() == 7) {
    5372             :       // (TRAPri G0, i32imm:$imm, { 0, 1, 1, 1 })
    5373             :       AsmString = "tvs $\x02";
    5374             :       break;
    5375             :     }
    5376           1 :     if (MI->getNumOperands() == 3 &&
    5377           2 :         MI->getOperand(0).isReg() &&
    5378           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5379           2 :         MI->getOperand(2).isImm() &&
    5380           1 :         MI->getOperand(2).getImm() == 7) {
    5381             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    5382             :       AsmString = "tvs $\x01 + $\x02";
    5383             :       break;
    5384             :     }
    5385             :     return false;
    5386             :   case SP::TRAPrr:
    5387          44 :     if (MI->getNumOperands() == 3 &&
    5388          44 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5389          46 :         MI->getOperand(1).isReg() &&
    5390          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5391          67 :         MI->getOperand(2).isImm() &&
    5392          23 :         MI->getOperand(2).getImm() == 8) {
    5393             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 0 })
    5394             :       AsmString = "ta $\x02";
    5395             :       break;
    5396             :     }
    5397          42 :     if (MI->getNumOperands() == 3 &&
    5398          84 :         MI->getOperand(0).isReg() &&
    5399          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5400          84 :         MI->getOperand(1).isReg() &&
    5401          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5402          84 :         MI->getOperand(2).isImm() &&
    5403          42 :         MI->getOperand(2).getImm() == 8) {
    5404             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    5405             :       AsmString = "ta $\x01 + $\x02";
    5406             :       break;
    5407             :     }
    5408          40 :     if (MI->getNumOperands() == 3 &&
    5409          40 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5410          42 :         MI->getOperand(1).isReg() &&
    5411          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5412          61 :         MI->getOperand(2).isImm() &&
    5413          21 :         MI->getOperand(2).getImm() == 0) {
    5414             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 0 })
    5415             :       AsmString = "tn $\x02";
    5416             :       break;
    5417             :     }
    5418          38 :     if (MI->getNumOperands() == 3 &&
    5419          76 :         MI->getOperand(0).isReg() &&
    5420          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5421          76 :         MI->getOperand(1).isReg() &&
    5422          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5423          76 :         MI->getOperand(2).isImm() &&
    5424          38 :         MI->getOperand(2).getImm() == 0) {
    5425             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    5426             :       AsmString = "tn $\x01 + $\x02";
    5427             :       break;
    5428             :     }
    5429          37 :     if (MI->getNumOperands() == 3 &&
    5430          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5431          38 :         MI->getOperand(1).isReg() &&
    5432          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5433          56 :         MI->getOperand(2).isImm() &&
    5434          19 :         MI->getOperand(2).getImm() == 9) {
    5435             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 0, 1 })
    5436             :       AsmString = "tne $\x02";
    5437             :       break;
    5438             :     }
    5439          35 :     if (MI->getNumOperands() == 3 &&
    5440          70 :         MI->getOperand(0).isReg() &&
    5441          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5442          70 :         MI->getOperand(1).isReg() &&
    5443          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5444          70 :         MI->getOperand(2).isImm() &&
    5445          35 :         MI->getOperand(2).getImm() == 9) {
    5446             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    5447             :       AsmString = "tne $\x01 + $\x02";
    5448             :       break;
    5449             :     }
    5450          34 :     if (MI->getNumOperands() == 3 &&
    5451          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5452          34 :         MI->getOperand(1).isReg() &&
    5453          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5454          51 :         MI->getOperand(2).isImm() &&
    5455          17 :         MI->getOperand(2).getImm() == 1) {
    5456             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 0, 1 })
    5457             :       AsmString = "te $\x02";
    5458             :       break;
    5459             :     }
    5460          32 :     if (MI->getNumOperands() == 3 &&
    5461          64 :         MI->getOperand(0).isReg() &&
    5462          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5463          64 :         MI->getOperand(1).isReg() &&
    5464          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5465          64 :         MI->getOperand(2).isImm() &&
    5466          32 :         MI->getOperand(2).getImm() == 1) {
    5467             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    5468             :       AsmString = "te $\x01 + $\x02";
    5469             :       break;
    5470             :     }
    5471          30 :     if (MI->getNumOperands() == 3 &&
    5472          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5473          30 :         MI->getOperand(1).isReg() &&
    5474          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5475          45 :         MI->getOperand(2).isImm() &&
    5476          15 :         MI->getOperand(2).getImm() == 10) {
    5477             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 0 })
    5478             :       AsmString = "tg $\x02";
    5479             :       break;
    5480             :     }
    5481          29 :     if (MI->getNumOperands() == 3 &&
    5482          58 :         MI->getOperand(0).isReg() &&
    5483          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5484          58 :         MI->getOperand(1).isReg() &&
    5485          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5486          58 :         MI->getOperand(2).isImm() &&
    5487          29 :         MI->getOperand(2).getImm() == 10) {
    5488             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    5489             :       AsmString = "tg $\x01 + $\x02";
    5490             :       break;
    5491             :     }
    5492          28 :     if (MI->getNumOperands() == 3 &&
    5493          28 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5494          28 :         MI->getOperand(1).isReg() &&
    5495          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5496          42 :         MI->getOperand(2).isImm() &&
    5497          14 :         MI->getOperand(2).getImm() == 2) {
    5498             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 0 })
    5499             :       AsmString = "tle $\x02";
    5500             :       break;
    5501             :     }
    5502          26 :     if (MI->getNumOperands() == 3 &&
    5503          52 :         MI->getOperand(0).isReg() &&
    5504          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5505          52 :         MI->getOperand(1).isReg() &&
    5506          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5507          52 :         MI->getOperand(2).isImm() &&
    5508          26 :         MI->getOperand(2).getImm() == 2) {
    5509             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    5510             :       AsmString = "tle $\x01 + $\x02";
    5511             :       break;
    5512             :     }
    5513          25 :     if (MI->getNumOperands() == 3 &&
    5514          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5515          24 :         MI->getOperand(1).isReg() &&
    5516          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5517          37 :         MI->getOperand(2).isImm() &&
    5518          12 :         MI->getOperand(2).getImm() == 11) {
    5519             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 0, 1, 1 })
    5520             :       AsmString = "tge $\x02";
    5521             :       break;
    5522             :     }
    5523          24 :     if (MI->getNumOperands() == 3 &&
    5524          48 :         MI->getOperand(0).isReg() &&
    5525          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5526          48 :         MI->getOperand(1).isReg() &&
    5527          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5528          48 :         MI->getOperand(2).isImm() &&
    5529          24 :         MI->getOperand(2).getImm() == 11) {
    5530             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    5531             :       AsmString = "tge $\x01 + $\x02";
    5532             :       break;
    5533             :     }
    5534          23 :     if (MI->getNumOperands() == 3 &&
    5535          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5536          22 :         MI->getOperand(1).isReg() &&
    5537          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5538          34 :         MI->getOperand(2).isImm() &&
    5539          11 :         MI->getOperand(2).getImm() == 3) {
    5540             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 0, 1, 1 })
    5541             :       AsmString = "tl $\x02";
    5542             :       break;
    5543             :     }
    5544          22 :     if (MI->getNumOperands() == 3 &&
    5545          44 :         MI->getOperand(0).isReg() &&
    5546          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5547          44 :         MI->getOperand(1).isReg() &&
    5548          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5549          44 :         MI->getOperand(2).isImm() &&
    5550          22 :         MI->getOperand(2).getImm() == 3) {
    5551             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    5552             :       AsmString = "tl $\x01 + $\x02";
    5553             :       break;
    5554             :     }
    5555          20 :     if (MI->getNumOperands() == 3 &&
    5556          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5557          20 :         MI->getOperand(1).isReg() &&
    5558          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5559          30 :         MI->getOperand(2).isImm() &&
    5560          10 :         MI->getOperand(2).getImm() == 12) {
    5561             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 0 })
    5562             :       AsmString = "tgu $\x02";
    5563             :       break;
    5564             :     }
    5565          19 :     if (MI->getNumOperands() == 3 &&
    5566          38 :         MI->getOperand(0).isReg() &&
    5567          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5568          38 :         MI->getOperand(1).isReg() &&
    5569          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5570          38 :         MI->getOperand(2).isImm() &&
    5571          19 :         MI->getOperand(2).getImm() == 12) {
    5572             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    5573             :       AsmString = "tgu $\x01 + $\x02";
    5574             :       break;
    5575             :     }
    5576          18 :     if (MI->getNumOperands() == 3 &&
    5577          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5578          18 :         MI->getOperand(1).isReg() &&
    5579           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5580          27 :         MI->getOperand(2).isImm() &&
    5581           9 :         MI->getOperand(2).getImm() == 4) {
    5582             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 0 })
    5583             :       AsmString = "tleu $\x02";
    5584             :       break;
    5585             :     }
    5586          16 :     if (MI->getNumOperands() == 3 &&
    5587          32 :         MI->getOperand(0).isReg() &&
    5588          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5589          32 :         MI->getOperand(1).isReg() &&
    5590          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5591          32 :         MI->getOperand(2).isImm() &&
    5592          16 :         MI->getOperand(2).getImm() == 4) {
    5593             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    5594             :       AsmString = "tleu $\x01 + $\x02";
    5595             :       break;
    5596             :     }
    5597          15 :     if (MI->getNumOperands() == 3 &&
    5598          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5599          14 :         MI->getOperand(1).isReg() &&
    5600           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5601          22 :         MI->getOperand(2).isImm() &&
    5602           7 :         MI->getOperand(2).getImm() == 13) {
    5603             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 0, 1 })
    5604             :       AsmString = "tcc $\x02";
    5605             :       break;
    5606             :     }
    5607          14 :     if (MI->getNumOperands() == 3 &&
    5608          28 :         MI->getOperand(0).isReg() &&
    5609          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5610          28 :         MI->getOperand(1).isReg() &&
    5611          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5612          28 :         MI->getOperand(2).isImm() &&
    5613          14 :         MI->getOperand(2).getImm() == 13) {
    5614             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    5615             :       AsmString = "tcc $\x01 + $\x02";
    5616             :       break;
    5617             :     }
    5618          13 :     if (MI->getNumOperands() == 3 &&
    5619          13 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5620          12 :         MI->getOperand(1).isReg() &&
    5621           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5622          19 :         MI->getOperand(2).isImm() &&
    5623           6 :         MI->getOperand(2).getImm() == 5) {
    5624             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 0, 1 })
    5625             :       AsmString = "tcs $\x02";
    5626             :       break;
    5627             :     }
    5628          12 :     if (MI->getNumOperands() == 3 &&
    5629          24 :         MI->getOperand(0).isReg() &&
    5630          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5631          24 :         MI->getOperand(1).isReg() &&
    5632          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5633          24 :         MI->getOperand(2).isImm() &&
    5634          12 :         MI->getOperand(2).getImm() == 5) {
    5635             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    5636             :       AsmString = "tcs $\x01 + $\x02";
    5637             :       break;
    5638             :     }
    5639          10 :     if (MI->getNumOperands() == 3 &&
    5640          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5641          10 :         MI->getOperand(1).isReg() &&
    5642           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5643          15 :         MI->getOperand(2).isImm() &&
    5644           5 :         MI->getOperand(2).getImm() == 14) {
    5645             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 0 })
    5646             :       AsmString = "tpos $\x02";
    5647             :       break;
    5648             :     }
    5649           9 :     if (MI->getNumOperands() == 3 &&
    5650          18 :         MI->getOperand(0).isReg() &&
    5651           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5652          18 :         MI->getOperand(1).isReg() &&
    5653           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5654          18 :         MI->getOperand(2).isImm() &&
    5655           9 :         MI->getOperand(2).getImm() == 14) {
    5656             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    5657             :       AsmString = "tpos $\x01 + $\x02";
    5658             :       break;
    5659             :     }
    5660           8 :     if (MI->getNumOperands() == 3 &&
    5661           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5662           8 :         MI->getOperand(1).isReg() &&
    5663           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5664          12 :         MI->getOperand(2).isImm() &&
    5665           4 :         MI->getOperand(2).getImm() == 6) {
    5666             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 0 })
    5667             :       AsmString = "tneg $\x02";
    5668             :       break;
    5669             :     }
    5670           6 :     if (MI->getNumOperands() == 3 &&
    5671          12 :         MI->getOperand(0).isReg() &&
    5672           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5673          12 :         MI->getOperand(1).isReg() &&
    5674           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5675          12 :         MI->getOperand(2).isImm() &&
    5676           6 :         MI->getOperand(2).getImm() == 6) {
    5677             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    5678             :       AsmString = "tneg $\x01 + $\x02";
    5679             :       break;
    5680             :     }
    5681           5 :     if (MI->getNumOperands() == 3 &&
    5682           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5683           4 :         MI->getOperand(1).isReg() &&
    5684           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5685           7 :         MI->getOperand(2).isImm() &&
    5686           2 :         MI->getOperand(2).getImm() == 15) {
    5687             :       // (TRAPrr G0, IntRegs:$rs1, { 1, 1, 1, 1 })
    5688             :       AsmString = "tvc $\x02";
    5689             :       break;
    5690             :     }
    5691           4 :     if (MI->getNumOperands() == 3 &&
    5692           8 :         MI->getOperand(0).isReg() &&
    5693           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5694           8 :         MI->getOperand(1).isReg() &&
    5695           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5696           8 :         MI->getOperand(2).isImm() &&
    5697           4 :         MI->getOperand(2).getImm() == 15) {
    5698             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    5699             :       AsmString = "tvc $\x01 + $\x02";
    5700             :       break;
    5701             :     }
    5702           3 :     if (MI->getNumOperands() == 3 &&
    5703           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5704           2 :         MI->getOperand(1).isReg() &&
    5705           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5706           4 :         MI->getOperand(2).isImm() &&
    5707           1 :         MI->getOperand(2).getImm() == 7) {
    5708             :       // (TRAPrr G0, IntRegs:$rs1, { 0, 1, 1, 1 })
    5709             :       AsmString = "tvs $\x02";
    5710             :       break;
    5711             :     }
    5712           2 :     if (MI->getNumOperands() == 3 &&
    5713           4 :         MI->getOperand(0).isReg() &&
    5714           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5715           4 :         MI->getOperand(1).isReg() &&
    5716           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5717           4 :         MI->getOperand(2).isImm() &&
    5718           2 :         MI->getOperand(2).getImm() == 7) {
    5719             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    5720             :       AsmString = "tvs $\x01 + $\x02";
    5721             :       break;
    5722             :     }
    5723             :     return false;
    5724             :   case SP::TXCCri:
    5725          41 :     if (MI->getNumOperands() == 3 &&
    5726          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5727          21 :         MI->getOperand(2).isImm() &&
    5728          62 :         MI->getOperand(2).getImm() == 8 &&
    5729             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5730             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 0 })
    5731             :       AsmString = "ta %xcc, $\x02";
    5732             :       break;
    5733             :     }
    5734          39 :     if (MI->getNumOperands() == 3 &&
    5735          78 :         MI->getOperand(0).isReg() &&
    5736          39 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5737          39 :         MI->getOperand(2).isImm() &&
    5738          78 :         MI->getOperand(2).getImm() == 8 &&
    5739             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5740             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
    5741             :       AsmString = "ta %xcc, $\x01 + $\x02";
    5742             :       break;
    5743             :     }
    5744          37 :     if (MI->getNumOperands() == 3 &&
    5745          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5746          19 :         MI->getOperand(2).isImm() &&
    5747          56 :         MI->getOperand(2).getImm() == 0 &&
    5748             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5749             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 0 })
    5750             :       AsmString = "tn %xcc, $\x02";
    5751             :       break;
    5752             :     }
    5753          36 :     if (MI->getNumOperands() == 3 &&
    5754          72 :         MI->getOperand(0).isReg() &&
    5755          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5756          36 :         MI->getOperand(2).isImm() &&
    5757          72 :         MI->getOperand(2).getImm() == 0 &&
    5758             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5759             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
    5760             :       AsmString = "tn %xcc, $\x01 + $\x02";
    5761             :       break;
    5762             :     }
    5763          35 :     if (MI->getNumOperands() == 3 &&
    5764          35 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5765          18 :         MI->getOperand(2).isImm() &&
    5766          53 :         MI->getOperand(2).getImm() == 9 &&
    5767             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5768             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 0, 1 })
    5769             :       AsmString = "tne %xcc, $\x02";
    5770             :       break;
    5771             :     }
    5772          33 :     if (MI->getNumOperands() == 3 &&
    5773          66 :         MI->getOperand(0).isReg() &&
    5774          33 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5775          33 :         MI->getOperand(2).isImm() &&
    5776          66 :         MI->getOperand(2).getImm() == 9 &&
    5777             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5778             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
    5779             :       AsmString = "tne %xcc, $\x01 + $\x02";
    5780             :       break;
    5781             :     }
    5782          32 :     if (MI->getNumOperands() == 3 &&
    5783          32 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5784          16 :         MI->getOperand(2).isImm() &&
    5785          48 :         MI->getOperand(2).getImm() == 1 &&
    5786             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5787             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 0, 1 })
    5788             :       AsmString = "te %xcc, $\x02";
    5789             :       break;
    5790             :     }
    5791          31 :     if (MI->getNumOperands() == 3 &&
    5792          62 :         MI->getOperand(0).isReg() &&
    5793          31 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5794          31 :         MI->getOperand(2).isImm() &&
    5795          62 :         MI->getOperand(2).getImm() == 1 &&
    5796             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5797             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
    5798             :       AsmString = "te %xcc, $\x01 + $\x02";
    5799             :       break;
    5800             :     }
    5801          30 :     if (MI->getNumOperands() == 3 &&
    5802          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5803          15 :         MI->getOperand(2).isImm() &&
    5804          45 :         MI->getOperand(2).getImm() == 10 &&
    5805             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5806             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 0 })
    5807             :       AsmString = "tg %xcc, $\x02";
    5808             :       break;
    5809             :     }
    5810          29 :     if (MI->getNumOperands() == 3 &&
    5811          58 :         MI->getOperand(0).isReg() &&
    5812          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5813          29 :         MI->getOperand(2).isImm() &&
    5814          58 :         MI->getOperand(2).getImm() == 10 &&
    5815             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5816             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
    5817             :       AsmString = "tg %xcc, $\x01 + $\x02";
    5818             :       break;
    5819             :     }
    5820          27 :     if (MI->getNumOperands() == 3 &&
    5821          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5822          14 :         MI->getOperand(2).isImm() &&
    5823          41 :         MI->getOperand(2).getImm() == 2 &&
    5824             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5825             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 0 })
    5826             :       AsmString = "tle %xcc, $\x02";
    5827             :       break;
    5828             :     }
    5829          26 :     if (MI->getNumOperands() == 3 &&
    5830          52 :         MI->getOperand(0).isReg() &&
    5831          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5832          26 :         MI->getOperand(2).isImm() &&
    5833          52 :         MI->getOperand(2).getImm() == 2 &&
    5834             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5835             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
    5836             :       AsmString = "tle %xcc, $\x01 + $\x02";
    5837             :       break;
    5838             :     }
    5839          25 :     if (MI->getNumOperands() == 3 &&
    5840          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5841          13 :         MI->getOperand(2).isImm() &&
    5842          38 :         MI->getOperand(2).getImm() == 11 &&
    5843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5844             :       // (TXCCri G0, i32imm:$imm, { 1, 0, 1, 1 })
    5845             :       AsmString = "tge %xcc, $\x02";
    5846             :       break;
    5847             :     }
    5848          23 :     if (MI->getNumOperands() == 3 &&
    5849          46 :         MI->getOperand(0).isReg() &&
    5850          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5851          23 :         MI->getOperand(2).isImm() &&
    5852          46 :         MI->getOperand(2).getImm() == 11 &&
    5853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5854             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
    5855             :       AsmString = "tge %xcc, $\x01 + $\x02";
    5856             :       break;
    5857             :     }
    5858          22 :     if (MI->getNumOperands() == 3 &&
    5859          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5860          11 :         MI->getOperand(2).isImm() &&
    5861          33 :         MI->getOperand(2).getImm() == 3 &&
    5862             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5863             :       // (TXCCri G0, i32imm:$imm, { 0, 0, 1, 1 })
    5864             :       AsmString = "tl %xcc, $\x02";
    5865             :       break;
    5866             :     }
    5867          21 :     if (MI->getNumOperands() == 3 &&
    5868          42 :         MI->getOperand(0).isReg() &&
    5869          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5870          21 :         MI->getOperand(2).isImm() &&
    5871          42 :         MI->getOperand(2).getImm() == 3 &&
    5872             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5873             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
    5874             :       AsmString = "tl %xcc, $\x01 + $\x02";
    5875             :       break;
    5876             :     }
    5877          20 :     if (MI->getNumOperands() == 3 &&
    5878          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5879          10 :         MI->getOperand(2).isImm() &&
    5880          30 :         MI->getOperand(2).getImm() == 12 &&
    5881             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5882             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 0 })
    5883             :       AsmString = "tgu %xcc, $\x02";
    5884             :       break;
    5885             :     }
    5886          19 :     if (MI->getNumOperands() == 3 &&
    5887          38 :         MI->getOperand(0).isReg() &&
    5888          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5889          19 :         MI->getOperand(2).isImm() &&
    5890          38 :         MI->getOperand(2).getImm() == 12 &&
    5891             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5892             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
    5893             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    5894             :       break;
    5895             :     }
    5896          17 :     if (MI->getNumOperands() == 3 &&
    5897          17 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5898           9 :         MI->getOperand(2).isImm() &&
    5899          26 :         MI->getOperand(2).getImm() == 4 &&
    5900             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5901             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 0 })
    5902             :       AsmString = "tleu %xcc, $\x02";
    5903             :       break;
    5904             :     }
    5905          16 :     if (MI->getNumOperands() == 3 &&
    5906          32 :         MI->getOperand(0).isReg() &&
    5907          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5908          16 :         MI->getOperand(2).isImm() &&
    5909          32 :         MI->getOperand(2).getImm() == 4 &&
    5910             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5911             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
    5912             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    5913             :       break;
    5914             :     }
    5915          15 :     if (MI->getNumOperands() == 3 &&
    5916          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5917           8 :         MI->getOperand(2).isImm() &&
    5918          23 :         MI->getOperand(2).getImm() == 13 &&
    5919             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5920             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 0, 1 })
    5921             :       AsmString = "tcc %xcc, $\x02";
    5922             :       break;
    5923             :     }
    5924          13 :     if (MI->getNumOperands() == 3 &&
    5925          26 :         MI->getOperand(0).isReg() &&
    5926          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5927          13 :         MI->getOperand(2).isImm() &&
    5928          26 :         MI->getOperand(2).getImm() == 13 &&
    5929             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5930             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 1 })
    5931             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    5932             :       break;
    5933             :     }
    5934          12 :     if (MI->getNumOperands() == 3 &&
    5935          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5936           6 :         MI->getOperand(2).isImm() &&
    5937          18 :         MI->getOperand(2).getImm() == 5 &&
    5938             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5939             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 0, 1 })
    5940             :       AsmString = "tcs %xcc, $\x02";
    5941             :       break;
    5942             :     }
    5943          11 :     if (MI->getNumOperands() == 3 &&
    5944          22 :         MI->getOperand(0).isReg() &&
    5945          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5946          11 :         MI->getOperand(2).isImm() &&
    5947          22 :         MI->getOperand(2).getImm() == 5 &&
    5948             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5949             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 1 })
    5950             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    5951             :       break;
    5952             :     }
    5953          10 :     if (MI->getNumOperands() == 3 &&
    5954          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5955           5 :         MI->getOperand(2).isImm() &&
    5956          15 :         MI->getOperand(2).getImm() == 14 &&
    5957             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5958             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 0 })
    5959             :       AsmString = "tpos %xcc, $\x02";
    5960             :       break;
    5961             :     }
    5962           9 :     if (MI->getNumOperands() == 3 &&
    5963          18 :         MI->getOperand(0).isReg() &&
    5964           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5965           9 :         MI->getOperand(2).isImm() &&
    5966          18 :         MI->getOperand(2).getImm() == 14 &&
    5967             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5968             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 0 })
    5969             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    5970             :       break;
    5971             :     }
    5972           7 :     if (MI->getNumOperands() == 3 &&
    5973           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5974           4 :         MI->getOperand(2).isImm() &&
    5975          11 :         MI->getOperand(2).getImm() == 6 &&
    5976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5977             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 0 })
    5978             :       AsmString = "tneg %xcc, $\x02";
    5979             :       break;
    5980             :     }
    5981           6 :     if (MI->getNumOperands() == 3 &&
    5982          12 :         MI->getOperand(0).isReg() &&
    5983           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5984           6 :         MI->getOperand(2).isImm() &&
    5985          12 :         MI->getOperand(2).getImm() == 6 &&
    5986             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5987             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 0 })
    5988             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    5989             :       break;
    5990             :     }
    5991           5 :     if (MI->getNumOperands() == 3 &&
    5992           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5993           3 :         MI->getOperand(2).isImm() &&
    5994           8 :         MI->getOperand(2).getImm() == 15 &&
    5995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5996             :       // (TXCCri G0, i32imm:$imm, { 1, 1, 1, 1 })
    5997             :       AsmString = "tvc %xcc, $\x02";
    5998             :       break;
    5999             :     }
    6000           3 :     if (MI->getNumOperands() == 3 &&
    6001           6 :         MI->getOperand(0).isReg() &&
    6002           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6003           3 :         MI->getOperand(2).isImm() &&
    6004           6 :         MI->getOperand(2).getImm() == 15 &&
    6005             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6006             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 1, 1 })
    6007             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6008             :       break;
    6009             :     }
    6010           2 :     if (MI->getNumOperands() == 3 &&
    6011           2 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6012           1 :         MI->getOperand(2).isImm() &&
    6013           3 :         MI->getOperand(2).getImm() == 7 &&
    6014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6015             :       // (TXCCri G0, i32imm:$imm, { 0, 1, 1, 1 })
    6016             :       AsmString = "tvs %xcc, $\x02";
    6017             :       break;
    6018             :     }
    6019           1 :     if (MI->getNumOperands() == 3 &&
    6020           2 :         MI->getOperand(0).isReg() &&
    6021           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6022           1 :         MI->getOperand(2).isImm() &&
    6023           2 :         MI->getOperand(2).getImm() == 7 &&
    6024             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6025             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 1, 1 })
    6026             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6027             :       break;
    6028             :     }
    6029             :     return false;
    6030             :   case SP::TXCCrr:
    6031          44 :     if (MI->getNumOperands() == 3 &&
    6032          44 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6033          46 :         MI->getOperand(1).isReg() &&
    6034          23 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6035          23 :         MI->getOperand(2).isImm() &&
    6036          67 :         MI->getOperand(2).getImm() == 8 &&
    6037             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6038             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 0 })
    6039             :       AsmString = "ta %xcc, $\x02";
    6040             :       break;
    6041             :     }
    6042          42 :     if (MI->getNumOperands() == 3 &&
    6043          84 :         MI->getOperand(0).isReg() &&
    6044          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6045          84 :         MI->getOperand(1).isReg() &&
    6046          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6047          42 :         MI->getOperand(2).isImm() &&
    6048          84 :         MI->getOperand(2).getImm() == 8 &&
    6049             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6050             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 0 })
    6051             :       AsmString = "ta %xcc, $\x01 + $\x02";
    6052             :       break;
    6053             :     }
    6054          40 :     if (MI->getNumOperands() == 3 &&
    6055          40 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6056          42 :         MI->getOperand(1).isReg() &&
    6057          21 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6058          21 :         MI->getOperand(2).isImm() &&
    6059          61 :         MI->getOperand(2).getImm() == 0 &&
    6060             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6061             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 0 })
    6062             :       AsmString = "tn %xcc, $\x02";
    6063             :       break;
    6064             :     }
    6065          38 :     if (MI->getNumOperands() == 3 &&
    6066          76 :         MI->getOperand(0).isReg() &&
    6067          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6068          76 :         MI->getOperand(1).isReg() &&
    6069          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6070          38 :         MI->getOperand(2).isImm() &&
    6071          76 :         MI->getOperand(2).getImm() == 0 &&
    6072             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6073             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 0 })
    6074             :       AsmString = "tn %xcc, $\x01 + $\x02";
    6075             :       break;
    6076             :     }
    6077          37 :     if (MI->getNumOperands() == 3 &&
    6078          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6079          38 :         MI->getOperand(1).isReg() &&
    6080          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6081          19 :         MI->getOperand(2).isImm() &&
    6082          56 :         MI->getOperand(2).getImm() == 9 &&
    6083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6084             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 0, 1 })
    6085             :       AsmString = "tne %xcc, $\x02";
    6086             :       break;
    6087             :     }
    6088          35 :     if (MI->getNumOperands() == 3 &&
    6089          70 :         MI->getOperand(0).isReg() &&
    6090          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6091          70 :         MI->getOperand(1).isReg() &&
    6092          35 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6093          35 :         MI->getOperand(2).isImm() &&
    6094          70 :         MI->getOperand(2).getImm() == 9 &&
    6095             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6096             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 0, 1 })
    6097             :       AsmString = "tne %xcc, $\x01 + $\x02";
    6098             :       break;
    6099             :     }
    6100          34 :     if (MI->getNumOperands() == 3 &&
    6101          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6102          34 :         MI->getOperand(1).isReg() &&
    6103          17 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6104          17 :         MI->getOperand(2).isImm() &&
    6105          51 :         MI->getOperand(2).getImm() == 1 &&
    6106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6107             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 0, 1 })
    6108             :       AsmString = "te %xcc, $\x02";
    6109             :       break;
    6110             :     }
    6111          32 :     if (MI->getNumOperands() == 3 &&
    6112          64 :         MI->getOperand(0).isReg() &&
    6113          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6114          64 :         MI->getOperand(1).isReg() &&
    6115          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6116          32 :         MI->getOperand(2).isImm() &&
    6117          64 :         MI->getOperand(2).getImm() == 1 &&
    6118             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6119             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 0, 1 })
    6120             :       AsmString = "te %xcc, $\x01 + $\x02";
    6121             :       break;
    6122             :     }
    6123          30 :     if (MI->getNumOperands() == 3 &&
    6124          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6125          30 :         MI->getOperand(1).isReg() &&
    6126          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6127          15 :         MI->getOperand(2).isImm() &&
    6128          45 :         MI->getOperand(2).getImm() == 10 &&
    6129             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6130             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 0 })
    6131             :       AsmString = "tg %xcc, $\x02";
    6132             :       break;
    6133             :     }
    6134          29 :     if (MI->getNumOperands() == 3 &&
    6135          58 :         MI->getOperand(0).isReg() &&
    6136          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6137          58 :         MI->getOperand(1).isReg() &&
    6138          29 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6139          29 :         MI->getOperand(2).isImm() &&
    6140          58 :         MI->getOperand(2).getImm() == 10 &&
    6141             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6142             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 0 })
    6143             :       AsmString = "tg %xcc, $\x01 + $\x02";
    6144             :       break;
    6145             :     }
    6146          28 :     if (MI->getNumOperands() == 3 &&
    6147          28 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6148          28 :         MI->getOperand(1).isReg() &&
    6149          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6150          14 :         MI->getOperand(2).isImm() &&
    6151          42 :         MI->getOperand(2).getImm() == 2 &&
    6152             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6153             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 0 })
    6154             :       AsmString = "tle %xcc, $\x02";
    6155             :       break;
    6156             :     }
    6157          26 :     if (MI->getNumOperands() == 3 &&
    6158          52 :         MI->getOperand(0).isReg() &&
    6159          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6160          52 :         MI->getOperand(1).isReg() &&
    6161          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6162          26 :         MI->getOperand(2).isImm() &&
    6163          52 :         MI->getOperand(2).getImm() == 2 &&
    6164             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6165             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 0 })
    6166             :       AsmString = "tle %xcc, $\x01 + $\x02";
    6167             :       break;
    6168             :     }
    6169          25 :     if (MI->getNumOperands() == 3 &&
    6170          25 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6171          24 :         MI->getOperand(1).isReg() &&
    6172          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6173          12 :         MI->getOperand(2).isImm() &&
    6174          37 :         MI->getOperand(2).getImm() == 11 &&
    6175             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6176             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 0, 1, 1 })
    6177             :       AsmString = "tge %xcc, $\x02";
    6178             :       break;
    6179             :     }
    6180          24 :     if (MI->getNumOperands() == 3 &&
    6181          48 :         MI->getOperand(0).isReg() &&
    6182          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6183          48 :         MI->getOperand(1).isReg() &&
    6184          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6185          24 :         MI->getOperand(2).isImm() &&
    6186          48 :         MI->getOperand(2).getImm() == 11 &&
    6187             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6188             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 0, 1, 1 })
    6189             :       AsmString = "tge %xcc, $\x01 + $\x02";
    6190             :       break;
    6191             :     }
    6192          23 :     if (MI->getNumOperands() == 3 &&
    6193          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6194          22 :         MI->getOperand(1).isReg() &&
    6195          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6196          11 :         MI->getOperand(2).isImm() &&
    6197          34 :         MI->getOperand(2).getImm() == 3 &&
    6198             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6199             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 0, 1, 1 })
    6200             :       AsmString = "tl %xcc, $\x02";
    6201             :       break;
    6202             :     }
    6203          22 :     if (MI->getNumOperands() == 3 &&
    6204          44 :         MI->getOperand(0).isReg() &&
    6205          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6206          44 :         MI->getOperand(1).isReg() &&
    6207          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6208          22 :         MI->getOperand(2).isImm() &&
    6209          44 :         MI->getOperand(2).getImm() == 3 &&
    6210             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6211             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 0, 1, 1 })
    6212             :       AsmString = "tl %xcc, $\x01 + $\x02";
    6213             :       break;
    6214             :     }
    6215          20 :     if (MI->getNumOperands() == 3 &&
    6216          20 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6217          20 :         MI->getOperand(1).isReg() &&
    6218          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6219          10 :         MI->getOperand(2).isImm() &&
    6220          30 :         MI->getOperand(2).getImm() == 12 &&
    6221             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6222             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 0 })
    6223             :       AsmString = "tgu %xcc, $\x02";
    6224             :       break;
    6225             :     }
    6226          19 :     if (MI->getNumOperands() == 3 &&
    6227          38 :         MI->getOperand(0).isReg() &&
    6228          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6229          38 :         MI->getOperand(1).isReg() &&
    6230          19 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6231          19 :         MI->getOperand(2).isImm() &&
    6232          38 :         MI->getOperand(2).getImm() == 12 &&
    6233             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6234             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 0 })
    6235             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    6236             :       break;
    6237             :     }
    6238          18 :     if (MI->getNumOperands() == 3 &&
    6239          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6240          18 :         MI->getOperand(1).isReg() &&
    6241           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6242           9 :         MI->getOperand(2).isImm() &&
    6243          27 :         MI->getOperand(2).getImm() == 4 &&
    6244             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6245             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 0 })
    6246             :       AsmString = "tleu %xcc, $\x02";
    6247             :       break;
    6248             :     }
    6249          16 :     if (MI->getNumOperands() == 3 &&
    6250          32 :         MI->getOperand(0).isReg() &&
    6251          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6252          32 :         MI->getOperand(1).isReg() &&
    6253          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6254          16 :         MI->getOperand(2).isImm() &&
    6255          32 :         MI->getOperand(2).getImm() == 4 &&
    6256             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6257             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 0 })
    6258             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    6259             :       break;
    6260             :     }
    6261          15 :     if (MI->getNumOperands() == 3 &&
    6262          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6263          14 :         MI->getOperand(1).isReg() &&
    6264           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6265           7 :         MI->getOperand(2).isImm() &&
    6266          22 :         MI->getOperand(2).getImm() == 13 &&
    6267             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6268             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 0, 1 })
    6269             :       AsmString = "tcc %xcc, $\x02";
    6270             :       break;
    6271             :     }
    6272          14 :     if (MI->getNumOperands() == 3 &&
    6273          28 :         MI->getOperand(0).isReg() &&
    6274          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6275          28 :         MI->getOperand(1).isReg() &&
    6276          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6277          14 :         MI->getOperand(2).isImm() &&
    6278          28 :         MI->getOperand(2).getImm() == 13 &&
    6279             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6280             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 0, 1 })
    6281             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    6282             :       break;
    6283             :     }
    6284          13 :     if (MI->getNumOperands() == 3 &&
    6285          13 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6286          12 :         MI->getOperand(1).isReg() &&
    6287           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6288           6 :         MI->getOperand(2).isImm() &&
    6289          19 :         MI->getOperand(2).getImm() == 5 &&
    6290             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6291             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 0, 1 })
    6292             :       AsmString = "tcs %xcc, $\x02";
    6293             :       break;
    6294             :     }
    6295          12 :     if (MI->getNumOperands() == 3 &&
    6296          24 :         MI->getOperand(0).isReg() &&
    6297          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6298          24 :         MI->getOperand(1).isReg() &&
    6299          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6300          12 :         MI->getOperand(2).isImm() &&
    6301          24 :         MI->getOperand(2).getImm() == 5 &&
    6302             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6303             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 0, 1 })
    6304             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    6305             :       break;
    6306             :     }
    6307          10 :     if (MI->getNumOperands() == 3 &&
    6308          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6309          10 :         MI->getOperand(1).isReg() &&
    6310           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6311           5 :         MI->getOperand(2).isImm() &&
    6312          15 :         MI->getOperand(2).getImm() == 14 &&
    6313             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6314             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 0 })
    6315             :       AsmString = "tpos %xcc, $\x02";
    6316             :       break;
    6317             :     }
    6318           9 :     if (MI->getNumOperands() == 3 &&
    6319          18 :         MI->getOperand(0).isReg() &&
    6320           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6321          18 :         MI->getOperand(1).isReg() &&
    6322           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6323           9 :         MI->getOperand(2).isImm() &&
    6324          18 :         MI->getOperand(2).getImm() == 14 &&
    6325             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6326             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 0 })
    6327             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    6328             :       break;
    6329             :     }
    6330           8 :     if (MI->getNumOperands() == 3 &&
    6331           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6332           8 :         MI->getOperand(1).isReg() &&
    6333           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6334           4 :         MI->getOperand(2).isImm() &&
    6335          12 :         MI->getOperand(2).getImm() == 6 &&
    6336             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6337             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 0 })
    6338             :       AsmString = "tneg %xcc, $\x02";
    6339             :       break;
    6340             :     }
    6341           6 :     if (MI->getNumOperands() == 3 &&
    6342          12 :         MI->getOperand(0).isReg() &&
    6343           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6344          12 :         MI->getOperand(1).isReg() &&
    6345           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6346           6 :         MI->getOperand(2).isImm() &&
    6347          12 :         MI->getOperand(2).getImm() == 6 &&
    6348             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6349             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 0 })
    6350             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    6351             :       break;
    6352             :     }
    6353           5 :     if (MI->getNumOperands() == 3 &&
    6354           5 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6355           4 :         MI->getOperand(1).isReg() &&
    6356           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6357           2 :         MI->getOperand(2).isImm() &&
    6358           7 :         MI->getOperand(2).getImm() == 15 &&
    6359             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6360             :       // (TXCCrr G0, IntRegs:$rs2, { 1, 1, 1, 1 })
    6361             :       AsmString = "tvc %xcc, $\x02";
    6362             :       break;
    6363             :     }
    6364           4 :     if (MI->getNumOperands() == 3 &&
    6365           8 :         MI->getOperand(0).isReg() &&
    6366           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6367           8 :         MI->getOperand(1).isReg() &&
    6368           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6369           4 :         MI->getOperand(2).isImm() &&
    6370           8 :         MI->getOperand(2).getImm() == 15 &&
    6371             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6372             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 1, 1, 1, 1 })
    6373             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6374             :       break;
    6375             :     }
    6376           3 :     if (MI->getNumOperands() == 3 &&
    6377           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6378           2 :         MI->getOperand(1).isReg() &&
    6379           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6380           1 :         MI->getOperand(2).isImm() &&
    6381           4 :         MI->getOperand(2).getImm() == 7 &&
    6382             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6383             :       // (TXCCrr G0, IntRegs:$rs2, { 0, 1, 1, 1 })
    6384             :       AsmString = "tvs %xcc, $\x02";
    6385             :       break;
    6386             :     }
    6387           2 :     if (MI->getNumOperands() == 3 &&
    6388           4 :         MI->getOperand(0).isReg() &&
    6389           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6390           4 :         MI->getOperand(1).isReg() &&
    6391           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6392           2 :         MI->getOperand(2).isImm() &&
    6393           4 :         MI->getOperand(2).getImm() == 7 &&
    6394             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6395             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, { 0, 1, 1, 1 })
    6396             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6397             :       break;
    6398             :     }
    6399             :     return false;
    6400             :   case SP::V9FCMPD:
    6401           4 :     if (MI->getNumOperands() == 3 &&
    6402           4 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6403           6 :         MI->getOperand(1).isReg() &&
    6404           3 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6405          10 :         MI->getOperand(2).isReg() &&
    6406           3 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6407             :       // (V9FCMPD FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6408             :       AsmString = "fcmpd $\x02, $\x03";
    6409             :       break;
    6410             :     }
    6411             :     return false;
    6412             :   case SP::V9FCMPED:
    6413           3 :     if (MI->getNumOperands() == 3 &&
    6414           3 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6415           4 :         MI->getOperand(1).isReg() &&
    6416           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6417           7 :         MI->getOperand(2).isReg() &&
    6418           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6419             :       // (V9FCMPED FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6420             :       AsmString = "fcmped $\x02, $\x03";
    6421             :       break;
    6422             :     }
    6423             :     return false;
    6424             :   case SP::V9FCMPEQ:
    6425           3 :     if (MI->getNumOperands() == 3 &&
    6426           3 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6427           4 :         MI->getOperand(1).isReg() &&
    6428           2 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6429           7 :         MI->getOperand(2).isReg() &&
    6430           2 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6431             :       // (V9FCMPEQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6432             :       AsmString = "fcmpeq $\x02, $\x03";
    6433             :       break;
    6434             :     }
    6435             :     return false;
    6436             :   case SP::V9FCMPES:
    6437           3 :     if (MI->getNumOperands() == 3 &&
    6438           3 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6439           4 :         MI->getOperand(1).isReg() &&
    6440           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6441           7 :         MI->getOperand(2).isReg() &&
    6442           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6443             :       // (V9FCMPES FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6444             :       AsmString = "fcmpes $\x02, $\x03";
    6445             :       break;
    6446             :     }
    6447             :     return false;
    6448             :   case SP::V9FCMPQ:
    6449           4 :     if (MI->getNumOperands() == 3 &&
    6450           4 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6451           6 :         MI->getOperand(1).isReg() &&
    6452           3 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6453          10 :         MI->getOperand(2).isReg() &&
    6454           3 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6455             :       // (V9FCMPQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6456             :       AsmString = "fcmpq $\x02, $\x03";
    6457             :       break;
    6458             :     }
    6459             :     return false;
    6460             :   case SP::V9FCMPS:
    6461           4 :     if (MI->getNumOperands() == 3 &&
    6462           4 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6463           6 :         MI->getOperand(1).isReg() &&
    6464           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6465          10 :         MI->getOperand(2).isReg() &&
    6466           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6467             :       // (V9FCMPS FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6468             :       AsmString = "fcmps $\x02, $\x03";
    6469             :       break;
    6470             :     }
    6471             :     return false;
    6472             :   case SP::V9FMOVD_FCC:
    6473           0 :     if (MI->getNumOperands() == 5 &&
    6474           0 :         MI->getOperand(0).isReg() &&
    6475           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6476           0 :         MI->getOperand(1).isReg() &&
    6477           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6478           0 :         MI->getOperand(2).isReg() &&
    6479           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6480           0 :         MI->getOperand(4).isImm() &&
    6481           0 :         MI->getOperand(4).getImm() == 8 &&
    6482             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6483             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 0 })
    6484             :       AsmString = "fmovda $\x02, $\x03, $\x01";
    6485             :       break;
    6486             :     }
    6487           0 :     if (MI->getNumOperands() == 5 &&
    6488           0 :         MI->getOperand(0).isReg() &&
    6489           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6490           0 :         MI->getOperand(1).isReg() &&
    6491           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6492           0 :         MI->getOperand(2).isReg() &&
    6493           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6494           0 :         MI->getOperand(4).isImm() &&
    6495           0 :         MI->getOperand(4).getImm() == 0 &&
    6496             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6497             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 0 })
    6498             :       AsmString = "fmovdn $\x02, $\x03, $\x01";
    6499             :       break;
    6500             :     }
    6501           0 :     if (MI->getNumOperands() == 5 &&
    6502           0 :         MI->getOperand(0).isReg() &&
    6503           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6504           0 :         MI->getOperand(1).isReg() &&
    6505           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6506           0 :         MI->getOperand(2).isReg() &&
    6507           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6508           0 :         MI->getOperand(4).isImm() &&
    6509           0 :         MI->getOperand(4).getImm() == 7 &&
    6510             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6511             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 1 })
    6512             :       AsmString = "fmovdu $\x02, $\x03, $\x01";
    6513             :       break;
    6514             :     }
    6515           0 :     if (MI->getNumOperands() == 5 &&
    6516           0 :         MI->getOperand(0).isReg() &&
    6517           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6518           0 :         MI->getOperand(1).isReg() &&
    6519           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6520           0 :         MI->getOperand(2).isReg() &&
    6521           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6522           0 :         MI->getOperand(4).isImm() &&
    6523           0 :         MI->getOperand(4).getImm() == 6 &&
    6524             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6525             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 1, 0 })
    6526             :       AsmString = "fmovdg $\x02, $\x03, $\x01";
    6527             :       break;
    6528             :     }
    6529           0 :     if (MI->getNumOperands() == 5 &&
    6530           0 :         MI->getOperand(0).isReg() &&
    6531           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6532           0 :         MI->getOperand(1).isReg() &&
    6533           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6534           0 :         MI->getOperand(2).isReg() &&
    6535           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6536           0 :         MI->getOperand(4).isImm() &&
    6537           0 :         MI->getOperand(4).getImm() == 5 &&
    6538             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6539             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 1 })
    6540             :       AsmString = "fmovdug $\x02, $\x03, $\x01";
    6541             :       break;
    6542             :     }
    6543           0 :     if (MI->getNumOperands() == 5 &&
    6544           0 :         MI->getOperand(0).isReg() &&
    6545           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6546           0 :         MI->getOperand(1).isReg() &&
    6547           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6548           0 :         MI->getOperand(2).isReg() &&
    6549           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6550           0 :         MI->getOperand(4).isImm() &&
    6551           0 :         MI->getOperand(4).getImm() == 4 &&
    6552             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6553             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 1, 0, 0 })
    6554             :       AsmString = "fmovdl $\x02, $\x03, $\x01";
    6555             :       break;
    6556             :     }
    6557           0 :     if (MI->getNumOperands() == 5 &&
    6558           0 :         MI->getOperand(0).isReg() &&
    6559           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6560           0 :         MI->getOperand(1).isReg() &&
    6561           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6562           0 :         MI->getOperand(2).isReg() &&
    6563           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6564           0 :         MI->getOperand(4).isImm() &&
    6565           0 :         MI->getOperand(4).getImm() == 3 &&
    6566             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6567             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 1 })
    6568             :       AsmString = "fmovdul $\x02, $\x03, $\x01";
    6569             :       break;
    6570             :     }
    6571           0 :     if (MI->getNumOperands() == 5 &&
    6572           0 :         MI->getOperand(0).isReg() &&
    6573           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6574           0 :         MI->getOperand(1).isReg() &&
    6575           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6576           0 :         MI->getOperand(2).isReg() &&
    6577           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6578           0 :         MI->getOperand(4).isImm() &&
    6579           0 :         MI->getOperand(4).getImm() == 2 &&
    6580             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6581             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 1, 0 })
    6582             :       AsmString = "fmovdlg $\x02, $\x03, $\x01";
    6583             :       break;
    6584             :     }
    6585           0 :     if (MI->getNumOperands() == 5 &&
    6586           0 :         MI->getOperand(0).isReg() &&
    6587           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6588           0 :         MI->getOperand(1).isReg() &&
    6589           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6590           0 :         MI->getOperand(2).isReg() &&
    6591           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6592           0 :         MI->getOperand(4).isImm() &&
    6593           0 :         MI->getOperand(4).getImm() == 1 &&
    6594             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6595             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 0, 0, 0, 1 })
    6596             :       AsmString = "fmovdne $\x02, $\x03, $\x01";
    6597             :       break;
    6598             :     }
    6599           0 :     if (MI->getNumOperands() == 5 &&
    6600           0 :         MI->getOperand(0).isReg() &&
    6601           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6602           0 :         MI->getOperand(1).isReg() &&
    6603           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6604           0 :         MI->getOperand(2).isReg() &&
    6605           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6606           0 :         MI->getOperand(4).isImm() &&
    6607           0 :         MI->getOperand(4).getImm() == 9 &&
    6608             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6609             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 0, 1 })
    6610             :       AsmString = "fmovde $\x02, $\x03, $\x01";
    6611             :       break;
    6612             :     }
    6613           0 :     if (MI->getNumOperands() == 5 &&
    6614           0 :         MI->getOperand(0).isReg() &&
    6615           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6616           0 :         MI->getOperand(1).isReg() &&
    6617           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6618           0 :         MI->getOperand(2).isReg() &&
    6619           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6620           0 :         MI->getOperand(4).isImm() &&
    6621           0 :         MI->getOperand(4).getImm() == 10 &&
    6622             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6623             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 0 })
    6624             :       AsmString = "fmovdue $\x02, $\x03, $\x01";
    6625             :       break;
    6626             :     }
    6627           0 :     if (MI->getNumOperands() == 5 &&
    6628           0 :         MI->getOperand(0).isReg() &&
    6629           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6630           0 :         MI->getOperand(1).isReg() &&
    6631           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6632           0 :         MI->getOperand(2).isReg() &&
    6633           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6634           0 :         MI->getOperand(4).isImm() &&
    6635           0 :         MI->getOperand(4).getImm() == 11 &&
    6636             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6637             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 0, 1, 1 })
    6638             :       AsmString = "fmovdge $\x02, $\x03, $\x01";
    6639             :       break;
    6640             :     }
    6641           0 :     if (MI->getNumOperands() == 5 &&
    6642           0 :         MI->getOperand(0).isReg() &&
    6643           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6644           0 :         MI->getOperand(1).isReg() &&
    6645           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6646           0 :         MI->getOperand(2).isReg() &&
    6647           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6648           0 :         MI->getOperand(4).isImm() &&
    6649           0 :         MI->getOperand(4).getImm() == 12 &&
    6650             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6651             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 0 })
    6652             :       AsmString = "fmovduge $\x02, $\x03, $\x01";
    6653             :       break;
    6654             :     }
    6655           0 :     if (MI->getNumOperands() == 5 &&
    6656           0 :         MI->getOperand(0).isReg() &&
    6657           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6658           0 :         MI->getOperand(1).isReg() &&
    6659           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6660           0 :         MI->getOperand(2).isReg() &&
    6661           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6662           0 :         MI->getOperand(4).isImm() &&
    6663           0 :         MI->getOperand(4).getImm() == 13 &&
    6664             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6665             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 0, 1 })
    6666             :       AsmString = "fmovdle $\x02, $\x03, $\x01";
    6667             :       break;
    6668             :     }
    6669           0 :     if (MI->getNumOperands() == 5 &&
    6670           0 :         MI->getOperand(0).isReg() &&
    6671           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6672           0 :         MI->getOperand(1).isReg() &&
    6673           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6674           0 :         MI->getOperand(2).isReg() &&
    6675           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6676           0 :         MI->getOperand(4).isImm() &&
    6677           0 :         MI->getOperand(4).getImm() == 14 &&
    6678             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6679             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 0 })
    6680             :       AsmString = "fmovdule $\x02, $\x03, $\x01";
    6681             :       break;
    6682             :     }
    6683           0 :     if (MI->getNumOperands() == 5 &&
    6684           0 :         MI->getOperand(0).isReg() &&
    6685           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6686           0 :         MI->getOperand(1).isReg() &&
    6687           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6688           0 :         MI->getOperand(2).isReg() &&
    6689           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6690           0 :         MI->getOperand(4).isImm() &&
    6691           0 :         MI->getOperand(4).getImm() == 15 &&
    6692             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6693             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, { 1, 1, 1, 1 })
    6694             :       AsmString = "fmovdo $\x02, $\x03, $\x01";
    6695             :       break;
    6696             :     }
    6697             :     return false;
    6698             :   case SP::V9FMOVQ_FCC:
    6699           0 :     if (MI->getNumOperands() == 5 &&
    6700           0 :         MI->getOperand(0).isReg() &&
    6701           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6702           0 :         MI->getOperand(1).isReg() &&
    6703           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6704           0 :         MI->getOperand(2).isReg() &&
    6705           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6706           0 :         MI->getOperand(4).isImm() &&
    6707           0 :         MI->getOperand(4).getImm() == 8 &&
    6708             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6709             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 0 })
    6710             :       AsmString = "fmovqa $\x02, $\x03, $\x01";
    6711             :       break;
    6712             :     }
    6713           0 :     if (MI->getNumOperands() == 5 &&
    6714           0 :         MI->getOperand(0).isReg() &&
    6715           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6716           0 :         MI->getOperand(1).isReg() &&
    6717           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6718           0 :         MI->getOperand(2).isReg() &&
    6719           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6720           0 :         MI->getOperand(4).isImm() &&
    6721           0 :         MI->getOperand(4).getImm() == 0 &&
    6722             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6723             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 0 })
    6724             :       AsmString = "fmovqn $\x02, $\x03, $\x01";
    6725             :       break;
    6726             :     }
    6727           0 :     if (MI->getNumOperands() == 5 &&
    6728           0 :         MI->getOperand(0).isReg() &&
    6729           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6730           0 :         MI->getOperand(1).isReg() &&
    6731           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6732           0 :         MI->getOperand(2).isReg() &&
    6733           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6734           0 :         MI->getOperand(4).isImm() &&
    6735           0 :         MI->getOperand(4).getImm() == 7 &&
    6736             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6737             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 1 })
    6738             :       AsmString = "fmovqu $\x02, $\x03, $\x01";
    6739             :       break;
    6740             :     }
    6741           0 :     if (MI->getNumOperands() == 5 &&
    6742           0 :         MI->getOperand(0).isReg() &&
    6743           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6744           0 :         MI->getOperand(1).isReg() &&
    6745           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6746           0 :         MI->getOperand(2).isReg() &&
    6747           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6748           0 :         MI->getOperand(4).isImm() &&
    6749           0 :         MI->getOperand(4).getImm() == 6 &&
    6750             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6751             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 1, 0 })
    6752             :       AsmString = "fmovqg $\x02, $\x03, $\x01";
    6753             :       break;
    6754             :     }
    6755           0 :     if (MI->getNumOperands() == 5 &&
    6756           0 :         MI->getOperand(0).isReg() &&
    6757           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6758           0 :         MI->getOperand(1).isReg() &&
    6759           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6760           0 :         MI->getOperand(2).isReg() &&
    6761           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6762           0 :         MI->getOperand(4).isImm() &&
    6763           0 :         MI->getOperand(4).getImm() == 5 &&
    6764             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6765             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 1 })
    6766             :       AsmString = "fmovqug $\x02, $\x03, $\x01";
    6767             :       break;
    6768             :     }
    6769           0 :     if (MI->getNumOperands() == 5 &&
    6770           0 :         MI->getOperand(0).isReg() &&
    6771           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6772           0 :         MI->getOperand(1).isReg() &&
    6773           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6774           0 :         MI->getOperand(2).isReg() &&
    6775           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6776           0 :         MI->getOperand(4).isImm() &&
    6777           0 :         MI->getOperand(4).getImm() == 4 &&
    6778             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6779             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 1, 0, 0 })
    6780             :       AsmString = "fmovql $\x02, $\x03, $\x01";
    6781             :       break;
    6782             :     }
    6783           0 :     if (MI->getNumOperands() == 5 &&
    6784           0 :         MI->getOperand(0).isReg() &&
    6785           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6786           0 :         MI->getOperand(1).isReg() &&
    6787           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6788           0 :         MI->getOperand(2).isReg() &&
    6789           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6790           0 :         MI->getOperand(4).isImm() &&
    6791           0 :         MI->getOperand(4).getImm() == 3 &&
    6792             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6793             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 1 })
    6794             :       AsmString = "fmovqul $\x02, $\x03, $\x01";
    6795             :       break;
    6796             :     }
    6797           0 :     if (MI->getNumOperands() == 5 &&
    6798           0 :         MI->getOperand(0).isReg() &&
    6799           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6800           0 :         MI->getOperand(1).isReg() &&
    6801           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6802           0 :         MI->getOperand(2).isReg() &&
    6803           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6804           0 :         MI->getOperand(4).isImm() &&
    6805           0 :         MI->getOperand(4).getImm() == 2 &&
    6806             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6807             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 1, 0 })
    6808             :       AsmString = "fmovqlg $\x02, $\x03, $\x01";
    6809             :       break;
    6810             :     }
    6811           0 :     if (MI->getNumOperands() == 5 &&
    6812           0 :         MI->getOperand(0).isReg() &&
    6813           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6814           0 :         MI->getOperand(1).isReg() &&
    6815           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6816           0 :         MI->getOperand(2).isReg() &&
    6817           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6818           0 :         MI->getOperand(4).isImm() &&
    6819           0 :         MI->getOperand(4).getImm() == 1 &&
    6820             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6821             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 0, 0, 0, 1 })
    6822             :       AsmString = "fmovqne $\x02, $\x03, $\x01";
    6823             :       break;
    6824             :     }
    6825           0 :     if (MI->getNumOperands() == 5 &&
    6826           0 :         MI->getOperand(0).isReg() &&
    6827           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6828           0 :         MI->getOperand(1).isReg() &&
    6829           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6830           0 :         MI->getOperand(2).isReg() &&
    6831           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6832           0 :         MI->getOperand(4).isImm() &&
    6833           0 :         MI->getOperand(4).getImm() == 9 &&
    6834             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6835             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 0, 1 })
    6836             :       AsmString = "fmovqe $\x02, $\x03, $\x01";
    6837             :       break;
    6838             :     }
    6839           0 :     if (MI->getNumOperands() == 5 &&
    6840           0 :         MI->getOperand(0).isReg() &&
    6841           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6842           0 :         MI->getOperand(1).isReg() &&
    6843           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6844           0 :         MI->getOperand(2).isReg() &&
    6845           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6846           0 :         MI->getOperand(4).isImm() &&
    6847           0 :         MI->getOperand(4).getImm() == 10 &&
    6848             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6849             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 0 })
    6850             :       AsmString = "fmovque $\x02, $\x03, $\x01";
    6851             :       break;
    6852             :     }
    6853           0 :     if (MI->getNumOperands() == 5 &&
    6854           0 :         MI->getOperand(0).isReg() &&
    6855           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6856           0 :         MI->getOperand(1).isReg() &&
    6857           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6858           0 :         MI->getOperand(2).isReg() &&
    6859           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6860           0 :         MI->getOperand(4).isImm() &&
    6861           0 :         MI->getOperand(4).getImm() == 11 &&
    6862             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6863             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 0, 1, 1 })
    6864             :       AsmString = "fmovqge $\x02, $\x03, $\x01";
    6865             :       break;
    6866             :     }
    6867           0 :     if (MI->getNumOperands() == 5 &&
    6868           0 :         MI->getOperand(0).isReg() &&
    6869           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6870           0 :         MI->getOperand(1).isReg() &&
    6871           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6872           0 :         MI->getOperand(2).isReg() &&
    6873           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6874           0 :         MI->getOperand(4).isImm() &&
    6875           0 :         MI->getOperand(4).getImm() == 12 &&
    6876             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6877             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 0 })
    6878             :       AsmString = "fmovquge $\x02, $\x03, $\x01";
    6879             :       break;
    6880             :     }
    6881           0 :     if (MI->getNumOperands() == 5 &&
    6882           0 :         MI->getOperand(0).isReg() &&
    6883           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6884           0 :         MI->getOperand(1).isReg() &&
    6885           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6886           0 :         MI->getOperand(2).isReg() &&
    6887           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6888           0 :         MI->getOperand(4).isImm() &&
    6889           0 :         MI->getOperand(4).getImm() == 13 &&
    6890             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6891             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 0, 1 })
    6892             :       AsmString = "fmovqle $\x02, $\x03, $\x01";
    6893             :       break;
    6894             :     }
    6895           0 :     if (MI->getNumOperands() == 5 &&
    6896           0 :         MI->getOperand(0).isReg() &&
    6897           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6898           0 :         MI->getOperand(1).isReg() &&
    6899           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6900           0 :         MI->getOperand(2).isReg() &&
    6901           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6902           0 :         MI->getOperand(4).isImm() &&
    6903           0 :         MI->getOperand(4).getImm() == 14 &&
    6904             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6905             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 0 })
    6906             :       AsmString = "fmovqule $\x02, $\x03, $\x01";
    6907             :       break;
    6908             :     }
    6909           0 :     if (MI->getNumOperands() == 5 &&
    6910           0 :         MI->getOperand(0).isReg() &&
    6911           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6912           0 :         MI->getOperand(1).isReg() &&
    6913           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6914           0 :         MI->getOperand(2).isReg() &&
    6915           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6916           0 :         MI->getOperand(4).isImm() &&
    6917           0 :         MI->getOperand(4).getImm() == 15 &&
    6918             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6919             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, { 1, 1, 1, 1 })
    6920             :       AsmString = "fmovqo $\x02, $\x03, $\x01";
    6921             :       break;
    6922             :     }
    6923             :     return false;
    6924             :   case SP::V9FMOVS_FCC:
    6925          15 :     if (MI->getNumOperands() == 5 &&
    6926          30 :         MI->getOperand(0).isReg() &&
    6927          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6928          30 :         MI->getOperand(1).isReg() &&
    6929          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6930          30 :         MI->getOperand(2).isReg() &&
    6931          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6932          15 :         MI->getOperand(4).isImm() &&
    6933          30 :         MI->getOperand(4).getImm() == 8 &&
    6934             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6935             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 0 })
    6936             :       AsmString = "fmovsa $\x02, $\x03, $\x01";
    6937             :       break;
    6938             :     }
    6939          15 :     if (MI->getNumOperands() == 5 &&
    6940          30 :         MI->getOperand(0).isReg() &&
    6941          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6942          30 :         MI->getOperand(1).isReg() &&
    6943          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6944          30 :         MI->getOperand(2).isReg() &&
    6945          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6946          15 :         MI->getOperand(4).isImm() &&
    6947          30 :         MI->getOperand(4).getImm() == 0 &&
    6948             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6949             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 0 })
    6950             :       AsmString = "fmovsn $\x02, $\x03, $\x01";
    6951             :       break;
    6952             :     }
    6953          15 :     if (MI->getNumOperands() == 5 &&
    6954          30 :         MI->getOperand(0).isReg() &&
    6955          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6956          30 :         MI->getOperand(1).isReg() &&
    6957          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6958          30 :         MI->getOperand(2).isReg() &&
    6959          15 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6960          15 :         MI->getOperand(4).isImm() &&
    6961          30 :         MI->getOperand(4).getImm() == 7 &&
    6962             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6963             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 1 })
    6964             :       AsmString = "fmovsu $\x02, $\x03, $\x01";
    6965             :       break;
    6966             :     }
    6967          14 :     if (MI->getNumOperands() == 5 &&
    6968          28 :         MI->getOperand(0).isReg() &&
    6969          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6970          28 :         MI->getOperand(1).isReg() &&
    6971          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6972          28 :         MI->getOperand(2).isReg() &&
    6973          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6974          14 :         MI->getOperand(4).isImm() &&
    6975          28 :         MI->getOperand(4).getImm() == 6 &&
    6976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6977             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 1, 0 })
    6978             :       AsmString = "fmovsg $\x02, $\x03, $\x01";
    6979             :       break;
    6980             :     }
    6981          12 :     if (MI->getNumOperands() == 5 &&
    6982          24 :         MI->getOperand(0).isReg() &&
    6983          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6984          24 :         MI->getOperand(1).isReg() &&
    6985          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6986          24 :         MI->getOperand(2).isReg() &&
    6987          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6988          12 :         MI->getOperand(4).isImm() &&
    6989          24 :         MI->getOperand(4).getImm() == 5 &&
    6990             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6991             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 1 })
    6992             :       AsmString = "fmovsug $\x02, $\x03, $\x01";
    6993             :       break;
    6994             :     }
    6995          11 :     if (MI->getNumOperands() == 5 &&
    6996          22 :         MI->getOperand(0).isReg() &&
    6997          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6998          22 :         MI->getOperand(1).isReg() &&
    6999          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7000          22 :         MI->getOperand(2).isReg() &&
    7001          11 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7002          11 :         MI->getOperand(4).isImm() &&
    7003          22 :         MI->getOperand(4).getImm() == 4 &&
    7004             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7005             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 1, 0, 0 })
    7006             :       AsmString = "fmovsl $\x02, $\x03, $\x01";
    7007             :       break;
    7008             :     }
    7009          10 :     if (MI->getNumOperands() == 5 &&
    7010          20 :         MI->getOperand(0).isReg() &&
    7011          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7012          20 :         MI->getOperand(1).isReg() &&
    7013          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7014          20 :         MI->getOperand(2).isReg() &&
    7015          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7016          10 :         MI->getOperand(4).isImm() &&
    7017          20 :         MI->getOperand(4).getImm() == 3 &&
    7018             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7019             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 1 })
    7020             :       AsmString = "fmovsul $\x02, $\x03, $\x01";
    7021             :       break;
    7022             :     }
    7023           9 :     if (MI->getNumOperands() == 5 &&
    7024          18 :         MI->getOperand(0).isReg() &&
    7025           9 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7026          18 :         MI->getOperand(1).isReg() &&
    7027           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7028          18 :         MI->getOperand(2).isReg() &&
    7029           9 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7030           9 :         MI->getOperand(4).isImm() &&
    7031          18 :         MI->getOperand(4).getImm() == 2 &&
    7032             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7033             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 1, 0 })
    7034             :       AsmString = "fmovslg $\x02, $\x03, $\x01";
    7035             :       break;
    7036             :     }
    7037           8 :     if (MI->getNumOperands() == 5 &&
    7038          16 :         MI->getOperand(0).isReg() &&
    7039           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7040          16 :         MI->getOperand(1).isReg() &&
    7041           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7042          16 :         MI->getOperand(2).isReg() &&
    7043           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7044           8 :         MI->getOperand(4).isImm() &&
    7045          16 :         MI->getOperand(4).getImm() == 1 &&
    7046             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7047             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 0, 0, 0, 1 })
    7048             :       AsmString = "fmovsne $\x02, $\x03, $\x01";
    7049             :       break;
    7050             :     }
    7051           7 :     if (MI->getNumOperands() == 5 &&
    7052          14 :         MI->getOperand(0).isReg() &&
    7053           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7054          14 :         MI->getOperand(1).isReg() &&
    7055           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7056          14 :         MI->getOperand(2).isReg() &&
    7057           7 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7058           7 :         MI->getOperand(4).isImm() &&
    7059          14 :         MI->getOperand(4).getImm() == 9 &&
    7060             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7061             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 0, 1 })
    7062             :       AsmString = "fmovse $\x02, $\x03, $\x01";
    7063             :       break;
    7064             :     }
    7065           6 :     if (MI->getNumOperands() == 5 &&
    7066          12 :         MI->getOperand(0).isReg() &&
    7067           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7068          12 :         MI->getOperand(1).isReg() &&
    7069           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7070          12 :         MI->getOperand(2).isReg() &&
    7071           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7072           6 :         MI->getOperand(4).isImm() &&
    7073          12 :         MI->getOperand(4).getImm() == 10 &&
    7074             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7075             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 0 })
    7076             :       AsmString = "fmovsue $\x02, $\x03, $\x01";
    7077             :       break;
    7078             :     }
    7079           5 :     if (MI->getNumOperands() == 5 &&
    7080          10 :         MI->getOperand(0).isReg() &&
    7081           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7082          10 :         MI->getOperand(1).isReg() &&
    7083           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7084          10 :         MI->getOperand(2).isReg() &&
    7085           5 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7086           5 :         MI->getOperand(4).isImm() &&
    7087          10 :         MI->getOperand(4).getImm() == 11 &&
    7088             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7089             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 0, 1, 1 })
    7090             :       AsmString = "fmovsge $\x02, $\x03, $\x01";
    7091             :       break;
    7092             :     }
    7093           4 :     if (MI->getNumOperands() == 5 &&
    7094           8 :         MI->getOperand(0).isReg() &&
    7095           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7096           8 :         MI->getOperand(1).isReg() &&
    7097           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7098           8 :         MI->getOperand(2).isReg() &&
    7099           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7100           4 :         MI->getOperand(4).isImm() &&
    7101           8 :         MI->getOperand(4).getImm() == 12 &&
    7102             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7103             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 0 })
    7104             :       AsmString = "fmovsuge $\x02, $\x03, $\x01";
    7105             :       break;
    7106             :     }
    7107           3 :     if (MI->getNumOperands() == 5 &&
    7108           6 :         MI->getOperand(0).isReg() &&
    7109           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7110           6 :         MI->getOperand(1).isReg() &&
    7111           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7112           6 :         MI->getOperand(2).isReg() &&
    7113           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7114           3 :         MI->getOperand(4).isImm() &&
    7115           6 :         MI->getOperand(4).getImm() == 13 &&
    7116             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7117             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 0, 1 })
    7118             :       AsmString = "fmovsle $\x02, $\x03, $\x01";
    7119             :       break;
    7120             :     }
    7121           2 :     if (MI->getNumOperands() == 5 &&
    7122           4 :         MI->getOperand(0).isReg() &&
    7123           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7124           4 :         MI->getOperand(1).isReg() &&
    7125           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7126           4 :         MI->getOperand(2).isReg() &&
    7127           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7128           2 :         MI->getOperand(4).isImm() &&
    7129           4 :         MI->getOperand(4).getImm() == 14 &&
    7130             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7131             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 0 })
    7132             :       AsmString = "fmovsule $\x02, $\x03, $\x01";
    7133             :       break;
    7134             :     }
    7135           1 :     if (MI->getNumOperands() == 5 &&
    7136           2 :         MI->getOperand(0).isReg() &&
    7137           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7138           2 :         MI->getOperand(1).isReg() &&
    7139           1 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7140           2 :         MI->getOperand(2).isReg() &&
    7141           1 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7142           1 :         MI->getOperand(4).isImm() &&
    7143           2 :         MI->getOperand(4).getImm() == 15 &&
    7144             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7145             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, { 1, 1, 1, 1 })
    7146             :       AsmString = "fmovso $\x02, $\x03, $\x01";
    7147             :       break;
    7148             :     }
    7149             :     return false;
    7150             :   case SP::V9MOVFCCri:
    7151           0 :     if (MI->getNumOperands() == 5 &&
    7152           0 :         MI->getOperand(0).isReg() &&
    7153           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7154           0 :         MI->getOperand(1).isReg() &&
    7155           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7156           0 :         MI->getOperand(4).isImm() &&
    7157           0 :         MI->getOperand(4).getImm() == 8 &&
    7158             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7159             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 0 })
    7160             :       AsmString = "mova $\x02, $\x03, $\x01";
    7161             :       break;
    7162             :     }
    7163           0 :     if (MI->getNumOperands() == 5 &&
    7164           0 :         MI->getOperand(0).isReg() &&
    7165           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7166           0 :         MI->getOperand(1).isReg() &&
    7167           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7168           0 :         MI->getOperand(4).isImm() &&
    7169           0 :         MI->getOperand(4).getImm() == 0 &&
    7170             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7171             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 0 })
    7172             :       AsmString = "movn $\x02, $\x03, $\x01";
    7173             :       break;
    7174             :     }
    7175           0 :     if (MI->getNumOperands() == 5 &&
    7176           0 :         MI->getOperand(0).isReg() &&
    7177           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7178           0 :         MI->getOperand(1).isReg() &&
    7179           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7180           0 :         MI->getOperand(4).isImm() &&
    7181           0 :         MI->getOperand(4).getImm() == 7 &&
    7182             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7183             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 1 })
    7184             :       AsmString = "movu $\x02, $\x03, $\x01";
    7185             :       break;
    7186             :     }
    7187           0 :     if (MI->getNumOperands() == 5 &&
    7188           0 :         MI->getOperand(0).isReg() &&
    7189           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7190           0 :         MI->getOperand(1).isReg() &&
    7191           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7192           0 :         MI->getOperand(4).isImm() &&
    7193           0 :         MI->getOperand(4).getImm() == 6 &&
    7194             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7195             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 1, 0 })
    7196             :       AsmString = "movg $\x02, $\x03, $\x01";
    7197             :       break;
    7198             :     }
    7199           0 :     if (MI->getNumOperands() == 5 &&
    7200           0 :         MI->getOperand(0).isReg() &&
    7201           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7202           0 :         MI->getOperand(1).isReg() &&
    7203           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7204           0 :         MI->getOperand(4).isImm() &&
    7205           0 :         MI->getOperand(4).getImm() == 5 &&
    7206             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7207             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 1 })
    7208             :       AsmString = "movug $\x02, $\x03, $\x01";
    7209             :       break;
    7210             :     }
    7211           0 :     if (MI->getNumOperands() == 5 &&
    7212           0 :         MI->getOperand(0).isReg() &&
    7213           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7214           0 :         MI->getOperand(1).isReg() &&
    7215           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7216           0 :         MI->getOperand(4).isImm() &&
    7217           0 :         MI->getOperand(4).getImm() == 4 &&
    7218             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7219             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 1, 0, 0 })
    7220             :       AsmString = "movl $\x02, $\x03, $\x01";
    7221             :       break;
    7222             :     }
    7223           0 :     if (MI->getNumOperands() == 5 &&
    7224           0 :         MI->getOperand(0).isReg() &&
    7225           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7226           0 :         MI->getOperand(1).isReg() &&
    7227           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7228           0 :         MI->getOperand(4).isImm() &&
    7229           0 :         MI->getOperand(4).getImm() == 3 &&
    7230             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7231             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 1 })
    7232             :       AsmString = "movul $\x02, $\x03, $\x01";
    7233             :       break;
    7234             :     }
    7235           0 :     if (MI->getNumOperands() == 5 &&
    7236           0 :         MI->getOperand(0).isReg() &&
    7237           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7238           0 :         MI->getOperand(1).isReg() &&
    7239           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7240           0 :         MI->getOperand(4).isImm() &&
    7241           0 :         MI->getOperand(4).getImm() == 2 &&
    7242             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7243             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 1, 0 })
    7244             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7245             :       break;
    7246             :     }
    7247           0 :     if (MI->getNumOperands() == 5 &&
    7248           0 :         MI->getOperand(0).isReg() &&
    7249           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7250           0 :         MI->getOperand(1).isReg() &&
    7251           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7252           0 :         MI->getOperand(4).isImm() &&
    7253           0 :         MI->getOperand(4).getImm() == 1 &&
    7254             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7255             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 0, 0, 0, 1 })
    7256             :       AsmString = "movne $\x02, $\x03, $\x01";
    7257             :       break;
    7258             :     }
    7259           0 :     if (MI->getNumOperands() == 5 &&
    7260           0 :         MI->getOperand(0).isReg() &&
    7261           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7262           0 :         MI->getOperand(1).isReg() &&
    7263           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7264           0 :         MI->getOperand(4).isImm() &&
    7265           0 :         MI->getOperand(4).getImm() == 9 &&
    7266             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7267             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 0, 1 })
    7268             :       AsmString = "move $\x02, $\x03, $\x01";
    7269             :       break;
    7270             :     }
    7271           0 :     if (MI->getNumOperands() == 5 &&
    7272           0 :         MI->getOperand(0).isReg() &&
    7273           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7274           0 :         MI->getOperand(1).isReg() &&
    7275           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7276           0 :         MI->getOperand(4).isImm() &&
    7277           0 :         MI->getOperand(4).getImm() == 10 &&
    7278             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7279             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 0 })
    7280             :       AsmString = "movue $\x02, $\x03, $\x01";
    7281             :       break;
    7282             :     }
    7283           0 :     if (MI->getNumOperands() == 5 &&
    7284           0 :         MI->getOperand(0).isReg() &&
    7285           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7286           0 :         MI->getOperand(1).isReg() &&
    7287           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7288           0 :         MI->getOperand(4).isImm() &&
    7289           0 :         MI->getOperand(4).getImm() == 11 &&
    7290             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7291             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 0, 1, 1 })
    7292             :       AsmString = "movge $\x02, $\x03, $\x01";
    7293             :       break;
    7294             :     }
    7295           0 :     if (MI->getNumOperands() == 5 &&
    7296           0 :         MI->getOperand(0).isReg() &&
    7297           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7298           0 :         MI->getOperand(1).isReg() &&
    7299           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7300           0 :         MI->getOperand(4).isImm() &&
    7301           0 :         MI->getOperand(4).getImm() == 12 &&
    7302             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7303             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 0 })
    7304             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7305             :       break;
    7306             :     }
    7307           0 :     if (MI->getNumOperands() == 5 &&
    7308           0 :         MI->getOperand(0).isReg() &&
    7309           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7310           0 :         MI->getOperand(1).isReg() &&
    7311           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7312           0 :         MI->getOperand(4).isImm() &&
    7313           0 :         MI->getOperand(4).getImm() == 13 &&
    7314             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7315             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 0, 1 })
    7316             :       AsmString = "movle $\x02, $\x03, $\x01";
    7317             :       break;
    7318             :     }
    7319           0 :     if (MI->getNumOperands() == 5 &&
    7320           0 :         MI->getOperand(0).isReg() &&
    7321           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7322           0 :         MI->getOperand(1).isReg() &&
    7323           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7324           0 :         MI->getOperand(4).isImm() &&
    7325           0 :         MI->getOperand(4).getImm() == 14 &&
    7326             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7327             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 0 })
    7328             :       AsmString = "movule $\x02, $\x03, $\x01";
    7329             :       break;
    7330             :     }
    7331           0 :     if (MI->getNumOperands() == 5 &&
    7332           0 :         MI->getOperand(0).isReg() &&
    7333           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7334           0 :         MI->getOperand(1).isReg() &&
    7335           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7336           0 :         MI->getOperand(4).isImm() &&
    7337           0 :         MI->getOperand(4).getImm() == 15 &&
    7338             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7339             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, { 1, 1, 1, 1 })
    7340             :       AsmString = "movo $\x02, $\x03, $\x01";
    7341             :       break;
    7342             :     }
    7343             :     return false;
    7344             :   case SP::V9MOVFCCrr:
    7345          15 :     if (MI->getNumOperands() == 5 &&
    7346          30 :         MI->getOperand(0).isReg() &&
    7347          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7348          30 :         MI->getOperand(1).isReg() &&
    7349          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7350          30 :         MI->getOperand(2).isReg() &&
    7351          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7352          15 :         MI->getOperand(4).isImm() &&
    7353          30 :         MI->getOperand(4).getImm() == 8 &&
    7354             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7355             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 0 })
    7356             :       AsmString = "mova $\x02, $\x03, $\x01";
    7357             :       break;
    7358             :     }
    7359          15 :     if (MI->getNumOperands() == 5 &&
    7360          30 :         MI->getOperand(0).isReg() &&
    7361          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7362          30 :         MI->getOperand(1).isReg() &&
    7363          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7364          30 :         MI->getOperand(2).isReg() &&
    7365          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7366          15 :         MI->getOperand(4).isImm() &&
    7367          30 :         MI->getOperand(4).getImm() == 0 &&
    7368             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7369             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 0 })
    7370             :       AsmString = "movn $\x02, $\x03, $\x01";
    7371             :       break;
    7372             :     }
    7373          15 :     if (MI->getNumOperands() == 5 &&
    7374          30 :         MI->getOperand(0).isReg() &&
    7375          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7376          30 :         MI->getOperand(1).isReg() &&
    7377          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7378          30 :         MI->getOperand(2).isReg() &&
    7379          15 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7380          15 :         MI->getOperand(4).isImm() &&
    7381          30 :         MI->getOperand(4).getImm() == 7 &&
    7382             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7383             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 1 })
    7384             :       AsmString = "movu $\x02, $\x03, $\x01";
    7385             :       break;
    7386             :     }
    7387          13 :     if (MI->getNumOperands() == 5 &&
    7388          26 :         MI->getOperand(0).isReg() &&
    7389          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7390          26 :         MI->getOperand(1).isReg() &&
    7391          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7392          26 :         MI->getOperand(2).isReg() &&
    7393          13 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7394          13 :         MI->getOperand(4).isImm() &&
    7395          26 :         MI->getOperand(4).getImm() == 6 &&
    7396             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7397             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 1, 0 })
    7398             :       AsmString = "movg $\x02, $\x03, $\x01";
    7399             :       break;
    7400             :     }
    7401          12 :     if (MI->getNumOperands() == 5 &&
    7402          24 :         MI->getOperand(0).isReg() &&
    7403          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7404          24 :         MI->getOperand(1).isReg() &&
    7405          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7406          24 :         MI->getOperand(2).isReg() &&
    7407          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7408          12 :         MI->getOperand(4).isImm() &&
    7409          24 :         MI->getOperand(4).getImm() == 5 &&
    7410             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7411             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 1 })
    7412             :       AsmString = "movug $\x02, $\x03, $\x01";
    7413             :       break;
    7414             :     }
    7415          11 :     if (MI->getNumOperands() == 5 &&
    7416          22 :         MI->getOperand(0).isReg() &&
    7417          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7418          22 :         MI->getOperand(1).isReg() &&
    7419          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7420          22 :         MI->getOperand(2).isReg() &&
    7421          11 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7422          11 :         MI->getOperand(4).isImm() &&
    7423          22 :         MI->getOperand(4).getImm() == 4 &&
    7424             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7425             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 1, 0, 0 })
    7426             :       AsmString = "movl $\x02, $\x03, $\x01";
    7427             :       break;
    7428             :     }
    7429          10 :     if (MI->getNumOperands() == 5 &&
    7430          20 :         MI->getOperand(0).isReg() &&
    7431          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7432          20 :         MI->getOperand(1).isReg() &&
    7433          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7434          20 :         MI->getOperand(2).isReg() &&
    7435          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7436          10 :         MI->getOperand(4).isImm() &&
    7437          20 :         MI->getOperand(4).getImm() == 3 &&
    7438             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7439             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 1 })
    7440             :       AsmString = "movul $\x02, $\x03, $\x01";
    7441             :       break;
    7442             :     }
    7443           9 :     if (MI->getNumOperands() == 5 &&
    7444          18 :         MI->getOperand(0).isReg() &&
    7445           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7446          18 :         MI->getOperand(1).isReg() &&
    7447           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7448          18 :         MI->getOperand(2).isReg() &&
    7449           9 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7450           9 :         MI->getOperand(4).isImm() &&
    7451          18 :         MI->getOperand(4).getImm() == 2 &&
    7452             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7453             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 1, 0 })
    7454             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7455             :       break;
    7456             :     }
    7457           8 :     if (MI->getNumOperands() == 5 &&
    7458          16 :         MI->getOperand(0).isReg() &&
    7459           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7460          16 :         MI->getOperand(1).isReg() &&
    7461           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7462          16 :         MI->getOperand(2).isReg() &&
    7463           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7464           8 :         MI->getOperand(4).isImm() &&
    7465          16 :         MI->getOperand(4).getImm() == 1 &&
    7466             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7467             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 0, 0, 0, 1 })
    7468             :       AsmString = "movne $\x02, $\x03, $\x01";
    7469             :       break;
    7470             :     }
    7471           7 :     if (MI->getNumOperands() == 5 &&
    7472          14 :         MI->getOperand(0).isReg() &&
    7473           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7474          14 :         MI->getOperand(1).isReg() &&
    7475           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7476          14 :         MI->getOperand(2).isReg() &&
    7477           7 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7478           7 :         MI->getOperand(4).isImm() &&
    7479          14 :         MI->getOperand(4).getImm() == 9 &&
    7480             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7481             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 0, 1 })
    7482             :       AsmString = "move $\x02, $\x03, $\x01";
    7483             :       break;
    7484             :     }
    7485           6 :     if (MI->getNumOperands() == 5 &&
    7486          12 :         MI->getOperand(0).isReg() &&
    7487           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7488          12 :         MI->getOperand(1).isReg() &&
    7489           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7490          12 :         MI->getOperand(2).isReg() &&
    7491           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7492           6 :         MI->getOperand(4).isImm() &&
    7493          12 :         MI->getOperand(4).getImm() == 10 &&
    7494             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7495             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 0 })
    7496             :       AsmString = "movue $\x02, $\x03, $\x01";
    7497             :       break;
    7498             :     }
    7499           5 :     if (MI->getNumOperands() == 5 &&
    7500          10 :         MI->getOperand(0).isReg() &&
    7501           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7502          10 :         MI->getOperand(1).isReg() &&
    7503           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7504          10 :         MI->getOperand(2).isReg() &&
    7505           5 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7506           5 :         MI->getOperand(4).isImm() &&
    7507          10 :         MI->getOperand(4).getImm() == 11 &&
    7508             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7509             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 0, 1, 1 })
    7510             :       AsmString = "movge $\x02, $\x03, $\x01";
    7511             :       break;
    7512             :     }
    7513           4 :     if (MI->getNumOperands() == 5 &&
    7514           8 :         MI->getOperand(0).isReg() &&
    7515           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7516           8 :         MI->getOperand(1).isReg() &&
    7517           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7518           8 :         MI->getOperand(2).isReg() &&
    7519           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7520           4 :         MI->getOperand(4).isImm() &&
    7521           8 :         MI->getOperand(4).getImm() == 12 &&
    7522             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7523             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 0 })
    7524             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7525             :       break;
    7526             :     }
    7527           3 :     if (MI->getNumOperands() == 5 &&
    7528           6 :         MI->getOperand(0).isReg() &&
    7529           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7530           6 :         MI->getOperand(1).isReg() &&
    7531           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7532           6 :         MI->getOperand(2).isReg() &&
    7533           3 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7534           3 :         MI->getOperand(4).isImm() &&
    7535           6 :         MI->getOperand(4).getImm() == 13 &&
    7536             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7537             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 0, 1 })
    7538             :       AsmString = "movle $\x02, $\x03, $\x01";
    7539             :       break;
    7540             :     }
    7541           2 :     if (MI->getNumOperands() == 5 &&
    7542           4 :         MI->getOperand(0).isReg() &&
    7543           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7544           4 :         MI->getOperand(1).isReg() &&
    7545           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7546           4 :         MI->getOperand(2).isReg() &&
    7547           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7548           2 :         MI->getOperand(4).isImm() &&
    7549           4 :         MI->getOperand(4).getImm() == 14 &&
    7550             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7551             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 0 })
    7552             :       AsmString = "movule $\x02, $\x03, $\x01";
    7553             :       break;
    7554             :     }
    7555           1 :     if (MI->getNumOperands() == 5 &&
    7556           2 :         MI->getOperand(0).isReg() &&
    7557           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7558           2 :         MI->getOperand(1).isReg() &&
    7559           1 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7560           2 :         MI->getOperand(2).isReg() &&
    7561           1 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7562           1 :         MI->getOperand(4).isImm() &&
    7563           2 :         MI->getOperand(4).getImm() == 15 &&
    7564             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7565             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, { 1, 1, 1, 1 })
    7566             :       AsmString = "movo $\x02, $\x03, $\x01";
    7567             :       break;
    7568             :     }
    7569             :     return false;
    7570             :   }
    7571             : 
    7572             :   unsigned I = 0;
    7573       11474 :   while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
    7574       24716 :          AsmString[I] != '$' && AsmString[I] != '\0')
    7575       10501 :     ++I;
    7576        2741 :   OS << '\t' << StringRef(AsmString, I);
    7577        2741 :   if (AsmString[I] != '\0') {
    7578        1768 :     if (AsmString[I] == ' ' || AsmString[I] == '\t') {
    7579             :       OS << '\t';
    7580        1768 :       ++I;
    7581             :     }
    7582             :     do {
    7583        8059 :       if (AsmString[I] == '$') {
    7584        3172 :         ++I;
    7585        3172 :         if (AsmString[I] == (char)0xff) {
    7586           0 :           ++I;
    7587           0 :           int OpIdx = AsmString[I++] - 1;
    7588           0 :           int PrintMethodIdx = AsmString[I++] - 1;
    7589           0 :           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
    7590             :         } else
    7591        3172 :           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
    7592             :       } else {
    7593        4887 :         OS << AsmString[I++];
    7594             :       }
    7595        8059 :     } while (AsmString[I] != '\0');
    7596             :   }
    7597             : 
    7598             :   return true;
    7599             : }
    7600             : 
    7601           0 : void SparcInstPrinter::printCustomAliasOperand(
    7602             :          const MCInst *MI, unsigned OpIdx,
    7603             :          unsigned PrintMethodIdx,
    7604             :          const MCSubtargetInfo &STI,
    7605             :          raw_ostream &OS) {
    7606           0 :   llvm_unreachable("Unknown PrintMethod kind");
    7607             : }
    7608             : 
    7609             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13