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: 2257 3907 57.8 %
Date: 2017-09-14 15:23:50 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        7948 : void SparcInstPrinter::printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O) {
      12             :   static const char AsmStrs[] = {
      13             :   /* 0 */ 'r', 'd', 32, '%', 'w', 'i', 'm', ',', 32, 0,
      14             :   /* 10 */ 'r', 'd', 32, '%', 't', 'b', 'r', ',', 32, 0,
      15             :   /* 20 */ 'r', 'd', 32, '%', 'p', 's', 'r', ',', 32, 0,
      16             :   /* 30 */ 'f', 's', 'r', 'c', '1', 32, 0,
      17             :   /* 37 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 32, 0,
      18             :   /* 47 */ 'f', 'n', 'o', 't', '1', 32, 0,
      19             :   /* 54 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 32, 0,
      20             :   /* 63 */ 'f', 's', 'r', 'a', '3', '2', 32, 0,
      21             :   /* 71 */ 'f', 'p', 's', 'u', 'b', '3', '2', 32, 0,
      22             :   /* 80 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 32, 0,
      23             :   /* 89 */ 'e', 'd', 'g', 'e', '3', '2', 32, 0,
      24             :   /* 97 */ 'f', 'c', 'm', 'p', 'l', 'e', '3', '2', 32, 0,
      25             :   /* 107 */ 'f', 'c', 'm', 'p', 'n', 'e', '3', '2', 32, 0,
      26             :   /* 117 */ 'f', 'p', 'a', 'c', 'k', '3', '2', 32, 0,
      27             :   /* 126 */ 'c', 'm', 'a', 's', 'k', '3', '2', 32, 0,
      28             :   /* 135 */ 'f', 's', 'l', 'l', '3', '2', 32, 0,
      29             :   /* 143 */ 'f', 's', 'r', 'l', '3', '2', 32, 0,
      30             :   /* 151 */ 'f', 'c', 'm', 'p', 'e', 'q', '3', '2', 32, 0,
      31             :   /* 161 */ 'f', 's', 'l', 'a', 's', '3', '2', 32, 0,
      32             :   /* 170 */ 'f', 'c', 'm', 'p', 'g', 't', '3', '2', 32, 0,
      33             :   /* 180 */ 'a', 'r', 'r', 'a', 'y', '3', '2', 32, 0,
      34             :   /* 189 */ 'f', 's', 'r', 'c', '2', 32, 0,
      35             :   /* 196 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 32, 0,
      36             :   /* 206 */ 'f', 'n', 'o', 't', '2', 32, 0,
      37             :   /* 213 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 32, 0,
      38             :   /* 222 */ 'f', 'p', 'a', 'd', 'd', '6', '4', 32, 0,
      39             :   /* 231 */ 'f', 's', 'r', 'a', '1', '6', 32, 0,
      40             :   /* 239 */ 'f', 'p', 's', 'u', 'b', '1', '6', 32, 0,
      41             :   /* 248 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 32, 0,
      42             :   /* 257 */ 'e', 'd', 'g', 'e', '1', '6', 32, 0,
      43             :   /* 265 */ 'f', 'c', 'm', 'p', 'l', 'e', '1', '6', 32, 0,
      44             :   /* 275 */ 'f', 'c', 'm', 'p', 'n', 'e', '1', '6', 32, 0,
      45             :   /* 285 */ 'f', 'p', 'a', 'c', 'k', '1', '6', 32, 0,
      46             :   /* 294 */ 'c', 'm', 'a', 's', 'k', '1', '6', 32, 0,
      47             :   /* 303 */ 'f', 's', 'l', 'l', '1', '6', 32, 0,
      48             :   /* 311 */ 'f', 's', 'r', 'l', '1', '6', 32, 0,
      49             :   /* 319 */ 'f', 'c', 'h', 'k', 's', 'm', '1', '6', 32, 0,
      50             :   /* 329 */ 'f', 'm', 'e', 'a', 'n', '1', '6', 32, 0,
      51             :   /* 338 */ 'f', 'c', 'm', 'p', 'e', 'q', '1', '6', 32, 0,
      52             :   /* 348 */ 'f', 's', 'l', 'a', 's', '1', '6', 32, 0,
      53             :   /* 357 */ 'f', 'c', 'm', 'p', 'g', 't', '1', '6', 32, 0,
      54             :   /* 367 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 32, 0,
      55             :   /* 377 */ 'f', 'm', 'u', 'l', 'd', '8', 'u', 'l', 'x', '1', '6', 32, 0,
      56             :   /* 390 */ 'f', 'm', 'u', 'l', '8', 'u', 'l', 'x', '1', '6', 32, 0,
      57             :   /* 402 */ 'f', 'm', 'u', 'l', 'd', '8', 's', 'u', 'x', '1', '6', 32, 0,
      58             :   /* 415 */ 'f', 'm', 'u', 'l', '8', 's', 'u', 'x', '1', '6', 32, 0,
      59             :   /* 427 */ 'a', 'r', 'r', 'a', 'y', '1', '6', 32, 0,
      60             :   /* 436 */ 'e', 'd', 'g', 'e', '8', 32, 0,
      61             :   /* 443 */ 'c', 'm', 'a', 's', 'k', '8', 32, 0,
      62             :   /* 451 */ 'a', 'r', 'r', 'a', 'y', '8', 32, 0,
      63             :   /* 459 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
      64             :   /* 478 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
      65             :   /* 495 */ 'f', 'p', 's', 'u', 'b', '3', '2', 'S', 32, 0,
      66             :   /* 505 */ 'f', 'p', 's', 'u', 'b', '1', '6', 'S', 32, 0,
      67             :   /* 515 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', 32, 0,
      68             :   /* 524 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', 32, 0,
      69             :   /* 533 */ 'b', 'r', 'g', 'z', ',', 'a', 32, 0,
      70             :   /* 541 */ 'b', 'r', 'l', 'z', ',', 'a', 32, 0,
      71             :   /* 549 */ 'b', 'r', 'n', 'z', ',', 'a', 32, 0,
      72             :   /* 557 */ 'b', 'r', 'z', ',', 'a', 32, 0,
      73             :   /* 564 */ 's', 't', 'b', 'a', 32, 0,
      74             :   /* 570 */ 's', 't', 'd', 'a', 32, 0,
      75             :   /* 576 */ 's', 't', 'h', 'a', 32, 0,
      76             :   /* 582 */ 's', 't', 'q', 'a', 32, 0,
      77             :   /* 588 */ 's', 'r', 'a', 32, 0,
      78             :   /* 593 */ 'f', 'a', 'l', 'i', 'g', 'n', 'd', 'a', 't', 'a', 32, 0,
      79             :   /* 605 */ 's', 't', 'a', 32, 0,
      80             :   /* 610 */ 's', 't', 'b', 32, 0,
      81             :   /* 615 */ 's', 'u', 'b', 32, 0,
      82             :   /* 620 */ 's', 'm', 'a', 'c', 32, 0,
      83             :   /* 626 */ 'u', 'm', 'a', 'c', 32, 0,
      84             :   /* 632 */ 't', 's', 'u', 'b', 'c', 'c', 32, 0,
      85             :   /* 640 */ 'a', 'd', 'd', 'x', 'c', 'c', 'c', 32, 0,
      86             :   /* 649 */ 't', 'a', 'd', 'd', 'c', 'c', 32, 0,
      87             :   /* 657 */ 'a', 'n', 'd', 'c', 'c', 32, 0,
      88             :   /* 664 */ 's', 'm', 'u', 'l', 'c', 'c', 32, 0,
      89             :   /* 672 */ 'u', 'm', 'u', 'l', 'c', 'c', 32, 0,
      90             :   /* 680 */ 'a', 'n', 'd', 'n', 'c', 'c', 32, 0,
      91             :   /* 688 */ 'o', 'r', 'n', 'c', 'c', 32, 0,
      92             :   /* 695 */ 'x', 'n', 'o', 'r', 'c', 'c', 32, 0,
      93             :   /* 703 */ 'x', 'o', 'r', 'c', 'c', 32, 0,
      94             :   /* 710 */ 'm', 'u', 'l', 's', 'c', 'c', 32, 0,
      95             :   /* 718 */ 's', 'd', 'i', 'v', 'c', 'c', 32, 0,
      96             :   /* 726 */ 'u', 'd', 'i', 'v', 'c', 'c', 32, 0,
      97             :   /* 734 */ 's', 'u', 'b', 'x', 'c', 'c', 32, 0,
      98             :   /* 742 */ 'a', 'd', 'd', 'x', 'c', 'c', 32, 0,
      99             :   /* 750 */ 'p', 'o', 'p', 'c', 32, 0,
     100             :   /* 756 */ 'a', 'd', 'd', 'x', 'c', 32, 0,
     101             :   /* 763 */ 'f', 's', 'u', 'b', 'd', 32, 0,
     102             :   /* 770 */ 'f', 'h', 's', 'u', 'b', 'd', 32, 0,
     103             :   /* 778 */ 'a', 'd', 'd', 32, 0,
     104             :   /* 783 */ 'f', 'a', 'd', 'd', 'd', 32, 0,
     105             :   /* 790 */ 'f', 'h', 'a', 'd', 'd', 'd', 32, 0,
     106             :   /* 798 */ 'f', 'n', 'h', 'a', 'd', 'd', 'd', 32, 0,
     107             :   /* 807 */ 'f', 'n', 'a', 'd', 'd', 'd', 32, 0,
     108             :   /* 815 */ 'f', 'c', 'm', 'p', 'e', 'd', 32, 0,
     109             :   /* 823 */ 'f', 'n', 'e', 'g', 'd', 32, 0,
     110             :   /* 830 */ 'f', 'm', 'u', 'l', 'd', 32, 0,
     111             :   /* 837 */ 'f', 's', 'm', 'u', 'l', 'd', 32, 0,
     112             :   /* 845 */ 'f', 'a', 'n', 'd', 32, 0,
     113             :   /* 851 */ 'f', 'n', 'a', 'n', 'd', 32, 0,
     114             :   /* 858 */ 'f', 'e', 'x', 'p', 'a', 'n', 'd', 32, 0,
     115             :   /* 867 */ 'f', 'i', 't', 'o', 'd', 32, 0,
     116             :   /* 874 */ 'f', 'q', 't', 'o', 'd', 32, 0,
     117             :   /* 881 */ 'f', 's', 't', 'o', 'd', 32, 0,
     118             :   /* 888 */ 'f', 'x', 't', 'o', 'd', 32, 0,
     119             :   /* 895 */ 'f', 'c', 'm', 'p', 'd', 32, 0,
     120             :   /* 902 */ 'f', 'l', 'c', 'm', 'p', 'd', 32, 0,
     121             :   /* 910 */ 'r', 'd', 32, 0,
     122             :   /* 914 */ 'f', 'a', 'b', 's', 'd', 32, 0,
     123             :   /* 921 */ 'f', 's', 'q', 'r', 't', 'd', 32, 0,
     124             :   /* 929 */ 's', 't', 'd', 32, 0,
     125             :   /* 934 */ 'f', 'd', 'i', 'v', 'd', 32, 0,
     126             :   /* 941 */ 'f', 'm', 'o', 'v', 'd', 32, 0,
     127             :   /* 948 */ 'f', 'p', 'm', 'e', 'r', 'g', 'e', 32, 0,
     128             :   /* 957 */ 'b', 's', 'h', 'u', 'f', 'f', 'l', 'e', 32, 0,
     129             :   /* 967 */ 'f', 'o', 'n', 'e', 32, 0,
     130             :   /* 973 */ 'r', 'e', 's', 't', 'o', 'r', 'e', 32, 0,
     131             :   /* 982 */ 's', 'a', 'v', 'e', 32, 0,
     132             :   /* 988 */ 'f', 'l', 'u', 's', 'h', 32, 0,
     133             :   /* 995 */ 's', 't', 'h', 32, 0,
     134             :   /* 1000 */ 's', 'e', 't', 'h', 'i', 32, 0,
     135             :   /* 1007 */ 'u', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
     136             :   /* 1016 */ 'x', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
     137             :   /* 1025 */ 'f', 'd', 't', 'o', 'i', 32, 0,
     138             :   /* 1032 */ 'f', 'q', 't', 'o', 'i', 32, 0,
     139             :   /* 1039 */ 'f', 's', 't', 'o', 'i', 32, 0,
     140             :   /* 1046 */ 'b', 'm', 'a', 's', 'k', 32, 0,
     141             :   /* 1053 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 32, 0,
     142             :   /* 1062 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 32, 0,
     143             :   /* 1071 */ 'e', 'd', 'g', 'e', '8', 'l', 32, 0,
     144             :   /* 1079 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'l', 32, 0,
     145             :   /* 1091 */ 'c', 'a', 'l', 'l', 32, 0,
     146             :   /* 1097 */ 's', 'l', 'l', 32, 0,
     147             :   /* 1102 */ 'j', 'm', 'p', 'l', 32, 0,
     148             :   /* 1108 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 'l', 32, 0,
     149             :   /* 1120 */ 's', 'r', 'l', 32, 0,
     150             :   /* 1125 */ 's', 'm', 'u', 'l', 32, 0,
     151             :   /* 1131 */ 'u', 'm', 'u', 'l', 32, 0,
     152             :   /* 1137 */ 'e', 'd', 'g', 'e', '3', '2', 'n', 32, 0,
     153             :   /* 1146 */ 'e', 'd', 'g', 'e', '1', '6', 'n', 32, 0,
     154             :   /* 1155 */ 'e', 'd', 'g', 'e', '8', 'n', 32, 0,
     155             :   /* 1163 */ 'a', 'n', 'd', 'n', 32, 0,
     156             :   /* 1169 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 'n', 32, 0,
     157             :   /* 1179 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 'n', 32, 0,
     158             :   /* 1189 */ 'e', 'd', 'g', 'e', '8', 'l', 'n', 32, 0,
     159             :   /* 1198 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     160             :   /* 1210 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     161             :   /* 1222 */ 'b', 'r', 'g', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     162             :   /* 1233 */ 'b', 'r', 'l', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     163             :   /* 1244 */ 'b', 'r', 'n', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     164             :   /* 1255 */ 'b', 'r', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
     165             :   /* 1265 */ 'b', 'r', 'g', 'e', 'z', ',', 'p', 'n', 32, 0,
     166             :   /* 1275 */ 'b', 'r', 'l', 'e', 'z', ',', 'p', 'n', 32, 0,
     167             :   /* 1285 */ 'b', 'r', 'g', 'z', ',', 'p', 'n', 32, 0,
     168             :   /* 1294 */ 'b', 'r', 'l', 'z', ',', 'p', 'n', 32, 0,
     169             :   /* 1303 */ 'b', 'r', 'n', 'z', ',', 'p', 'n', 32, 0,
     170             :   /* 1312 */ 'b', 'r', 'z', ',', 'p', 'n', 32, 0,
     171             :   /* 1320 */ 'o', 'r', 'n', 32, 0,
     172             :   /* 1325 */ 'p', 'd', 'i', 's', 't', 'n', 32, 0,
     173             :   /* 1333 */ 'f', 'z', 'e', 'r', 'o', 32, 0,
     174             :   /* 1340 */ 'c', 'm', 'p', 32, 0,
     175             :   /* 1345 */ 'u', 'n', 'i', 'm', 'p', 32, 0,
     176             :   /* 1352 */ 'j', 'm', 'p', 32, 0,
     177             :   /* 1357 */ 'f', 's', 'u', 'b', 'q', 32, 0,
     178             :   /* 1364 */ 'f', 'a', 'd', 'd', 'q', 32, 0,
     179             :   /* 1371 */ 'f', 'c', 'm', 'p', 'e', 'q', 32, 0,
     180             :   /* 1379 */ 'f', 'n', 'e', 'g', 'q', 32, 0,
     181             :   /* 1386 */ 'f', 'd', 'm', 'u', 'l', 'q', 32, 0,
     182             :   /* 1394 */ 'f', 'm', 'u', 'l', 'q', 32, 0,
     183             :   /* 1401 */ 'f', 'd', 't', 'o', 'q', 32, 0,
     184             :   /* 1408 */ 'f', 'i', 't', 'o', 'q', 32, 0,
     185             :   /* 1415 */ 'f', 's', 't', 'o', 'q', 32, 0,
     186             :   /* 1422 */ 'f', 'x', 't', 'o', 'q', 32, 0,
     187             :   /* 1429 */ 'f', 'c', 'm', 'p', 'q', 32, 0,
     188             :   /* 1436 */ 'f', 'a', 'b', 's', 'q', 32, 0,
     189             :   /* 1443 */ 'f', 's', 'q', 'r', 't', 'q', 32, 0,
     190             :   /* 1451 */ 's', 't', 'q', 32, 0,
     191             :   /* 1456 */ 'f', 'd', 'i', 'v', 'q', 32, 0,
     192             :   /* 1463 */ 'f', 'm', 'o', 'v', 'q', 32, 0,
     193             :   /* 1470 */ 'm', 'e', 'm', 'b', 'a', 'r', 32, 0,
     194             :   /* 1478 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 32, 0,
     195             :   /* 1489 */ 'f', 'o', 'r', 32, 0,
     196             :   /* 1494 */ 'f', 'n', 'o', 'r', 32, 0,
     197             :   /* 1500 */ 'f', 'x', 'n', 'o', 'r', 32, 0,
     198             :   /* 1507 */ 'f', 'x', 'o', 'r', 32, 0,
     199             :   /* 1513 */ 'r', 'd', 'p', 'r', 32, 0,
     200             :   /* 1519 */ 'w', 'r', 'p', 'r', 32, 0,
     201             :   /* 1525 */ 'w', 'r', 32, 0,
     202             :   /* 1529 */ 'f', 's', 'r', 'c', '1', 's', 32, 0,
     203             :   /* 1537 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 's', 32, 0,
     204             :   /* 1548 */ 'f', 'n', 'o', 't', '1', 's', 32, 0,
     205             :   /* 1556 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 's', 32, 0,
     206             :   /* 1566 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 's', 32, 0,
     207             :   /* 1576 */ 'f', 's', 'r', 'c', '2', 's', 32, 0,
     208             :   /* 1584 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 's', 32, 0,
     209             :   /* 1595 */ 'f', 'n', 'o', 't', '2', 's', 32, 0,
     210             :   /* 1603 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 's', 32, 0,
     211             :   /* 1613 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 's', 32, 0,
     212             :   /* 1623 */ 'f', 's', 'u', 'b', 's', 32, 0,
     213             :   /* 1630 */ 'f', 'h', 's', 'u', 'b', 's', 32, 0,
     214             :   /* 1638 */ 'f', 'a', 'd', 'd', 's', 32, 0,
     215             :   /* 1645 */ 'f', 'h', 'a', 'd', 'd', 's', 32, 0,
     216             :   /* 1653 */ 'f', 'n', 'h', 'a', 'd', 'd', 's', 32, 0,
     217             :   /* 1662 */ 'f', 'n', 'a', 'd', 'd', 's', 32, 0,
     218             :   /* 1670 */ 'f', 'a', 'n', 'd', 's', 32, 0,
     219             :   /* 1677 */ 'f', 'n', 'a', 'n', 'd', 's', 32, 0,
     220             :   /* 1685 */ 'f', 'o', 'n', 'e', 's', 32, 0,
     221             :   /* 1692 */ 'f', 'c', 'm', 'p', 'e', 's', 32, 0,
     222             :   /* 1700 */ 'f', 'n', 'e', 'g', 's', 32, 0,
     223             :   /* 1707 */ 'f', 'm', 'u', 'l', 's', 32, 0,
     224             :   /* 1714 */ 'f', 'z', 'e', 'r', 'o', 's', 32, 0,
     225             :   /* 1722 */ 'f', 'd', 't', 'o', 's', 32, 0,
     226             :   /* 1729 */ 'f', 'i', 't', 'o', 's', 32, 0,
     227             :   /* 1736 */ 'f', 'q', 't', 'o', 's', 32, 0,
     228             :   /* 1743 */ 'f', 'x', 't', 'o', 's', 32, 0,
     229             :   /* 1750 */ 'f', 'c', 'm', 'p', 's', 32, 0,
     230             :   /* 1757 */ 'f', 'l', 'c', 'm', 'p', 's', 32, 0,
     231             :   /* 1765 */ 'f', 'o', 'r', 's', 32, 0,
     232             :   /* 1771 */ 'f', 'n', 'o', 'r', 's', 32, 0,
     233             :   /* 1778 */ 'f', 'x', 'n', 'o', 'r', 's', 32, 0,
     234             :   /* 1786 */ 'f', 'x', 'o', 'r', 's', 32, 0,
     235             :   /* 1793 */ 'f', 'a', 'b', 's', 's', 32, 0,
     236             :   /* 1800 */ 'f', 's', 'q', 'r', 't', 's', 32, 0,
     237             :   /* 1808 */ 'f', 'd', 'i', 'v', 's', 32, 0,
     238             :   /* 1815 */ 'f', 'm', 'o', 'v', 's', 32, 0,
     239             :   /* 1822 */ 's', 'e', 't', 32, 0,
     240             :   /* 1827 */ 'l', 'z', 'c', 'n', 't', 32, 0,
     241             :   /* 1834 */ 'p', 'd', 'i', 's', 't', 32, 0,
     242             :   /* 1841 */ 'r', 'e', 't', 't', 32, 0,
     243             :   /* 1847 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'u', 32, 0,
     244             :   /* 1859 */ 's', 'd', 'i', 'v', 32, 0,
     245             :   /* 1865 */ 'u', 'd', 'i', 'v', 32, 0,
     246             :   /* 1871 */ 't', 's', 'u', 'b', 'c', 'c', 't', 'v', 32, 0,
     247             :   /* 1881 */ 't', 'a', 'd', 'd', 'c', 'c', 't', 'v', 32, 0,
     248             :   /* 1891 */ 'm', 'o', 'v', 's', 't', 'o', 's', 'w', 32, 0,
     249             :   /* 1901 */ 'm', 'o', 'v', 's', 't', 'o', 'u', 'w', 32, 0,
     250             :   /* 1911 */ 's', 'r', 'a', 'x', 32, 0,
     251             :   /* 1917 */ 's', 'u', 'b', 'x', 32, 0,
     252             :   /* 1923 */ 'a', 'd', 'd', 'x', 32, 0,
     253             :   /* 1929 */ 'f', 'p', 'a', 'c', 'k', 'f', 'i', 'x', 32, 0,
     254             :   /* 1939 */ 's', 'l', 'l', 'x', 32, 0,
     255             :   /* 1945 */ 's', 'r', 'l', 'x', 32, 0,
     256             :   /* 1951 */ 'x', 'm', 'u', 'l', 'x', 32, 0,
     257             :   /* 1958 */ 'f', 'd', 't', 'o', 'x', 32, 0,
     258             :   /* 1965 */ 'm', 'o', 'v', 'd', 't', 'o', 'x', 32, 0,
     259             :   /* 1974 */ 'f', 'q', 't', 'o', 'x', 32, 0,
     260             :   /* 1981 */ 'f', 's', 't', 'o', 'x', 32, 0,
     261             :   /* 1988 */ 's', 't', 'x', 32, 0,
     262             :   /* 1993 */ 's', 'd', 'i', 'v', 'x', 32, 0,
     263             :   /* 2000 */ 'u', 'd', 'i', 'v', 'x', 32, 0,
     264             :   /* 2007 */ 'f', 'm', 'o', 'v', 'r', 'd', 'z', 32, 0,
     265             :   /* 2016 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'e', 'z', 32, 0,
     266             :   /* 2027 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'e', 'z', 32, 0,
     267             :   /* 2038 */ 'b', 'r', 'g', 'e', 'z', 32, 0,
     268             :   /* 2045 */ 'm', 'o', 'v', 'r', 'g', 'e', 'z', 32, 0,
     269             :   /* 2054 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'e', 'z', 32, 0,
     270             :   /* 2065 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'e', 'z', 32, 0,
     271             :   /* 2076 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'e', 'z', 32, 0,
     272             :   /* 2087 */ 'b', 'r', 'l', 'e', 'z', 32, 0,
     273             :   /* 2094 */ 'm', 'o', 'v', 'r', 'l', 'e', 'z', 32, 0,
     274             :   /* 2103 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'e', 'z', 32, 0,
     275             :   /* 2114 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'z', 32, 0,
     276             :   /* 2124 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'z', 32, 0,
     277             :   /* 2134 */ 'b', 'r', 'g', 'z', 32, 0,
     278             :   /* 2140 */ 'm', 'o', 'v', 'r', 'g', 'z', 32, 0,
     279             :   /* 2148 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'z', 32, 0,
     280             :   /* 2158 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'z', 32, 0,
     281             :   /* 2168 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'z', 32, 0,
     282             :   /* 2178 */ 'b', 'r', 'l', 'z', 32, 0,
     283             :   /* 2184 */ 'm', 'o', 'v', 'r', 'l', 'z', 32, 0,
     284             :   /* 2192 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'z', 32, 0,
     285             :   /* 2202 */ 'f', 'm', 'o', 'v', 'r', 'd', 'n', 'z', 32, 0,
     286             :   /* 2212 */ 'f', 'm', 'o', 'v', 'r', 'q', 'n', 'z', 32, 0,
     287             :   /* 2222 */ 'b', 'r', 'n', 'z', 32, 0,
     288             :   /* 2228 */ 'm', 'o', 'v', 'r', 'n', 'z', 32, 0,
     289             :   /* 2236 */ 'f', 'm', 'o', 'v', 'r', 's', 'n', 'z', 32, 0,
     290             :   /* 2246 */ 'f', 'm', 'o', 'v', 'r', 'q', 'z', 32, 0,
     291             :   /* 2255 */ 'b', 'r', 'z', 32, 0,
     292             :   /* 2260 */ 'm', 'o', 'v', 'r', 'z', 32, 0,
     293             :   /* 2267 */ 'f', 'm', 'o', 'v', 'r', 's', 'z', 32, 0,
     294             :   /* 2276 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     295             :   /* 2304 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     296             :   /* 2332 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     297             :   /* 2359 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     298             :   /* 2387 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     299             :   /* 2415 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     300             :   /* 2443 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     301             :   /* 2470 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
     302             :   /* 2498 */ 'j', 'm', 'p', 32, '%', 'i', '7', '+', 0,
     303             :   /* 2507 */ 'j', 'm', 'p', 32, '%', 'o', '7', '+', 0,
     304             :   /* 2516 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0,
     305             :   /* 2547 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     306             :   /* 2572 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
     307             :   /* 2595 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
     308             :   /* 2618 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
     309             :   /* 2640 */ 'f', 'l', 'u', 's', 'h', 32, '%', 'g', '0', 0,
     310             :   /* 2650 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
     311             :   /* 2669 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
     312             :   /* 2687 */ 't', 'a', 32, '3', 0,
     313             :   /* 2692 */ 't', 'a', 32, '5', 0,
     314             :   /* 2697 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
     315             :   /* 2710 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
     316             :   /* 2717 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
     317             :   /* 2727 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
     318             :   /* 2742 */ 's', 't', 'd', 32, '%', 'c', 'q', ',', 32, '[', 0,
     319             :   /* 2753 */ 's', 't', 'd', 32, '%', 'f', 'q', ',', 32, '[', 0,
     320             :   /* 2764 */ 's', 't', 32, '%', 'c', 's', 'r', ',', 32, '[', 0,
     321             :   /* 2775 */ 's', 't', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     322             :   /* 2786 */ 's', 't', 'x', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
     323             :   /* 2798 */ 'l', 'd', 's', 'b', 'a', 32, '[', 0,
     324             :   /* 2806 */ 'l', 'd', 'u', 'b', 'a', 32, '[', 0,
     325             :   /* 2814 */ 'l', 'd', 's', 't', 'u', 'b', 'a', 32, '[', 0,
     326             :   /* 2824 */ 'l', 'd', 'd', 'a', 32, '[', 0,
     327             :   /* 2831 */ 'l', 'd', 'a', 32, '[', 0,
     328             :   /* 2837 */ 'l', 'd', 's', 'h', 'a', 32, '[', 0,
     329             :   /* 2845 */ 'l', 'd', 'u', 'h', 'a', 32, '[', 0,
     330             :   /* 2853 */ 's', 'w', 'a', 'p', 'a', 32, '[', 0,
     331             :   /* 2861 */ 'l', 'd', 'q', 'a', 32, '[', 0,
     332             :   /* 2868 */ 'c', 'a', 's', 'a', 32, '[', 0,
     333             :   /* 2875 */ 'l', 'd', 's', 'b', 32, '[', 0,
     334             :   /* 2882 */ 'l', 'd', 'u', 'b', 32, '[', 0,
     335             :   /* 2889 */ 'l', 'd', 's', 't', 'u', 'b', 32, '[', 0,
     336             :   /* 2898 */ 'l', 'd', 'd', 32, '[', 0,
     337             :   /* 2904 */ 'l', 'd', 32, '[', 0,
     338             :   /* 2909 */ 'l', 'd', 's', 'h', 32, '[', 0,
     339             :   /* 2916 */ 'l', 'd', 'u', 'h', 32, '[', 0,
     340             :   /* 2923 */ 's', 'w', 'a', 'p', 32, '[', 0,
     341             :   /* 2930 */ 'l', 'd', 'q', 32, '[', 0,
     342             :   /* 2936 */ 'c', 'a', 's', 32, '[', 0,
     343             :   /* 2942 */ 'l', 'd', 's', 'w', 32, '[', 0,
     344             :   /* 2949 */ 'l', 'd', 'x', 32, '[', 0,
     345             :   /* 2955 */ 'c', 'a', 's', 'x', 32, '[', 0,
     346             :   /* 2962 */ 'c', 'b', 0,
     347             :   /* 2965 */ 'f', 'b', 0,
     348             :   /* 2968 */ 'f', 'm', 'o', 'v', 'd', 0,
     349             :   /* 2974 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
     350             :   /* 2988 */ 's', 'i', 'a', 'm', 0,
     351             :   /* 2993 */ 's', 'h', 'u', 't', 'd', 'o', 'w', 'n', 0,
     352             :   /* 3002 */ 'n', 'o', 'p', 0,
     353             :   /* 3006 */ 'f', 'm', 'o', 'v', 'q', 0,
     354             :   /* 3012 */ 's', 't', 'b', 'a', 'r', 0,
     355             :   /* 3018 */ 'f', 'm', 'o', 'v', 's', 0,
     356             :   /* 3024 */ 't', 0,
     357             :   /* 3026 */ 'm', 'o', 'v', 0,
     358             :   /* 3030 */ 'f', 'l', 'u', 's', 'h', 'w', 0,
     359             :   };
     360             : 
     361             :   static const uint32_t OpInfo0[] = {
     362             :     0U, // PHI
     363             :     0U, // INLINEASM
     364             :     0U, // CFI_INSTRUCTION
     365             :     0U, // EH_LABEL
     366             :     0U, // GC_LABEL
     367             :     0U, // ANNOTATION_LABEL
     368             :     0U, // KILL
     369             :     0U, // EXTRACT_SUBREG
     370             :     0U, // INSERT_SUBREG
     371             :     0U, // IMPLICIT_DEF
     372             :     0U, // SUBREG_TO_REG
     373             :     0U, // COPY_TO_REGCLASS
     374             :     2718U,      // DBG_VALUE
     375             :     0U, // REG_SEQUENCE
     376             :     0U, // COPY
     377             :     2711U,      // BUNDLE
     378             :     2728U,      // LIFETIME_START
     379             :     2698U,      // LIFETIME_END
     380             :     0U, // STACKMAP
     381             :     2975U,      // FENTRY_CALL
     382             :     0U, // PATCHPOINT
     383             :     0U, // LOAD_STACK_GUARD
     384             :     0U, // STATEPOINT
     385             :     0U, // LOCAL_ESCAPE
     386             :     0U, // FAULTING_OP
     387             :     0U, // PATCHABLE_OP
     388             :     2573U,      // PATCHABLE_FUNCTION_ENTER
     389             :     2517U,      // PATCHABLE_RET
     390             :     2619U,      // PATCHABLE_FUNCTION_EXIT
     391             :     2596U,      // PATCHABLE_TAIL_CALL
     392             :     2548U,      // PATCHABLE_EVENT_CALL
     393             :     0U, // G_ADD
     394             :     0U, // G_SUB
     395             :     0U, // G_MUL
     396             :     0U, // G_SDIV
     397             :     0U, // G_UDIV
     398             :     0U, // G_SREM
     399             :     0U, // G_UREM
     400             :     0U, // G_AND
     401             :     0U, // G_OR
     402             :     0U, // G_XOR
     403             :     0U, // G_IMPLICIT_DEF
     404             :     0U, // G_PHI
     405             :     0U, // G_FRAME_INDEX
     406             :     0U, // G_GLOBAL_VALUE
     407             :     0U, // G_EXTRACT
     408             :     0U, // G_UNMERGE_VALUES
     409             :     0U, // G_INSERT
     410             :     0U, // G_MERGE_VALUES
     411             :     0U, // G_PTRTOINT
     412             :     0U, // G_INTTOPTR
     413             :     0U, // G_BITCAST
     414             :     0U, // G_LOAD
     415             :     0U, // G_STORE
     416             :     0U, // G_BRCOND
     417             :     0U, // G_BRINDIRECT
     418             :     0U, // G_INTRINSIC
     419             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     420             :     0U, // G_ANYEXT
     421             :     0U, // G_TRUNC
     422             :     0U, // G_CONSTANT
     423             :     0U, // G_FCONSTANT
     424             :     0U, // G_VASTART
     425             :     0U, // G_VAARG
     426             :     0U, // G_SEXT
     427             :     0U, // G_ZEXT
     428             :     0U, // G_SHL
     429             :     0U, // G_LSHR
     430             :     0U, // G_ASHR
     431             :     0U, // G_ICMP
     432             :     0U, // G_FCMP
     433             :     0U, // G_SELECT
     434             :     0U, // G_UADDE
     435             :     0U, // G_USUBE
     436             :     0U, // G_SADDO
     437             :     0U, // G_SSUBO
     438             :     0U, // G_UMULO
     439             :     0U, // G_SMULO
     440             :     0U, // G_UMULH
     441             :     0U, // G_SMULH
     442             :     0U, // G_FADD
     443             :     0U, // G_FSUB
     444             :     0U, // G_FMUL
     445             :     0U, // G_FMA
     446             :     0U, // G_FDIV
     447             :     0U, // G_FREM
     448             :     0U, // G_FPOW
     449             :     0U, // G_FEXP
     450             :     0U, // G_FEXP2
     451             :     0U, // G_FLOG
     452             :     0U, // G_FLOG2
     453             :     0U, // G_FNEG
     454             :     0U, // G_FPEXT
     455             :     0U, // G_FPTRUNC
     456             :     0U, // G_FPTOSI
     457             :     0U, // G_FPTOUI
     458             :     0U, // G_SITOFP
     459             :     0U, // G_UITOFP
     460             :     0U, // G_GEP
     461             :     0U, // G_PTR_MASK
     462             :     0U, // G_BR
     463             :     0U, // G_INSERT_VECTOR_ELT
     464             :     0U, // G_EXTRACT_VECTOR_ELT
     465             :     0U, // G_SHUFFLE_VECTOR
     466             :     4747U,      // ADDCCri
     467             :     4747U,      // ADDCCrr
     468             :     6020U,      // ADDCri
     469             :     6020U,      // ADDCrr
     470             :     4839U,      // ADDEri
     471             :     4839U,      // ADDErr
     472             :     4853U,      // ADDXC
     473             :     4737U,      // ADDXCCC
     474             :     4875U,      // ADDXri
     475             :     4875U,      // ADDXrr
     476             :     4875U,      // ADDri
     477             :     4875U,      // ADDrr
     478             :     2105804U,   // ADJCALLSTACKDOWN
     479             :     74207U,     // ADJCALLSTACKUP
     480             :     5575U,      // ALIGNADDR
     481             :     5205U,      // ALIGNADDRL
     482             :     4754U,      // ANDCCri
     483             :     4754U,      // ANDCCrr
     484             :     4777U,      // ANDNCCri
     485             :     4777U,      // ANDNCCrr
     486             :     5260U,      // ANDNri
     487             :     5260U,      // ANDNrr
     488             :     5260U,      // ANDXNrr
     489             :     4943U,      // ANDXri
     490             :     4943U,      // ANDXrr
     491             :     4943U,      // ANDri
     492             :     4943U,      // ANDrr
     493             :     4524U,      // ARRAY16
     494             :     4277U,      // ARRAY32
     495             :     4548U,      // ARRAY8
     496             :     74295U,     // BA
     497             :     4340628U,   // BCOND
     498             :     4406164U,   // BCONDA
     499             :     83273U,     // BINDri
     500             :     83273U,     // BINDrr
     501             :     5143U,      // BMASK
     502             :     146326U,    // BPFCC
     503             :     211862U,    // BPFCCA
     504             :     277398U,    // BPFCCANT
     505             :     342934U,    // BPFCCNT
     506             :     2106543U,   // BPGEZapn
     507             :     2105860U,   // BPGEZapt
     508             :     2106610U,   // BPGEZnapn
     509             :     2107383U,   // BPGEZnapt
     510             :     2106567U,   // BPGZapn
     511             :     2105878U,   // BPGZapt
     512             :     2106630U,   // BPGZnapn
     513             :     2107479U,   // BPGZnapt
     514             :     4602772U,   // BPICC
     515             :     474004U,    // BPICCA
     516             :     539540U,    // BPICCANT
     517             :     605076U,    // BPICCNT
     518             :     2106555U,   // BPLEZapn
     519             :     2105869U,   // BPLEZapt
     520             :     2106620U,   // BPLEZnapn
     521             :     2107432U,   // BPLEZnapt
     522             :     2106578U,   // BPLZapn
     523             :     2105886U,   // BPLZapt
     524             :     2106639U,   // BPLZnapn
     525             :     2107523U,   // BPLZnapt
     526             :     2106589U,   // BPNZapn
     527             :     2105894U,   // BPNZapt
     528             :     2106648U,   // BPNZnapn
     529             :     2107567U,   // BPNZnapt
     530             :     4864916U,   // BPXCC
     531             :     736148U,    // BPXCCA
     532             :     801684U,    // BPXCCANT
     533             :     867220U,    // BPXCCNT
     534             :     2106600U,   // BPZapn
     535             :     2105902U,   // BPZapt
     536             :     2106657U,   // BPZnapn
     537             :     2107600U,   // BPZnapt
     538             :     5054U,      // BSHUFFLE
     539             :     74820U,     // CALL
     540             :     83012U,     // CALLri
     541             :     83012U,     // CALLrr
     542             :     924469U,    // CASAasi10
     543             :     7281461U,   // CASArr
     544             :     1055628U,   // CASXrr
     545             :     1055609U,   // CASrr
     546             :     4340627U,   // CBCOND
     547             :     4406163U,   // CBCONDA
     548             :     74023U,     // CMASK16
     549             :     73855U,     // CMASK32
     550             :     74172U,     // CMASK8
     551             :     2106685U,   // CMPri
     552             :     2106685U,   // CMPrr
     553             :     4354U,      // EDGE16
     554             :     5159U,      // EDGE16L
     555             :     5276U,      // EDGE16LN
     556             :     5243U,      // EDGE16N
     557             :     4186U,      // EDGE32
     558             :     5150U,      // EDGE32L
     559             :     5266U,      // EDGE32LN
     560             :     5234U,      // EDGE32N
     561             :     4533U,      // EDGE8
     562             :     5168U,      // EDGE8L
     563             :     5286U,      // EDGE8LN
     564             :     5252U,      // EDGE8N
     565             :     2651U,      // EH_SJLJ_LONGJMP32ri
     566             :     2651U,      // EH_SJLJ_LONGJMP32rr
     567             :     2670U,      // EH_SJLJ_SETJMP32ri
     568             :     2670U,      // EH_SJLJ_SETJMP32rr
     569             :     4199315U,   // FABSD
     570             :     4199837U,   // FABSQ
     571             :     4200194U,   // FABSS
     572             :     4880U,      // FADDD
     573             :     5461U,      // FADDQ
     574             :     5735U,      // FADDS
     575             :     4690U,      // FALIGNADATA
     576             :     4942U,      // FAND
     577             :     4134U,      // FANDNOT1
     578             :     5634U,      // FANDNOT1S
     579             :     4293U,      // FANDNOT2
     580             :     5681U,      // FANDNOT2S
     581             :     5767U,      // FANDS
     582             :     4340630U,   // FBCOND
     583             :     4406166U,   // FBCONDA
     584             :     4416U,      // FCHKSM16
     585             :     2106240U,   // FCMPD
     586             :     4435U,      // FCMPEQ16
     587             :     4248U,      // FCMPEQ32
     588             :     4454U,      // FCMPGT16
     589             :     4267U,      // FCMPGT32
     590             :     4362U,      // FCMPLE16
     591             :     4194U,      // FCMPLE32
     592             :     4372U,      // FCMPNE16
     593             :     4204U,      // FCMPNE32
     594             :     2106774U,   // FCMPQ
     595             :     2107095U,   // FCMPS
     596             :     5031U,      // FDIVD
     597             :     5553U,      // FDIVQ
     598             :     5905U,      // FDIVS
     599             :     5483U,      // FDMULQ
     600             :     4199426U,   // FDTOI
     601             :     4199802U,   // FDTOQ
     602             :     4200123U,   // FDTOS
     603             :     4200359U,   // FDTOX
     604             :     4199259U,   // FEXPAND
     605             :     4887U,      // FHADDD
     606             :     5742U,      // FHADDS
     607             :     4867U,      // FHSUBD
     608             :     5727U,      // FHSUBS
     609             :     4199268U,   // FITOD
     610             :     4199809U,   // FITOQ
     611             :     4200130U,   // FITOS
     612             :     18883463U,  // FLCMPD
     613             :     18884318U,  // FLCMPS
     614             :     2641U,      // FLUSH
     615             :     3031U,      // FLUSHW
     616             :     82909U,     // FLUSHri
     617             :     82909U,     // FLUSHrr
     618             :     4426U,      // FMEAN16
     619             :     4199342U,   // FMOVD
     620             :     1137561U,   // FMOVD_FCC
     621             :     153508761U, // FMOVD_ICC
     622             :     153770905U, // FMOVD_XCC
     623             :     4199864U,   // FMOVQ
     624             :     1137599U,   // FMOVQ_FCC
     625             :     153508799U, // FMOVQ_ICC
     626             :     153770943U, // FMOVQ_XCC
     627             :     6113U,      // FMOVRGEZD
     628             :     6124U,      // FMOVRGEZQ
     629             :     6151U,      // FMOVRGEZS
     630             :     6211U,      // FMOVRGZD
     631             :     6221U,      // FMOVRGZQ
     632             :     6245U,      // FMOVRGZS
     633             :     6162U,      // FMOVRLEZD
     634             :     6173U,      // FMOVRLEZQ
     635             :     6200U,      // FMOVRLEZS
     636             :     6255U,      // FMOVRLZD
     637             :     6265U,      // FMOVRLZQ
     638             :     6289U,      // FMOVRLZS
     639             :     6299U,      // FMOVRNZD
     640             :     6309U,      // FMOVRNZQ
     641             :     6333U,      // FMOVRNZS
     642             :     6104U,      // FMOVRZD
     643             :     6343U,      // FMOVRZQ
     644             :     6364U,      // FMOVRZS
     645             :     4200216U,   // FMOVS
     646             :     1137611U,   // FMOVS_FCC
     647             :     153508811U, // FMOVS_ICC
     648             :     153770955U, // FMOVS_XCC
     649             :     4512U,      // FMUL8SUX16
     650             :     4487U,      // FMUL8ULX16
     651             :     4464U,      // FMUL8X16
     652             :     5176U,      // FMUL8X16AL
     653             :     5944U,      // FMUL8X16AU
     654             :     4927U,      // FMULD
     655             :     4499U,      // FMULD8SUX16
     656             :     4474U,      // FMULD8ULX16
     657             :     5491U,      // FMULQ
     658             :     5804U,      // FMULS
     659             :     4904U,      // FNADDD
     660             :     5759U,      // FNADDS
     661             :     4948U,      // FNAND
     662             :     5774U,      // FNANDS
     663             :     4199224U,   // FNEGD
     664             :     4199780U,   // FNEGQ
     665             :     4200101U,   // FNEGS
     666             :     4895U,      // FNHADDD
     667             :     5750U,      // FNHADDS
     668             :     4895U,      // FNMULD
     669             :     5750U,      // FNMULS
     670             :     5591U,      // FNOR
     671             :     5868U,      // FNORS
     672             :     4198448U,   // FNOT1
     673             :     4199949U,   // FNOT1S
     674             :     4198607U,   // FNOT2
     675             :     4199996U,   // FNOT2S
     676             :     5750U,      // FNSMULD
     677             :     74696U,     // FONE
     678             :     75414U,     // FONES
     679             :     5586U,      // FOR
     680             :     4151U,      // FORNOT1
     681             :     5653U,      // FORNOT1S
     682             :     4310U,      // FORNOT2
     683             :     5700U,      // FORNOT2S
     684             :     5862U,      // FORS
     685             :     4198686U,   // FPACK16
     686             :     4214U,      // FPACK32
     687             :     4200330U,   // FPACKFIX
     688             :     4345U,      // FPADD16
     689             :     5710U,      // FPADD16S
     690             :     4177U,      // FPADD32
     691             :     5663U,      // FPADD32S
     692             :     4319U,      // FPADD64
     693             :     5045U,      // FPMERGE
     694             :     4336U,      // FPSUB16
     695             :     4602U,      // FPSUB16S
     696             :     4168U,      // FPSUB32
     697             :     4592U,      // FPSUB32S
     698             :     4199275U,   // FQTOD
     699             :     4199433U,   // FQTOI
     700             :     4200137U,   // FQTOS
     701             :     4200375U,   // FQTOX
     702             :     4445U,      // FSLAS16
     703             :     4258U,      // FSLAS32
     704             :     4400U,      // FSLL16
     705             :     4232U,      // FSLL32
     706             :     4934U,      // FSMULD
     707             :     4199322U,   // FSQRTD
     708             :     4199844U,   // FSQRTQ
     709             :     4200201U,   // FSQRTS
     710             :     4328U,      // FSRA16
     711             :     4160U,      // FSRA32
     712             :     4198431U,   // FSRC1
     713             :     4199930U,   // FSRC1S
     714             :     4198590U,   // FSRC2
     715             :     4199977U,   // FSRC2S
     716             :     4408U,      // FSRL16
     717             :     4240U,      // FSRL32
     718             :     4199282U,   // FSTOD
     719             :     4199440U,   // FSTOI
     720             :     4199816U,   // FSTOQ
     721             :     4200382U,   // FSTOX
     722             :     4860U,      // FSUBD
     723             :     5454U,      // FSUBQ
     724             :     5720U,      // FSUBS
     725             :     5597U,      // FXNOR
     726             :     5875U,      // FXNORS
     727             :     5604U,      // FXOR
     728             :     5883U,      // FXORS
     729             :     4199289U,   // FXTOD
     730             :     4199823U,   // FXTOQ
     731             :     4200144U,   // FXTOS
     732             :     75062U,     // FZERO
     733             :     75443U,     // FZEROS
     734             :     24586U,     // GETPCX
     735             :     4224079U,   // JMPLri
     736             :     4224079U,   // JMPLrr
     737             :     160398096U, // LDArr
     738             :     1198937U,   // LDCSRri
     739             :     1198937U,   // LDCSRrr
     740             :     5274457U,   // LDCri
     741             :     5274457U,   // LDCrr
     742             :     160398089U, // LDDArr
     743             :     5274451U,   // LDDCri
     744             :     5274451U,   // LDDCrr
     745             :     160398089U, // LDDFArr
     746             :     5274451U,   // LDDFri
     747             :     5274451U,   // LDDFrr
     748             :     5274451U,   // LDDri
     749             :     5274451U,   // LDDrr
     750             :     160398096U, // LDFArr
     751             :     1264473U,   // LDFSRri
     752             :     1264473U,   // LDFSRrr
     753             :     5274457U,   // LDFri
     754             :     5274457U,   // LDFrr
     755             :     160398126U, // LDQFArr
     756             :     5274483U,   // LDQFri
     757             :     5274483U,   // LDQFrr
     758             :     160398063U, // LDSBArr
     759             :     5274428U,   // LDSBri
     760             :     5274428U,   // LDSBrr
     761             :     160398102U, // LDSHArr
     762             :     5274462U,   // LDSHri
     763             :     5274462U,   // LDSHrr
     764             :     160398079U, // LDSTUBArr
     765             :     5274442U,   // LDSTUBri
     766             :     5274442U,   // LDSTUBrr
     767             :     5274495U,   // LDSWri
     768             :     5274495U,   // LDSWrr
     769             :     160398071U, // LDUBArr
     770             :     5274435U,   // LDUBri
     771             :     5274435U,   // LDUBrr
     772             :     160398110U, // LDUHArr
     773             :     5274469U,   // LDUHri
     774             :     5274469U,   // LDUHrr
     775             :     1264518U,   // LDXFSRri
     776             :     1264518U,   // LDXFSRrr
     777             :     5274502U,   // LDXri
     778             :     5274502U,   // LDXrr
     779             :     5274457U,   // LDri
     780             :     5274457U,   // LDrr
     781             :     33547U,     // LEAX_ADDri
     782             :     33547U,     // LEA_ADDri
     783             :     4200228U,   // LZCNT
     784             :     75199U,     // MEMBARi
     785             :     4200366U,   // MOVDTOX
     786             :     1137619U,   // MOVFCCri
     787             :     1137619U,   // MOVFCCrr
     788             :     153508819U, // MOVICCri
     789             :     153508819U, // MOVICCrr
     790             :     6142U,      // MOVRGEZri
     791             :     6142U,      // MOVRGEZrr
     792             :     6237U,      // MOVRGZri
     793             :     6237U,      // MOVRGZrr
     794             :     6191U,      // MOVRLEZri
     795             :     6191U,      // MOVRLEZrr
     796             :     6281U,      // MOVRLZri
     797             :     6281U,      // MOVRLZrr
     798             :     6325U,      // MOVRNZri
     799             :     6325U,      // MOVRNZrr
     800             :     6357U,      // MOVRRZri
     801             :     6357U,      // MOVRRZrr
     802             :     4200292U,   // MOVSTOSW
     803             :     4200302U,   // MOVSTOUW
     804             :     4200366U,   // MOVWTOS
     805             :     153770963U, // MOVXCCri
     806             :     153770963U, // MOVXCCrr
     807             :     4200366U,   // MOVXTOD
     808             :     4807U,      // MULSCCri
     809             :     4807U,      // MULSCCrr
     810             :     6049U,      // MULXri
     811             :     6049U,      // MULXrr
     812             :     3003U,      // NOP
     813             :     4794U,      // ORCCri
     814             :     4794U,      // ORCCrr
     815             :     4785U,      // ORNCCri
     816             :     4785U,      // ORNCCrr
     817             :     5417U,      // ORNri
     818             :     5417U,      // ORNrr
     819             :     5417U,      // ORXNrr
     820             :     5587U,      // ORXri
     821             :     5587U,      // ORXrr
     822             :     5587U,      // ORri
     823             :     5587U,      // ORrr
     824             :     5931U,      // PDIST
     825             :     5422U,      // PDISTN
     826             :     4199151U,   // POPCrr
     827             :     4199311U,   // RDASR
     828             :     4199914U,   // RDPR
     829             :     73749U,     // RDPSR
     830             :     73739U,     // RDTBR
     831             :     73729U,     // RDWIM
     832             :     5070U,      // RESTOREri
     833             :     5070U,      // RESTORErr
     834             :     76227U,     // RET
     835             :     76236U,     // RETL
     836             :     83762U,     // RETTri
     837             :     83762U,     // RETTrr
     838             :     5079U,      // SAVEri
     839             :     5079U,      // SAVErr
     840             :     4815U,      // SDIVCCri
     841             :     4815U,      // SDIVCCrr
     842             :     6090U,      // SDIVXri
     843             :     6090U,      // SDIVXrr
     844             :     5956U,      // SDIVri
     845             :     5956U,      // SDIVrr
     846             :     2277U,      // SELECT_CC_DFP_FCC
     847             :     2388U,      // SELECT_CC_DFP_ICC
     848             :     2333U,      // SELECT_CC_FP_FCC
     849             :     2444U,      // SELECT_CC_FP_ICC
     850             :     2360U,      // SELECT_CC_Int_FCC
     851             :     2471U,      // SELECT_CC_Int_ICC
     852             :     2305U,      // SELECT_CC_QFP_FCC
     853             :     2416U,      // SELECT_CC_QFP_ICC
     854             :     4200223U,   // SET
     855             :     4199401U,   // SETHIXi
     856             :     4199401U,   // SETHIi
     857             :     2994U,      // SHUTDOWN
     858             :     2989U,      // SIAM
     859             :     6036U,      // SLLXri
     860             :     6036U,      // SLLXrr
     861             :     5194U,      // SLLri
     862             :     5194U,      // SLLrr
     863             :     4717U,      // SMACri
     864             :     4717U,      // SMACrr
     865             :     4761U,      // SMULCCri
     866             :     4761U,      // SMULCCrr
     867             :     5222U,      // SMULri
     868             :     5222U,      // SMULrr
     869             :     6008U,      // SRAXri
     870             :     6008U,      // SRAXrr
     871             :     4685U,      // SRAri
     872             :     4685U,      // SRArr
     873             :     6042U,      // SRLXri
     874             :     6042U,      // SRLXrr
     875             :     5217U,      // SRLri
     876             :     5217U,      // SRLrr
     877             :     9409118U,   // STArr
     878             :     3013U,      // STBAR
     879             :     9409077U,   // STBArr
     880             :     1348195U,   // STBri
     881             :     1348195U,   // STBrr
     882             :     1329869U,   // STCSRri
     883             :     1329869U,   // STCSRrr
     884             :     1349422U,   // STCri
     885             :     1349422U,   // STCrr
     886             :     9409083U,   // STDArr
     887             :     1329847U,   // STDCQri
     888             :     1329847U,   // STDCQrr
     889             :     1348514U,   // STDCri
     890             :     1348514U,   // STDCrr
     891             :     9409083U,   // STDFArr
     892             :     1329858U,   // STDFQri
     893             :     1329858U,   // STDFQrr
     894             :     1348514U,   // STDFri
     895             :     1348514U,   // STDFrr
     896             :     1348514U,   // STDri
     897             :     1348514U,   // STDrr
     898             :     9409118U,   // STFArr
     899             :     1329880U,   // STFSRri
     900             :     1329880U,   // STFSRrr
     901             :     1349422U,   // STFri
     902             :     1349422U,   // STFrr
     903             :     9409089U,   // STHArr
     904             :     1348580U,   // STHri
     905             :     1348580U,   // STHrr
     906             :     9409095U,   // STQFArr
     907             :     1349036U,   // STQFri
     908             :     1349036U,   // STQFrr
     909             :     1329891U,   // STXFSRri
     910             :     1329891U,   // STXFSRrr
     911             :     1349573U,   // STXri
     912             :     1349573U,   // STXrr
     913             :     1349422U,   // STri
     914             :     1349422U,   // STrr
     915             :     4730U,      // SUBCCri
     916             :     4730U,      // SUBCCrr
     917             :     6014U,      // SUBCri
     918             :     6014U,      // SUBCrr
     919             :     4831U,      // SUBEri
     920             :     4831U,      // SUBErr
     921             :     4712U,      // SUBXri
     922             :     4712U,      // SUBXrr
     923             :     4712U,      // SUBri
     924             :     4712U,      // SUBrr
     925             :     160398118U, // SWAPArr
     926             :     5274476U,   // SWAPri
     927             :     5274476U,   // SWAPrr
     928             :     2688U,      // TA3
     929             :     2693U,      // TA5
     930             :     5978U,      // TADDCCTVri
     931             :     5978U,      // TADDCCTVrr
     932             :     4746U,      // TADDCCri
     933             :     4746U,      // TADDCCrr
     934             :     38185937U,  // TICCri
     935             :     38185937U,  // TICCrr
     936             :     285217547U, // TLS_ADDXrr
     937             :     285217547U, // TLS_ADDrr
     938             :     2106436U,   // TLS_CALL
     939             :     290487174U, // TLS_LDXrr
     940             :     290487129U, // TLS_LDrr
     941             :     37923793U,  // TRAPri
     942             :     37923793U,  // TRAPrr
     943             :     5968U,      // TSUBCCTVri
     944             :     5968U,      // TSUBCCTVrr
     945             :     4729U,      // TSUBCCri
     946             :     4729U,      // TSUBCCrr
     947             :     38448081U,  // TXCCri
     948             :     38448081U,  // TXCCrr
     949             :     4823U,      // UDIVCCri
     950             :     4823U,      // UDIVCCrr
     951             :     6097U,      // UDIVXri
     952             :     6097U,      // UDIVXrr
     953             :     5962U,      // UDIVri
     954             :     5962U,      // UDIVrr
     955             :     4723U,      // UMACri
     956             :     4723U,      // UMACrr
     957             :     4769U,      // UMULCCri
     958             :     4769U,      // UMULCCrr
     959             :     5104U,      // UMULXHI
     960             :     5228U,      // UMULri
     961             :     5228U,      // UMULrr
     962             :     75074U,     // UNIMP
     963             :     18883456U,  // V9FCMPD
     964             :     18883376U,  // V9FCMPED
     965             :     18883932U,  // V9FCMPEQ
     966             :     18884253U,  // V9FCMPES
     967             :     18883990U,  // V9FCMPQ
     968             :     18884311U,  // V9FCMPS
     969             :     48025U,     // V9FMOVD_FCC
     970             :     48063U,     // V9FMOVQ_FCC
     971             :     48075U,     // V9FMOVS_FCC
     972             :     48083U,     // V9MOVFCCri
     973             :     48083U,     // V9MOVFCCrr
     974             :     5622U,      // WRASRri
     975             :     5622U,      // WRASRrr
     976             :     5616U,      // WRPRri
     977             :     5616U,      // WRPRrr
     978             :     52438518U,  // WRPSRri
     979             :     52438518U,  // WRPSRrr
     980             :     69215734U,  // WRTBRri
     981             :     69215734U,  // WRTBRrr
     982             :     85992950U,  // WRWIMri
     983             :     85992950U,  // WRWIMrr
     984             :     6048U,      // XMULX
     985             :     5113U,      // XMULXHI
     986             :     4792U,      // XNORCCri
     987             :     4792U,      // XNORCCrr
     988             :     5598U,      // XNORXrr
     989             :     5598U,      // XNORri
     990             :     5598U,      // XNORrr
     991             :     4800U,      // XORCCri
     992             :     4800U,      // XORCCrr
     993             :     5605U,      // XORXri
     994             :     5605U,      // XORXrr
     995             :     5605U,      // XORri
     996             :     5605U,      // XORrr
     997             :   };
     998             : 
     999        7948 :   O << "\t";
    1000             : 
    1001             :   // Emit the opcode for the instruction.
    1002        7948 :   uint32_t Bits = 0;
    1003        7948 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
    1004             :   assert(Bits != 0 && "Cannot print this instruction.");
    1005        7948 :   O << AsmStrs+(Bits & 4095)-1;
    1006             : 
    1007             : 
    1008             :   // Fragment 0 encoded into 4 bits for 12 unique commands.
    1009        7948 :   switch ((Bits >> 12) & 15) {
    1010           0 :   default: llvm_unreachable("Invalid command number.");
    1011             :   case 0:
    1012             :     // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CALL, PATCHABL...
    1013             :     return;
    1014             :     break;
    1015        3110 :   case 1:
    1016             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1017        3110 :     printOperand(MI, 1, STI, O);
    1018        3110 :     break;
    1019         775 :   case 2:
    1020             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
    1021         775 :     printOperand(MI, 0, STI, O);
    1022         775 :     break;
    1023         369 :   case 3:
    1024             :     // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
    1025         369 :     printCCOperand(MI, 1, STI, O);
    1026         369 :     break;
    1027          56 :   case 4:
    1028             :     // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
    1029          56 :     printMemOperand(MI, 0, STI, O);
    1030          56 :     break;
    1031         107 :   case 5:
    1032             :     // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
    1033         107 :     printCCOperand(MI, 3, STI, O);
    1034         107 :     break;
    1035           0 :   case 6:
    1036             :     // GETPCX
    1037           0 :     printGetPCX(MI, 0, STI, O);
    1038           0 :     return;
    1039             :     break;
    1040        1277 :   case 7:
    1041             :     // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
    1042        1277 :     printMemOperand(MI, 1, STI, O);
    1043        1277 :     break;
    1044         123 :   case 8:
    1045             :     // LEAX_ADDri, LEA_ADDri
    1046         123 :     printMemOperand(MI, 1, STI, O, "arith");
    1047         123 :     O << ", ";
    1048         123 :     printOperand(MI, 0, STI, O);
    1049         123 :     return;
    1050             :     break;
    1051        1539 :   case 9:
    1052             :     // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
    1053        1539 :     printOperand(MI, 2, STI, O);
    1054        1539 :     O << ", [";
    1055        1539 :     printMemOperand(MI, 0, STI, O);
    1056        1539 :     break;
    1057           0 :   case 10:
    1058             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1059           0 :     printCCOperand(MI, 2, STI, O);
    1060           0 :     break;
    1061          30 :   case 11:
    1062             :     // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
    1063          30 :     printCCOperand(MI, 4, STI, O);
    1064          30 :     O << ' ';
    1065          30 :     printOperand(MI, 1, STI, O);
    1066          30 :     O << ", ";
    1067          30 :     printOperand(MI, 2, STI, O);
    1068          30 :     O << ", ";
    1069          30 :     printOperand(MI, 0, STI, O);
    1070          30 :     return;
    1071             :     break;
    1072             :   }
    1073             : 
    1074             : 
    1075             :   // Fragment 1 encoded into 5 bits for 21 unique commands.
    1076        7233 :   switch ((Bits >> 16) & 31) {
    1077           0 :   default: llvm_unreachable("Invalid command number.");
    1078        3356 :   case 0:
    1079             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1080        3356 :     O << ", ";
    1081        3356 :     break;
    1082             :   case 1:
    1083             :     // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
    1084             :     return;
    1085             :     break;
    1086         157 :   case 2:
    1087             :     // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
    1088             :     O << ' ';
    1089             :     break;
    1090         115 :   case 3:
    1091             :     // BCONDA, BPFCCA, CBCONDA, FBCONDA
    1092         115 :     O << ",a ";
    1093         115 :     break;
    1094           0 :   case 4:
    1095             :     // BPFCCANT
    1096           0 :     O << ",a,pn ";
    1097           0 :     printOperand(MI, 2, STI, O);
    1098           0 :     O << ", ";
    1099           0 :     printOperand(MI, 0, STI, O);
    1100           0 :     return;
    1101             :     break;
    1102           0 :   case 5:
    1103             :     // BPFCCNT
    1104           0 :     O << ",pn ";
    1105           0 :     printOperand(MI, 2, STI, O);
    1106           0 :     O << ", ";
    1107           0 :     printOperand(MI, 0, STI, O);
    1108           0 :     return;
    1109             :     break;
    1110          64 :   case 6:
    1111             :     // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
    1112          64 :     O << " %icc, ";
    1113          64 :     break;
    1114          25 :   case 7:
    1115             :     // BPICCA
    1116          25 :     O << ",a %icc, ";
    1117          25 :     printOperand(MI, 0, STI, O);
    1118          25 :     return;
    1119             :     break;
    1120           0 :   case 8:
    1121             :     // BPICCANT
    1122           0 :     O << ",a,pn %icc, ";
    1123           0 :     printOperand(MI, 0, STI, O);
    1124           0 :     return;
    1125             :     break;
    1126           0 :   case 9:
    1127             :     // BPICCNT
    1128           0 :     O << ",pn %icc, ";
    1129           0 :     printOperand(MI, 0, STI, O);
    1130           0 :     return;
    1131             :     break;
    1132          77 :   case 10:
    1133             :     // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
    1134          77 :     O << " %xcc, ";
    1135          77 :     break;
    1136          25 :   case 11:
    1137             :     // BPXCCA
    1138          25 :     O << ",a %xcc, ";
    1139          25 :     printOperand(MI, 0, STI, O);
    1140          25 :     return;
    1141             :     break;
    1142           0 :   case 12:
    1143             :     // BPXCCANT
    1144           0 :     O << ",a,pn %xcc, ";
    1145           0 :     printOperand(MI, 0, STI, O);
    1146           0 :     return;
    1147             :     break;
    1148           0 :   case 13:
    1149             :     // BPXCCNT
    1150           0 :     O << ",pn %xcc, ";
    1151           0 :     printOperand(MI, 0, STI, O);
    1152           0 :     return;
    1153             :     break;
    1154           5 :   case 14:
    1155             :     // CASAasi10
    1156           5 :     O << "] 10, ";
    1157           5 :     printOperand(MI, 2, STI, O);
    1158           5 :     O << ", ";
    1159           5 :     printOperand(MI, 0, STI, O);
    1160           5 :     return;
    1161             :     break;
    1162          45 :   case 15:
    1163             :     // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
    1164          45 :     O << "] ";
    1165          45 :     break;
    1166        1263 :   case 16:
    1167             :     // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
    1168        1263 :     O << "], ";
    1169        1263 :     break;
    1170          13 :   case 17:
    1171             :     // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
    1172          13 :     O << " %fcc0, ";
    1173          13 :     printOperand(MI, 1, STI, O);
    1174          13 :     O << ", ";
    1175          13 :     printOperand(MI, 0, STI, O);
    1176          13 :     return;
    1177             :     break;
    1178           3 :   case 18:
    1179             :     // LDCSRri, LDCSRrr
    1180           3 :     O << "], %csr";
    1181           3 :     return;
    1182             :     break;
    1183           6 :   case 19:
    1184             :     // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
    1185           6 :     O << "], %fsr";
    1186           6 :     return;
    1187             :     break;
    1188        1549 :   case 20:
    1189             :     // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
    1190             :     O << ']';
    1191             :     return;
    1192             :     break;
    1193             :   }
    1194             : 
    1195             : 
    1196             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
    1197        5077 :   switch ((Bits >> 21) & 7) {
    1198           0 :   default: llvm_unreachable("Invalid command number.");
    1199        2443 :   case 0:
    1200             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1201        2443 :     printOperand(MI, 2, STI, O);
    1202        2443 :     O << ", ";
    1203        2443 :     printOperand(MI, 0, STI, O);
    1204        2443 :     break;
    1205         365 :   case 1:
    1206             :     // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
    1207         365 :     printOperand(MI, 1, STI, O);
    1208         365 :     break;
    1209        2224 :   case 2:
    1210             :     // BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS, FBC...
    1211        2224 :     printOperand(MI, 0, STI, O);
    1212        2224 :     break;
    1213          10 :   case 3:
    1214             :     // CASArr
    1215          10 :     printOperand(MI, 4, STI, O);
    1216          10 :     O << ", ";
    1217          10 :     printOperand(MI, 2, STI, O);
    1218          10 :     O << ", ";
    1219          10 :     printOperand(MI, 0, STI, O);
    1220          10 :     return;
    1221             :     break;
    1222          35 :   case 4:
    1223             :     // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
    1224          35 :     printOperand(MI, 3, STI, O);
    1225          35 :     break;
    1226             :   }
    1227             : 
    1228             : 
    1229             :   // Fragment 3 encoded into 3 bits for 6 unique commands.
    1230        5067 :   switch ((Bits >> 24) & 7) {
    1231           0 :   default: llvm_unreachable("Invalid command number.");
    1232             :   case 0:
    1233             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1234             :     return;
    1235             :     break;
    1236         134 :   case 1:
    1237             :     // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
    1238         134 :     O << ", ";
    1239             :     break;
    1240           0 :   case 2:
    1241             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1242           0 :     O << " + ";
    1243           0 :     printOperand(MI, 1, STI, O);
    1244           0 :     return;
    1245             :     break;
    1246          19 :   case 3:
    1247             :     // WRPSRri, WRPSRrr
    1248          19 :     O << ", %psr";
    1249          19 :     return;
    1250             :     break;
    1251          19 :   case 4:
    1252             :     // WRTBRri, WRTBRrr
    1253          19 :     O << ", %tbr";
    1254          19 :     return;
    1255             :     break;
    1256          19 :   case 5:
    1257             :     // WRWIMri, WRWIMrr
    1258          19 :     O << ", %wim";
    1259          19 :     return;
    1260             :     break;
    1261             :   }
    1262             : 
    1263             : 
    1264             :   // Fragment 4 encoded into 2 bits for 3 unique commands.
    1265         134 :   switch ((Bits >> 27) & 3) {
    1266           0 :   default: llvm_unreachable("Invalid command number.");
    1267           6 :   case 0:
    1268             :     // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
    1269           6 :     printOperand(MI, 2, STI, O);
    1270           6 :     return;
    1271             :     break;
    1272         118 :   case 1:
    1273             :     // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
    1274         118 :     printOperand(MI, 0, STI, O);
    1275         118 :     return;
    1276             :     break;
    1277          10 :   case 2:
    1278             :     // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
    1279          10 :     printOperand(MI, 3, STI, O);
    1280          10 :     return;
    1281             :     break;
    1282             :   }
    1283             : 
    1284             : }
    1285             : 
    1286             : 
    1287             : /// getRegisterName - This method is automatically generated by tblgen
    1288             : /// from the register set description.  This returns the assembler name
    1289             : /// for the specified register.
    1290       16063 : const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
    1291             :   assert(RegNo && RegNo < 236 && "Invalid register number!");
    1292             : 
    1293             :   static const char AsmStrs[] = {
    1294             :   /* 0 */ 'C', '1', '0', 0,
    1295             :   /* 4 */ 'F', '1', '0', 0,
    1296             :   /* 8 */ 'A', 'S', 'R', '1', '0', 0,
    1297             :   /* 14 */ 'C', '2', '0', 0,
    1298             :   /* 18 */ 'F', '2', '0', 0,
    1299             :   /* 22 */ 'A', 'S', 'R', '2', '0', 0,
    1300             :   /* 28 */ 'C', '3', '0', 0,
    1301             :   /* 32 */ 'F', '3', '0', 0,
    1302             :   /* 36 */ 'A', 'S', 'R', '3', '0', 0,
    1303             :   /* 42 */ 'F', '4', '0', 0,
    1304             :   /* 46 */ 'F', '5', '0', 0,
    1305             :   /* 50 */ 'F', '6', '0', 0,
    1306             :   /* 54 */ 'F', 'C', 'C', '0', 0,
    1307             :   /* 59 */ 'F', '0', 0,
    1308             :   /* 62 */ 'G', '0', 0,
    1309             :   /* 65 */ 'I', '0', 0,
    1310             :   /* 68 */ 'L', '0', 0,
    1311             :   /* 71 */ 'O', '0', 0,
    1312             :   /* 74 */ 'C', '1', '1', 0,
    1313             :   /* 78 */ 'F', '1', '1', 0,
    1314             :   /* 82 */ 'A', 'S', 'R', '1', '1', 0,
    1315             :   /* 88 */ 'C', '2', '1', 0,
    1316             :   /* 92 */ 'F', '2', '1', 0,
    1317             :   /* 96 */ 'A', 'S', 'R', '2', '1', 0,
    1318             :   /* 102 */ 'C', '3', '1', 0,
    1319             :   /* 106 */ 'F', '3', '1', 0,
    1320             :   /* 110 */ 'A', 'S', 'R', '3', '1', 0,
    1321             :   /* 116 */ 'F', 'C', 'C', '1', 0,
    1322             :   /* 121 */ 'F', '1', 0,
    1323             :   /* 124 */ 'G', '1', 0,
    1324             :   /* 127 */ 'I', '1', 0,
    1325             :   /* 130 */ 'L', '1', 0,
    1326             :   /* 133 */ 'O', '1', 0,
    1327             :   /* 136 */ 'A', 'S', 'R', '1', 0,
    1328             :   /* 141 */ 'C', '1', '2', 0,
    1329             :   /* 145 */ 'F', '1', '2', 0,
    1330             :   /* 149 */ 'A', 'S', 'R', '1', '2', 0,
    1331             :   /* 155 */ 'C', '2', '2', 0,
    1332             :   /* 159 */ 'F', '2', '2', 0,
    1333             :   /* 163 */ 'A', 'S', 'R', '2', '2', 0,
    1334             :   /* 169 */ 'F', '3', '2', 0,
    1335             :   /* 173 */ 'F', '4', '2', 0,
    1336             :   /* 177 */ 'F', '5', '2', 0,
    1337             :   /* 181 */ 'F', '6', '2', 0,
    1338             :   /* 185 */ 'F', 'C', 'C', '2', 0,
    1339             :   /* 190 */ 'F', '2', 0,
    1340             :   /* 193 */ 'G', '2', 0,
    1341             :   /* 196 */ 'I', '2', 0,
    1342             :   /* 199 */ 'L', '2', 0,
    1343             :   /* 202 */ 'O', '2', 0,
    1344             :   /* 205 */ 'A', 'S', 'R', '2', 0,
    1345             :   /* 210 */ 'C', '1', '3', 0,
    1346             :   /* 214 */ 'F', '1', '3', 0,
    1347             :   /* 218 */ 'A', 'S', 'R', '1', '3', 0,
    1348             :   /* 224 */ 'C', '2', '3', 0,
    1349             :   /* 228 */ 'F', '2', '3', 0,
    1350             :   /* 232 */ 'A', 'S', 'R', '2', '3', 0,
    1351             :   /* 238 */ 'F', 'C', 'C', '3', 0,
    1352             :   /* 243 */ 'F', '3', 0,
    1353             :   /* 246 */ 'G', '3', 0,
    1354             :   /* 249 */ 'I', '3', 0,
    1355             :   /* 252 */ 'L', '3', 0,
    1356             :   /* 255 */ 'O', '3', 0,
    1357             :   /* 258 */ 'A', 'S', 'R', '3', 0,
    1358             :   /* 263 */ 'C', '1', '4', 0,
    1359             :   /* 267 */ 'F', '1', '4', 0,
    1360             :   /* 271 */ 'A', 'S', 'R', '1', '4', 0,
    1361             :   /* 277 */ 'C', '2', '4', 0,
    1362             :   /* 281 */ 'F', '2', '4', 0,
    1363             :   /* 285 */ 'A', 'S', 'R', '2', '4', 0,
    1364             :   /* 291 */ 'F', '3', '4', 0,
    1365             :   /* 295 */ 'F', '4', '4', 0,
    1366             :   /* 299 */ 'F', '5', '4', 0,
    1367             :   /* 303 */ 'C', '4', 0,
    1368             :   /* 306 */ 'F', '4', 0,
    1369             :   /* 309 */ 'G', '4', 0,
    1370             :   /* 312 */ 'I', '4', 0,
    1371             :   /* 315 */ 'L', '4', 0,
    1372             :   /* 318 */ 'O', '4', 0,
    1373             :   /* 321 */ 'A', 'S', 'R', '4', 0,
    1374             :   /* 326 */ 'C', '1', '5', 0,
    1375             :   /* 330 */ 'F', '1', '5', 0,
    1376             :   /* 334 */ 'A', 'S', 'R', '1', '5', 0,
    1377             :   /* 340 */ 'C', '2', '5', 0,
    1378             :   /* 344 */ 'F', '2', '5', 0,
    1379             :   /* 348 */ 'A', 'S', 'R', '2', '5', 0,
    1380             :   /* 354 */ 'C', '5', 0,
    1381             :   /* 357 */ 'F', '5', 0,
    1382             :   /* 360 */ 'G', '5', 0,
    1383             :   /* 363 */ 'I', '5', 0,
    1384             :   /* 366 */ 'L', '5', 0,
    1385             :   /* 369 */ 'O', '5', 0,
    1386             :   /* 372 */ 'A', 'S', 'R', '5', 0,
    1387             :   /* 377 */ 'C', '1', '6', 0,
    1388             :   /* 381 */ 'F', '1', '6', 0,
    1389             :   /* 385 */ 'A', 'S', 'R', '1', '6', 0,
    1390             :   /* 391 */ 'C', '2', '6', 0,
    1391             :   /* 395 */ 'F', '2', '6', 0,
    1392             :   /* 399 */ 'A', 'S', 'R', '2', '6', 0,
    1393             :   /* 405 */ 'F', '3', '6', 0,
    1394             :   /* 409 */ 'F', '4', '6', 0,
    1395             :   /* 413 */ 'F', '5', '6', 0,
    1396             :   /* 417 */ 'C', '6', 0,
    1397             :   /* 420 */ 'F', '6', 0,
    1398             :   /* 423 */ 'G', '6', 0,
    1399             :   /* 426 */ 'I', '6', 0,
    1400             :   /* 429 */ 'L', '6', 0,
    1401             :   /* 432 */ 'O', '6', 0,
    1402             :   /* 435 */ 'A', 'S', 'R', '6', 0,
    1403             :   /* 440 */ 'C', '1', '7', 0,
    1404             :   /* 444 */ 'F', '1', '7', 0,
    1405             :   /* 448 */ 'A', 'S', 'R', '1', '7', 0,
    1406             :   /* 454 */ 'C', '2', '7', 0,
    1407             :   /* 458 */ 'F', '2', '7', 0,
    1408             :   /* 462 */ 'A', 'S', 'R', '2', '7', 0,
    1409             :   /* 468 */ 'C', '7', 0,
    1410             :   /* 471 */ 'F', '7', 0,
    1411             :   /* 474 */ 'G', '7', 0,
    1412             :   /* 477 */ 'I', '7', 0,
    1413             :   /* 480 */ 'L', '7', 0,
    1414             :   /* 483 */ 'O', '7', 0,
    1415             :   /* 486 */ 'A', 'S', 'R', '7', 0,
    1416             :   /* 491 */ 'C', '1', '8', 0,
    1417             :   /* 495 */ 'F', '1', '8', 0,
    1418             :   /* 499 */ 'A', 'S', 'R', '1', '8', 0,
    1419             :   /* 505 */ 'C', '2', '8', 0,
    1420             :   /* 509 */ 'F', '2', '8', 0,
    1421             :   /* 513 */ 'A', 'S', 'R', '2', '8', 0,
    1422             :   /* 519 */ 'F', '3', '8', 0,
    1423             :   /* 523 */ 'F', '4', '8', 0,
    1424             :   /* 527 */ 'F', '5', '8', 0,
    1425             :   /* 531 */ 'C', '8', 0,
    1426             :   /* 534 */ 'F', '8', 0,
    1427             :   /* 537 */ 'A', 'S', 'R', '8', 0,
    1428             :   /* 542 */ 'C', '1', '9', 0,
    1429             :   /* 546 */ 'F', '1', '9', 0,
    1430             :   /* 550 */ 'A', 'S', 'R', '1', '9', 0,
    1431             :   /* 556 */ 'C', '2', '9', 0,
    1432             :   /* 560 */ 'F', '2', '9', 0,
    1433             :   /* 564 */ 'A', 'S', 'R', '2', '9', 0,
    1434             :   /* 570 */ 'C', '9', 0,
    1435             :   /* 573 */ 'F', '9', 0,
    1436             :   /* 576 */ 'A', 'S', 'R', '9', 0,
    1437             :   /* 581 */ 'T', 'B', 'A', 0,
    1438             :   /* 585 */ 'I', 'C', 'C', 0,
    1439             :   /* 589 */ 'T', 'N', 'P', 'C', 0,
    1440             :   /* 594 */ 'T', 'P', 'C', 0,
    1441             :   /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
    1442             :   /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
    1443             :   /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
    1444             :   /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
    1445             :   /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
    1446             :   /* 638 */ 'T', 'I', 'C', 'K', 0,
    1447             :   /* 643 */ 'P', 'I', 'L', 0,
    1448             :   /* 647 */ 'T', 'L', 0,
    1449             :   /* 650 */ 'W', 'I', 'M', 0,
    1450             :   /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
    1451             :   /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
    1452             :   /* 672 */ 'F', 'P', 0,
    1453             :   /* 675 */ 'S', 'P', 0,
    1454             :   /* 678 */ 'C', 'W', 'P', 0,
    1455             :   /* 682 */ 'F', 'Q', 0,
    1456             :   /* 685 */ 'C', 'P', 'Q', 0,
    1457             :   /* 689 */ 'T', 'B', 'R', 0,
    1458             :   /* 693 */ 'F', 'S', 'R', 0,
    1459             :   /* 697 */ 'C', 'P', 'S', 'R', 0,
    1460             :   /* 702 */ 'T', 'T', 0,
    1461             :   /* 705 */ 'Y', 0,
    1462             :   };
    1463             : 
    1464             :   static const uint16_t RegAsmOffset[] = {
    1465             :     598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
    1466             :     689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
    1467             :     372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
    1468             :     550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
    1469             :     118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
    1470             :     326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
    1471             :     556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
    1472             :     159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
    1473             :     46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
    1474             :     471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
    1475             :     92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
    1476             :     238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
    1477             :     363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
    1478             :     255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
    1479             :     405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
    1480             :     263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
    1481             :     196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
    1482             :   };
    1483             : 
    1484             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
    1485             :           "Invalid alt name index for register!");
    1486       16063 :   return AsmStrs+RegAsmOffset[RegNo-1];
    1487             : }
    1488             : 
    1489             : #ifdef PRINT_ALIAS_INSTR
    1490             : #undef PRINT_ALIAS_INSTR
    1491             : 
    1492       10354 : bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
    1493             :   const char *AsmString;
    1494       10354 :   switch (MI->getOpcode()) {
    1495             :   default: return false;
    1496         167 :   case SP::BCOND:
    1497         334 :     if (MI->getNumOperands() == 2 &&
    1498         501 :         MI->getOperand(1).isImm() &&
    1499         167 :         MI->getOperand(1).getImm() == 8) {
    1500             :       // (BCOND brtarget:$imm, 8)
    1501             :       AsmString = "ba $\x01";
    1502             :       break;
    1503             :     }
    1504         322 :     if (MI->getNumOperands() == 2 &&
    1505         483 :         MI->getOperand(1).isImm() &&
    1506         161 :         MI->getOperand(1).getImm() == 0) {
    1507             :       // (BCOND brtarget:$imm, 0)
    1508             :       AsmString = "bn $\x01";
    1509             :       break;
    1510             :     }
    1511         314 :     if (MI->getNumOperands() == 2 &&
    1512         471 :         MI->getOperand(1).isImm() &&
    1513         157 :         MI->getOperand(1).getImm() == 9) {
    1514             :       // (BCOND brtarget:$imm, 9)
    1515             :       AsmString = "bne $\x01";
    1516             :       break;
    1517             :     }
    1518         204 :     if (MI->getNumOperands() == 2 &&
    1519         306 :         MI->getOperand(1).isImm() &&
    1520         102 :         MI->getOperand(1).getImm() == 1) {
    1521             :       // (BCOND brtarget:$imm, 1)
    1522             :       AsmString = "be $\x01";
    1523             :       break;
    1524             :     }
    1525         120 :     if (MI->getNumOperands() == 2 &&
    1526         180 :         MI->getOperand(1).isImm() &&
    1527          60 :         MI->getOperand(1).getImm() == 10) {
    1528             :       // (BCOND brtarget:$imm, 10)
    1529             :       AsmString = "bg $\x01";
    1530             :       break;
    1531             :     }
    1532          98 :     if (MI->getNumOperands() == 2 &&
    1533         147 :         MI->getOperand(1).isImm() &&
    1534          49 :         MI->getOperand(1).getImm() == 2) {
    1535             :       // (BCOND brtarget:$imm, 2)
    1536             :       AsmString = "ble $\x01";
    1537             :       break;
    1538             :     }
    1539          90 :     if (MI->getNumOperands() == 2 &&
    1540         135 :         MI->getOperand(1).isImm() &&
    1541          45 :         MI->getOperand(1).getImm() == 11) {
    1542             :       // (BCOND brtarget:$imm, 11)
    1543             :       AsmString = "bge $\x01";
    1544             :       break;
    1545             :     }
    1546          84 :     if (MI->getNumOperands() == 2 &&
    1547         126 :         MI->getOperand(1).isImm() &&
    1548          42 :         MI->getOperand(1).getImm() == 3) {
    1549             :       // (BCOND brtarget:$imm, 3)
    1550             :       AsmString = "bl $\x01";
    1551             :       break;
    1552             :     }
    1553          62 :     if (MI->getNumOperands() == 2 &&
    1554          93 :         MI->getOperand(1).isImm() &&
    1555          31 :         MI->getOperand(1).getImm() == 12) {
    1556             :       // (BCOND brtarget:$imm, 12)
    1557             :       AsmString = "bgu $\x01";
    1558             :       break;
    1559             :     }
    1560          54 :     if (MI->getNumOperands() == 2 &&
    1561          81 :         MI->getOperand(1).isImm() &&
    1562          27 :         MI->getOperand(1).getImm() == 4) {
    1563             :       // (BCOND brtarget:$imm, 4)
    1564             :       AsmString = "bleu $\x01";
    1565             :       break;
    1566             :     }
    1567          44 :     if (MI->getNumOperands() == 2 &&
    1568          66 :         MI->getOperand(1).isImm() &&
    1569          22 :         MI->getOperand(1).getImm() == 13) {
    1570             :       // (BCOND brtarget:$imm, 13)
    1571             :       AsmString = "bcc $\x01";
    1572             :       break;
    1573             :     }
    1574          34 :     if (MI->getNumOperands() == 2 &&
    1575          51 :         MI->getOperand(1).isImm() &&
    1576          17 :         MI->getOperand(1).getImm() == 5) {
    1577             :       // (BCOND brtarget:$imm, 5)
    1578             :       AsmString = "bcs $\x01";
    1579             :       break;
    1580             :     }
    1581          24 :     if (MI->getNumOperands() == 2 &&
    1582          36 :         MI->getOperand(1).isImm() &&
    1583          12 :         MI->getOperand(1).getImm() == 14) {
    1584             :       // (BCOND brtarget:$imm, 14)
    1585             :       AsmString = "bpos $\x01";
    1586             :       break;
    1587             :     }
    1588          18 :     if (MI->getNumOperands() == 2 &&
    1589          27 :         MI->getOperand(1).isImm() &&
    1590           9 :         MI->getOperand(1).getImm() == 6) {
    1591             :       // (BCOND brtarget:$imm, 6)
    1592             :       AsmString = "bneg $\x01";
    1593             :       break;
    1594             :     }
    1595          12 :     if (MI->getNumOperands() == 2 &&
    1596          18 :         MI->getOperand(1).isImm() &&
    1597           6 :         MI->getOperand(1).getImm() == 15) {
    1598             :       // (BCOND brtarget:$imm, 15)
    1599             :       AsmString = "bvc $\x01";
    1600             :       break;
    1601             :     }
    1602           6 :     if (MI->getNumOperands() == 2 &&
    1603           9 :         MI->getOperand(1).isImm() &&
    1604           3 :         MI->getOperand(1).getImm() == 7) {
    1605             :       // (BCOND brtarget:$imm, 7)
    1606             :       AsmString = "bvs $\x01";
    1607             :       break;
    1608             :     }
    1609             :     return false;
    1610          30 :   case SP::BCONDA:
    1611          60 :     if (MI->getNumOperands() == 2 &&
    1612          90 :         MI->getOperand(1).isImm() &&
    1613          30 :         MI->getOperand(1).getImm() == 8) {
    1614             :       // (BCONDA brtarget:$imm, 8)
    1615             :       AsmString = "ba,a $\x01";
    1616             :       break;
    1617             :     }
    1618          56 :     if (MI->getNumOperands() == 2 &&
    1619          84 :         MI->getOperand(1).isImm() &&
    1620          28 :         MI->getOperand(1).getImm() == 0) {
    1621             :       // (BCONDA brtarget:$imm, 0)
    1622             :       AsmString = "bn,a $\x01";
    1623             :       break;
    1624             :     }
    1625          56 :     if (MI->getNumOperands() == 2 &&
    1626          84 :         MI->getOperand(1).isImm() &&
    1627          28 :         MI->getOperand(1).getImm() == 9) {
    1628             :       // (BCONDA brtarget:$imm, 9)
    1629             :       AsmString = "bne,a $\x01";
    1630             :       break;
    1631             :     }
    1632          52 :     if (MI->getNumOperands() == 2 &&
    1633          78 :         MI->getOperand(1).isImm() &&
    1634          26 :         MI->getOperand(1).getImm() == 1) {
    1635             :       // (BCONDA brtarget:$imm, 1)
    1636             :       AsmString = "be,a $\x01";
    1637             :       break;
    1638             :     }
    1639          48 :     if (MI->getNumOperands() == 2 &&
    1640          72 :         MI->getOperand(1).isImm() &&
    1641          24 :         MI->getOperand(1).getImm() == 10) {
    1642             :       // (BCONDA brtarget:$imm, 10)
    1643             :       AsmString = "bg,a $\x01";
    1644             :       break;
    1645             :     }
    1646          44 :     if (MI->getNumOperands() == 2 &&
    1647          66 :         MI->getOperand(1).isImm() &&
    1648          22 :         MI->getOperand(1).getImm() == 2) {
    1649             :       // (BCONDA brtarget:$imm, 2)
    1650             :       AsmString = "ble,a $\x01";
    1651             :       break;
    1652             :     }
    1653          40 :     if (MI->getNumOperands() == 2 &&
    1654          60 :         MI->getOperand(1).isImm() &&
    1655          20 :         MI->getOperand(1).getImm() == 11) {
    1656             :       // (BCONDA brtarget:$imm, 11)
    1657             :       AsmString = "bge,a $\x01";
    1658             :       break;
    1659             :     }
    1660          36 :     if (MI->getNumOperands() == 2 &&
    1661          54 :         MI->getOperand(1).isImm() &&
    1662          18 :         MI->getOperand(1).getImm() == 3) {
    1663             :       // (BCONDA brtarget:$imm, 3)
    1664             :       AsmString = "bl,a $\x01";
    1665             :       break;
    1666             :     }
    1667          32 :     if (MI->getNumOperands() == 2 &&
    1668          48 :         MI->getOperand(1).isImm() &&
    1669          16 :         MI->getOperand(1).getImm() == 12) {
    1670             :       // (BCONDA brtarget:$imm, 12)
    1671             :       AsmString = "bgu,a $\x01";
    1672             :       break;
    1673             :     }
    1674          28 :     if (MI->getNumOperands() == 2 &&
    1675          42 :         MI->getOperand(1).isImm() &&
    1676          14 :         MI->getOperand(1).getImm() == 4) {
    1677             :       // (BCONDA brtarget:$imm, 4)
    1678             :       AsmString = "bleu,a $\x01";
    1679             :       break;
    1680             :     }
    1681          24 :     if (MI->getNumOperands() == 2 &&
    1682          36 :         MI->getOperand(1).isImm() &&
    1683          12 :         MI->getOperand(1).getImm() == 13) {
    1684             :       // (BCONDA brtarget:$imm, 13)
    1685             :       AsmString = "bcc,a $\x01";
    1686             :       break;
    1687             :     }
    1688          20 :     if (MI->getNumOperands() == 2 &&
    1689          30 :         MI->getOperand(1).isImm() &&
    1690          10 :         MI->getOperand(1).getImm() == 5) {
    1691             :       // (BCONDA brtarget:$imm, 5)
    1692             :       AsmString = "bcs,a $\x01";
    1693             :       break;
    1694             :     }
    1695          16 :     if (MI->getNumOperands() == 2 &&
    1696          24 :         MI->getOperand(1).isImm() &&
    1697           8 :         MI->getOperand(1).getImm() == 14) {
    1698             :       // (BCONDA brtarget:$imm, 14)
    1699             :       AsmString = "bpos,a $\x01";
    1700             :       break;
    1701             :     }
    1702          12 :     if (MI->getNumOperands() == 2 &&
    1703          18 :         MI->getOperand(1).isImm() &&
    1704           6 :         MI->getOperand(1).getImm() == 6) {
    1705             :       // (BCONDA brtarget:$imm, 6)
    1706             :       AsmString = "bneg,a $\x01";
    1707             :       break;
    1708             :     }
    1709           8 :     if (MI->getNumOperands() == 2 &&
    1710          12 :         MI->getOperand(1).isImm() &&
    1711           4 :         MI->getOperand(1).getImm() == 15) {
    1712             :       // (BCONDA brtarget:$imm, 15)
    1713             :       AsmString = "bvc,a $\x01";
    1714             :       break;
    1715             :     }
    1716           4 :     if (MI->getNumOperands() == 2 &&
    1717           6 :         MI->getOperand(1).isImm() &&
    1718           2 :         MI->getOperand(1).getImm() == 7) {
    1719             :       // (BCONDA brtarget:$imm, 7)
    1720             :       AsmString = "bvs,a $\x01";
    1721             :       break;
    1722             :     }
    1723             :     return false;
    1724          15 :   case SP::BPFCCANT:
    1725          30 :     if (MI->getNumOperands() == 3 &&
    1726          30 :         MI->getOperand(1).isImm() &&
    1727          15 :         MI->getOperand(1).getImm() == 8 &&
    1728           0 :         MI->getOperand(2).isReg() &&
    1729          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1730           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1731             :       // (BPFCCANT brtarget:$imm, 8, FCCRegs:$cc)
    1732             :       AsmString = "fba,a,pn $\x03, $\x01";
    1733             :       break;
    1734             :     }
    1735          30 :     if (MI->getNumOperands() == 3 &&
    1736          30 :         MI->getOperand(1).isImm() &&
    1737          15 :         MI->getOperand(1).getImm() == 0 &&
    1738           0 :         MI->getOperand(2).isReg() &&
    1739          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1740           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1741             :       // (BPFCCANT brtarget:$imm, 0, FCCRegs:$cc)
    1742             :       AsmString = "fbn,a,pn $\x03, $\x01";
    1743             :       break;
    1744             :     }
    1745          30 :     if (MI->getNumOperands() == 3 &&
    1746          30 :         MI->getOperand(1).isImm() &&
    1747          16 :         MI->getOperand(1).getImm() == 7 &&
    1748           2 :         MI->getOperand(2).isReg() &&
    1749          19 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1750           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1751             :       // (BPFCCANT brtarget:$imm, 7, FCCRegs:$cc)
    1752             :       AsmString = "fbu,a,pn $\x03, $\x01";
    1753             :       break;
    1754             :     }
    1755          28 :     if (MI->getNumOperands() == 3 &&
    1756          28 :         MI->getOperand(1).isImm() &&
    1757          15 :         MI->getOperand(1).getImm() == 6 &&
    1758           2 :         MI->getOperand(2).isReg() &&
    1759          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1760           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1761             :       // (BPFCCANT brtarget:$imm, 6, FCCRegs:$cc)
    1762             :       AsmString = "fbg,a,pn $\x03, $\x01";
    1763             :       break;
    1764             :     }
    1765          26 :     if (MI->getNumOperands() == 3 &&
    1766          26 :         MI->getOperand(1).isImm() &&
    1767          14 :         MI->getOperand(1).getImm() == 5 &&
    1768           2 :         MI->getOperand(2).isReg() &&
    1769          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1770           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1771             :       // (BPFCCANT brtarget:$imm, 5, FCCRegs:$cc)
    1772             :       AsmString = "fbug,a,pn $\x03, $\x01";
    1773             :       break;
    1774             :     }
    1775          24 :     if (MI->getNumOperands() == 3 &&
    1776          24 :         MI->getOperand(1).isImm() &&
    1777          13 :         MI->getOperand(1).getImm() == 4 &&
    1778           2 :         MI->getOperand(2).isReg() &&
    1779          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1780           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1781             :       // (BPFCCANT brtarget:$imm, 4, FCCRegs:$cc)
    1782             :       AsmString = "fbl,a,pn $\x03, $\x01";
    1783             :       break;
    1784             :     }
    1785          22 :     if (MI->getNumOperands() == 3 &&
    1786          22 :         MI->getOperand(1).isImm() &&
    1787          12 :         MI->getOperand(1).getImm() == 3 &&
    1788           2 :         MI->getOperand(2).isReg() &&
    1789          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1790           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1791             :       // (BPFCCANT brtarget:$imm, 3, FCCRegs:$cc)
    1792             :       AsmString = "fbul,a,pn $\x03, $\x01";
    1793             :       break;
    1794             :     }
    1795          20 :     if (MI->getNumOperands() == 3 &&
    1796          20 :         MI->getOperand(1).isImm() &&
    1797          11 :         MI->getOperand(1).getImm() == 2 &&
    1798           2 :         MI->getOperand(2).isReg() &&
    1799          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1800           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1801             :       // (BPFCCANT brtarget:$imm, 2, FCCRegs:$cc)
    1802             :       AsmString = "fblg,a,pn $\x03, $\x01";
    1803             :       break;
    1804             :     }
    1805          18 :     if (MI->getNumOperands() == 3 &&
    1806          18 :         MI->getOperand(1).isImm() &&
    1807          11 :         MI->getOperand(1).getImm() == 1 &&
    1808           4 :         MI->getOperand(2).isReg() &&
    1809          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1810           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1811             :       // (BPFCCANT brtarget:$imm, 1, FCCRegs:$cc)
    1812             :       AsmString = "fbne,a,pn $\x03, $\x01";
    1813             :       break;
    1814             :     }
    1815          14 :     if (MI->getNumOperands() == 3 &&
    1816          14 :         MI->getOperand(1).isImm() &&
    1817           8 :         MI->getOperand(1).getImm() == 9 &&
    1818           2 :         MI->getOperand(2).isReg() &&
    1819          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1820           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1821             :       // (BPFCCANT brtarget:$imm, 9, FCCRegs:$cc)
    1822             :       AsmString = "fbe,a,pn $\x03, $\x01";
    1823             :       break;
    1824             :     }
    1825          12 :     if (MI->getNumOperands() == 3 &&
    1826          12 :         MI->getOperand(1).isImm() &&
    1827           7 :         MI->getOperand(1).getImm() == 10 &&
    1828           2 :         MI->getOperand(2).isReg() &&
    1829          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1830           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1831             :       // (BPFCCANT brtarget:$imm, 10, FCCRegs:$cc)
    1832             :       AsmString = "fbue,a,pn $\x03, $\x01";
    1833             :       break;
    1834             :     }
    1835          10 :     if (MI->getNumOperands() == 3 &&
    1836          10 :         MI->getOperand(1).isImm() &&
    1837           6 :         MI->getOperand(1).getImm() == 11 &&
    1838           2 :         MI->getOperand(2).isReg() &&
    1839           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1840           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1841             :       // (BPFCCANT brtarget:$imm, 11, FCCRegs:$cc)
    1842             :       AsmString = "fbge,a,pn $\x03, $\x01";
    1843             :       break;
    1844             :     }
    1845           8 :     if (MI->getNumOperands() == 3 &&
    1846           8 :         MI->getOperand(1).isImm() &&
    1847           5 :         MI->getOperand(1).getImm() == 12 &&
    1848           2 :         MI->getOperand(2).isReg() &&
    1849           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1850           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1851             :       // (BPFCCANT brtarget:$imm, 12, FCCRegs:$cc)
    1852             :       AsmString = "fbuge,a,pn $\x03, $\x01";
    1853             :       break;
    1854             :     }
    1855           6 :     if (MI->getNumOperands() == 3 &&
    1856           6 :         MI->getOperand(1).isImm() &&
    1857           4 :         MI->getOperand(1).getImm() == 13 &&
    1858           2 :         MI->getOperand(2).isReg() &&
    1859           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1860           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1861             :       // (BPFCCANT brtarget:$imm, 13, FCCRegs:$cc)
    1862             :       AsmString = "fble,a,pn $\x03, $\x01";
    1863             :       break;
    1864             :     }
    1865           4 :     if (MI->getNumOperands() == 3 &&
    1866           4 :         MI->getOperand(1).isImm() &&
    1867           3 :         MI->getOperand(1).getImm() == 14 &&
    1868           2 :         MI->getOperand(2).isReg() &&
    1869           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1870           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1871             :       // (BPFCCANT brtarget:$imm, 14, FCCRegs:$cc)
    1872             :       AsmString = "fbule,a,pn $\x03, $\x01";
    1873             :       break;
    1874             :     }
    1875           2 :     if (MI->getNumOperands() == 3 &&
    1876           2 :         MI->getOperand(1).isImm() &&
    1877           2 :         MI->getOperand(1).getImm() == 15 &&
    1878           2 :         MI->getOperand(2).isReg() &&
    1879           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1880           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1881             :       // (BPFCCANT brtarget:$imm, 15, FCCRegs:$cc)
    1882             :       AsmString = "fbo,a,pn $\x03, $\x01";
    1883             :       break;
    1884             :     }
    1885             :     return false;
    1886          15 :   case SP::BPFCCNT:
    1887          30 :     if (MI->getNumOperands() == 3 &&
    1888          30 :         MI->getOperand(1).isImm() &&
    1889          15 :         MI->getOperand(1).getImm() == 8 &&
    1890           0 :         MI->getOperand(2).isReg() &&
    1891          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1892           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1893             :       // (BPFCCNT brtarget:$imm, 8, FCCRegs:$cc)
    1894             :       AsmString = "fba,pn $\x03, $\x01";
    1895             :       break;
    1896             :     }
    1897          30 :     if (MI->getNumOperands() == 3 &&
    1898          30 :         MI->getOperand(1).isImm() &&
    1899          15 :         MI->getOperand(1).getImm() == 0 &&
    1900           0 :         MI->getOperand(2).isReg() &&
    1901          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1902           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1903             :       // (BPFCCNT brtarget:$imm, 0, FCCRegs:$cc)
    1904             :       AsmString = "fbn,pn $\x03, $\x01";
    1905             :       break;
    1906             :     }
    1907          30 :     if (MI->getNumOperands() == 3 &&
    1908          30 :         MI->getOperand(1).isImm() &&
    1909          16 :         MI->getOperand(1).getImm() == 7 &&
    1910           2 :         MI->getOperand(2).isReg() &&
    1911          19 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1912           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1913             :       // (BPFCCNT brtarget:$imm, 7, FCCRegs:$cc)
    1914             :       AsmString = "fbu,pn $\x03, $\x01";
    1915             :       break;
    1916             :     }
    1917          28 :     if (MI->getNumOperands() == 3 &&
    1918          28 :         MI->getOperand(1).isImm() &&
    1919          15 :         MI->getOperand(1).getImm() == 6 &&
    1920           2 :         MI->getOperand(2).isReg() &&
    1921          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1922           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1923             :       // (BPFCCNT brtarget:$imm, 6, FCCRegs:$cc)
    1924             :       AsmString = "fbg,pn $\x03, $\x01";
    1925             :       break;
    1926             :     }
    1927          26 :     if (MI->getNumOperands() == 3 &&
    1928          26 :         MI->getOperand(1).isImm() &&
    1929          14 :         MI->getOperand(1).getImm() == 5 &&
    1930           2 :         MI->getOperand(2).isReg() &&
    1931          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1932           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1933             :       // (BPFCCNT brtarget:$imm, 5, FCCRegs:$cc)
    1934             :       AsmString = "fbug,pn $\x03, $\x01";
    1935             :       break;
    1936             :     }
    1937          24 :     if (MI->getNumOperands() == 3 &&
    1938          24 :         MI->getOperand(1).isImm() &&
    1939          13 :         MI->getOperand(1).getImm() == 4 &&
    1940           2 :         MI->getOperand(2).isReg() &&
    1941          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1942           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1943             :       // (BPFCCNT brtarget:$imm, 4, FCCRegs:$cc)
    1944             :       AsmString = "fbl,pn $\x03, $\x01";
    1945             :       break;
    1946             :     }
    1947          22 :     if (MI->getNumOperands() == 3 &&
    1948          22 :         MI->getOperand(1).isImm() &&
    1949          12 :         MI->getOperand(1).getImm() == 3 &&
    1950           2 :         MI->getOperand(2).isReg() &&
    1951          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1952           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1953             :       // (BPFCCNT brtarget:$imm, 3, FCCRegs:$cc)
    1954             :       AsmString = "fbul,pn $\x03, $\x01";
    1955             :       break;
    1956             :     }
    1957          20 :     if (MI->getNumOperands() == 3 &&
    1958          20 :         MI->getOperand(1).isImm() &&
    1959          11 :         MI->getOperand(1).getImm() == 2 &&
    1960           2 :         MI->getOperand(2).isReg() &&
    1961          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1962           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1963             :       // (BPFCCNT brtarget:$imm, 2, FCCRegs:$cc)
    1964             :       AsmString = "fblg,pn $\x03, $\x01";
    1965             :       break;
    1966             :     }
    1967          18 :     if (MI->getNumOperands() == 3 &&
    1968          18 :         MI->getOperand(1).isImm() &&
    1969          10 :         MI->getOperand(1).getImm() == 1 &&
    1970           2 :         MI->getOperand(2).isReg() &&
    1971          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1972           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1973             :       // (BPFCCNT brtarget:$imm, 1, FCCRegs:$cc)
    1974             :       AsmString = "fbne,pn $\x03, $\x01";
    1975             :       break;
    1976             :     }
    1977          16 :     if (MI->getNumOperands() == 3 &&
    1978          16 :         MI->getOperand(1).isImm() &&
    1979           9 :         MI->getOperand(1).getImm() == 9 &&
    1980           2 :         MI->getOperand(2).isReg() &&
    1981          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1982           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1983             :       // (BPFCCNT brtarget:$imm, 9, FCCRegs:$cc)
    1984             :       AsmString = "fbe,pn $\x03, $\x01";
    1985             :       break;
    1986             :     }
    1987          14 :     if (MI->getNumOperands() == 3 &&
    1988          14 :         MI->getOperand(1).isImm() &&
    1989           9 :         MI->getOperand(1).getImm() == 10 &&
    1990           4 :         MI->getOperand(2).isReg() &&
    1991          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1992           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1993             :       // (BPFCCNT brtarget:$imm, 10, FCCRegs:$cc)
    1994             :       AsmString = "fbue,pn $\x03, $\x01";
    1995             :       break;
    1996             :     }
    1997          10 :     if (MI->getNumOperands() == 3 &&
    1998          10 :         MI->getOperand(1).isImm() &&
    1999           6 :         MI->getOperand(1).getImm() == 11 &&
    2000           2 :         MI->getOperand(2).isReg() &&
    2001           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2002           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2003             :       // (BPFCCNT brtarget:$imm, 11, FCCRegs:$cc)
    2004             :       AsmString = "fbge,pn $\x03, $\x01";
    2005             :       break;
    2006             :     }
    2007           8 :     if (MI->getNumOperands() == 3 &&
    2008           8 :         MI->getOperand(1).isImm() &&
    2009           5 :         MI->getOperand(1).getImm() == 12 &&
    2010           2 :         MI->getOperand(2).isReg() &&
    2011           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2012           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2013             :       // (BPFCCNT brtarget:$imm, 12, FCCRegs:$cc)
    2014             :       AsmString = "fbuge,pn $\x03, $\x01";
    2015             :       break;
    2016             :     }
    2017           6 :     if (MI->getNumOperands() == 3 &&
    2018           6 :         MI->getOperand(1).isImm() &&
    2019           4 :         MI->getOperand(1).getImm() == 13 &&
    2020           2 :         MI->getOperand(2).isReg() &&
    2021           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2022           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2023             :       // (BPFCCNT brtarget:$imm, 13, FCCRegs:$cc)
    2024             :       AsmString = "fble,pn $\x03, $\x01";
    2025             :       break;
    2026             :     }
    2027           4 :     if (MI->getNumOperands() == 3 &&
    2028           4 :         MI->getOperand(1).isImm() &&
    2029           3 :         MI->getOperand(1).getImm() == 14 &&
    2030           2 :         MI->getOperand(2).isReg() &&
    2031           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2032           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2033             :       // (BPFCCNT brtarget:$imm, 14, FCCRegs:$cc)
    2034             :       AsmString = "fbule,pn $\x03, $\x01";
    2035             :       break;
    2036             :     }
    2037           2 :     if (MI->getNumOperands() == 3 &&
    2038           2 :         MI->getOperand(1).isImm() &&
    2039           2 :         MI->getOperand(1).getImm() == 15 &&
    2040           2 :         MI->getOperand(2).isReg() &&
    2041           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2042           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2043             :       // (BPFCCNT brtarget:$imm, 15, FCCRegs:$cc)
    2044             :       AsmString = "fbo,pn $\x03, $\x01";
    2045             :       break;
    2046             :     }
    2047             :     return false;
    2048          14 :   case SP::BPICCANT:
    2049          28 :     if (MI->getNumOperands() == 2 &&
    2050          28 :         MI->getOperand(1).isImm() &&
    2051          28 :         MI->getOperand(1).getImm() == 8 &&
    2052           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2053             :       // (BPICCANT brtarget:$imm, 8)
    2054             :       AsmString = "ba,a,pn %icc, $\x01";
    2055             :       break;
    2056             :     }
    2057          28 :     if (MI->getNumOperands() == 2 &&
    2058          28 :         MI->getOperand(1).isImm() &&
    2059          28 :         MI->getOperand(1).getImm() == 0 &&
    2060           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2061             :       // (BPICCANT brtarget:$imm, 0)
    2062             :       AsmString = "bn,a,pn %icc, $\x01";
    2063             :       break;
    2064             :     }
    2065          28 :     if (MI->getNumOperands() == 2 &&
    2066          28 :         MI->getOperand(1).isImm() &&
    2067          29 :         MI->getOperand(1).getImm() == 9 &&
    2068           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2069             :       // (BPICCANT brtarget:$imm, 9)
    2070             :       AsmString = "bne,a,pn %icc, $\x01";
    2071             :       break;
    2072             :     }
    2073          26 :     if (MI->getNumOperands() == 2 &&
    2074          26 :         MI->getOperand(1).isImm() &&
    2075          27 :         MI->getOperand(1).getImm() == 1 &&
    2076           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2077             :       // (BPICCANT brtarget:$imm, 1)
    2078             :       AsmString = "be,a,pn %icc, $\x01";
    2079             :       break;
    2080             :     }
    2081          24 :     if (MI->getNumOperands() == 2 &&
    2082          24 :         MI->getOperand(1).isImm() &&
    2083          25 :         MI->getOperand(1).getImm() == 10 &&
    2084           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2085             :       // (BPICCANT brtarget:$imm, 10)
    2086             :       AsmString = "bg,a,pn %icc, $\x01";
    2087             :       break;
    2088             :     }
    2089          22 :     if (MI->getNumOperands() == 2 &&
    2090          22 :         MI->getOperand(1).isImm() &&
    2091          23 :         MI->getOperand(1).getImm() == 2 &&
    2092           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2093             :       // (BPICCANT brtarget:$imm, 2)
    2094             :       AsmString = "ble,a,pn %icc, $\x01";
    2095             :       break;
    2096             :     }
    2097          20 :     if (MI->getNumOperands() == 2 &&
    2098          20 :         MI->getOperand(1).isImm() &&
    2099          21 :         MI->getOperand(1).getImm() == 11 &&
    2100           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2101             :       // (BPICCANT brtarget:$imm, 11)
    2102             :       AsmString = "bge,a,pn %icc, $\x01";
    2103             :       break;
    2104             :     }
    2105          18 :     if (MI->getNumOperands() == 2 &&
    2106          18 :         MI->getOperand(1).isImm() &&
    2107          19 :         MI->getOperand(1).getImm() == 3 &&
    2108           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2109             :       // (BPICCANT brtarget:$imm, 3)
    2110             :       AsmString = "bl,a,pn %icc, $\x01";
    2111             :       break;
    2112             :     }
    2113          16 :     if (MI->getNumOperands() == 2 &&
    2114          16 :         MI->getOperand(1).isImm() &&
    2115          17 :         MI->getOperand(1).getImm() == 12 &&
    2116           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2117             :       // (BPICCANT brtarget:$imm, 12)
    2118             :       AsmString = "bgu,a,pn %icc, $\x01";
    2119             :       break;
    2120             :     }
    2121          14 :     if (MI->getNumOperands() == 2 &&
    2122          14 :         MI->getOperand(1).isImm() &&
    2123          15 :         MI->getOperand(1).getImm() == 4 &&
    2124           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2125             :       // (BPICCANT brtarget:$imm, 4)
    2126             :       AsmString = "bleu,a,pn %icc, $\x01";
    2127             :       break;
    2128             :     }
    2129          12 :     if (MI->getNumOperands() == 2 &&
    2130          12 :         MI->getOperand(1).isImm() &&
    2131          13 :         MI->getOperand(1).getImm() == 13 &&
    2132           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2133             :       // (BPICCANT brtarget:$imm, 13)
    2134             :       AsmString = "bcc,a,pn %icc, $\x01";
    2135             :       break;
    2136             :     }
    2137          10 :     if (MI->getNumOperands() == 2 &&
    2138          10 :         MI->getOperand(1).isImm() &&
    2139          11 :         MI->getOperand(1).getImm() == 5 &&
    2140           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2141             :       // (BPICCANT brtarget:$imm, 5)
    2142             :       AsmString = "bcs,a,pn %icc, $\x01";
    2143             :       break;
    2144             :     }
    2145           8 :     if (MI->getNumOperands() == 2 &&
    2146           8 :         MI->getOperand(1).isImm() &&
    2147           9 :         MI->getOperand(1).getImm() == 14 &&
    2148           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2149             :       // (BPICCANT brtarget:$imm, 14)
    2150             :       AsmString = "bpos,a,pn %icc, $\x01";
    2151             :       break;
    2152             :     }
    2153           6 :     if (MI->getNumOperands() == 2 &&
    2154           6 :         MI->getOperand(1).isImm() &&
    2155           7 :         MI->getOperand(1).getImm() == 6 &&
    2156           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2157             :       // (BPICCANT brtarget:$imm, 6)
    2158             :       AsmString = "bneg,a,pn %icc, $\x01";
    2159             :       break;
    2160             :     }
    2161           4 :     if (MI->getNumOperands() == 2 &&
    2162           4 :         MI->getOperand(1).isImm() &&
    2163           5 :         MI->getOperand(1).getImm() == 15 &&
    2164           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2165             :       // (BPICCANT brtarget:$imm, 15)
    2166             :       AsmString = "bvc,a,pn %icc, $\x01";
    2167             :       break;
    2168             :     }
    2169           2 :     if (MI->getNumOperands() == 2 &&
    2170           2 :         MI->getOperand(1).isImm() &&
    2171           3 :         MI->getOperand(1).getImm() == 7 &&
    2172           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2173             :       // (BPICCANT brtarget:$imm, 7)
    2174             :       AsmString = "bvs,a,pn %icc, $\x01";
    2175             :       break;
    2176             :     }
    2177             :     return false;
    2178          14 :   case SP::BPICCNT:
    2179          28 :     if (MI->getNumOperands() == 2 &&
    2180          28 :         MI->getOperand(1).isImm() &&
    2181          28 :         MI->getOperand(1).getImm() == 8 &&
    2182           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2183             :       // (BPICCNT brtarget:$imm, 8)
    2184             :       AsmString = "ba,pn %icc, $\x01";
    2185             :       break;
    2186             :     }
    2187          28 :     if (MI->getNumOperands() == 2 &&
    2188          28 :         MI->getOperand(1).isImm() &&
    2189          28 :         MI->getOperand(1).getImm() == 0 &&
    2190           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2191             :       // (BPICCNT brtarget:$imm, 0)
    2192             :       AsmString = "bn,pn %icc, $\x01";
    2193             :       break;
    2194             :     }
    2195          28 :     if (MI->getNumOperands() == 2 &&
    2196          28 :         MI->getOperand(1).isImm() &&
    2197          29 :         MI->getOperand(1).getImm() == 9 &&
    2198           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2199             :       // (BPICCNT brtarget:$imm, 9)
    2200             :       AsmString = "bne,pn %icc, $\x01";
    2201             :       break;
    2202             :     }
    2203          26 :     if (MI->getNumOperands() == 2 &&
    2204          26 :         MI->getOperand(1).isImm() &&
    2205          27 :         MI->getOperand(1).getImm() == 1 &&
    2206           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2207             :       // (BPICCNT brtarget:$imm, 1)
    2208             :       AsmString = "be,pn %icc, $\x01";
    2209             :       break;
    2210             :     }
    2211          24 :     if (MI->getNumOperands() == 2 &&
    2212          24 :         MI->getOperand(1).isImm() &&
    2213          25 :         MI->getOperand(1).getImm() == 10 &&
    2214           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2215             :       // (BPICCNT brtarget:$imm, 10)
    2216             :       AsmString = "bg,pn %icc, $\x01";
    2217             :       break;
    2218             :     }
    2219          22 :     if (MI->getNumOperands() == 2 &&
    2220          22 :         MI->getOperand(1).isImm() &&
    2221          23 :         MI->getOperand(1).getImm() == 2 &&
    2222           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2223             :       // (BPICCNT brtarget:$imm, 2)
    2224             :       AsmString = "ble,pn %icc, $\x01";
    2225             :       break;
    2226             :     }
    2227          20 :     if (MI->getNumOperands() == 2 &&
    2228          20 :         MI->getOperand(1).isImm() &&
    2229          21 :         MI->getOperand(1).getImm() == 11 &&
    2230           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2231             :       // (BPICCNT brtarget:$imm, 11)
    2232             :       AsmString = "bge,pn %icc, $\x01";
    2233             :       break;
    2234             :     }
    2235          18 :     if (MI->getNumOperands() == 2 &&
    2236          18 :         MI->getOperand(1).isImm() &&
    2237          19 :         MI->getOperand(1).getImm() == 3 &&
    2238           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2239             :       // (BPICCNT brtarget:$imm, 3)
    2240             :       AsmString = "bl,pn %icc, $\x01";
    2241             :       break;
    2242             :     }
    2243          16 :     if (MI->getNumOperands() == 2 &&
    2244          16 :         MI->getOperand(1).isImm() &&
    2245          17 :         MI->getOperand(1).getImm() == 12 &&
    2246           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2247             :       // (BPICCNT brtarget:$imm, 12)
    2248             :       AsmString = "bgu,pn %icc, $\x01";
    2249             :       break;
    2250             :     }
    2251          14 :     if (MI->getNumOperands() == 2 &&
    2252          14 :         MI->getOperand(1).isImm() &&
    2253          15 :         MI->getOperand(1).getImm() == 4 &&
    2254           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2255             :       // (BPICCNT brtarget:$imm, 4)
    2256             :       AsmString = "bleu,pn %icc, $\x01";
    2257             :       break;
    2258             :     }
    2259          12 :     if (MI->getNumOperands() == 2 &&
    2260          12 :         MI->getOperand(1).isImm() &&
    2261          13 :         MI->getOperand(1).getImm() == 13 &&
    2262           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2263             :       // (BPICCNT brtarget:$imm, 13)
    2264             :       AsmString = "bcc,pn %icc, $\x01";
    2265             :       break;
    2266             :     }
    2267          10 :     if (MI->getNumOperands() == 2 &&
    2268          10 :         MI->getOperand(1).isImm() &&
    2269          11 :         MI->getOperand(1).getImm() == 5 &&
    2270           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2271             :       // (BPICCNT brtarget:$imm, 5)
    2272             :       AsmString = "bcs,pn %icc, $\x01";
    2273             :       break;
    2274             :     }
    2275           8 :     if (MI->getNumOperands() == 2 &&
    2276           8 :         MI->getOperand(1).isImm() &&
    2277           9 :         MI->getOperand(1).getImm() == 14 &&
    2278           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2279             :       // (BPICCNT brtarget:$imm, 14)
    2280             :       AsmString = "bpos,pn %icc, $\x01";
    2281             :       break;
    2282             :     }
    2283           6 :     if (MI->getNumOperands() == 2 &&
    2284           6 :         MI->getOperand(1).isImm() &&
    2285           7 :         MI->getOperand(1).getImm() == 6 &&
    2286           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2287             :       // (BPICCNT brtarget:$imm, 6)
    2288             :       AsmString = "bneg,pn %icc, $\x01";
    2289             :       break;
    2290             :     }
    2291           4 :     if (MI->getNumOperands() == 2 &&
    2292           4 :         MI->getOperand(1).isImm() &&
    2293           5 :         MI->getOperand(1).getImm() == 15 &&
    2294           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2295             :       // (BPICCNT brtarget:$imm, 15)
    2296             :       AsmString = "bvc,pn %icc, $\x01";
    2297             :       break;
    2298             :     }
    2299           2 :     if (MI->getNumOperands() == 2 &&
    2300           2 :         MI->getOperand(1).isImm() &&
    2301           3 :         MI->getOperand(1).getImm() == 7 &&
    2302           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2303             :       // (BPICCNT brtarget:$imm, 7)
    2304             :       AsmString = "bvs,pn %icc, $\x01";
    2305             :       break;
    2306             :     }
    2307             :     return false;
    2308          14 :   case SP::BPXCCANT:
    2309          28 :     if (MI->getNumOperands() == 2 &&
    2310          42 :         MI->getOperand(1).isImm() &&
    2311          14 :         MI->getOperand(1).getImm() == 8) {
    2312             :       // (BPXCCANT brtarget:$imm, 8)
    2313             :       AsmString = "ba,a,pn %xcc, $\x01";
    2314             :       break;
    2315             :     }
    2316          28 :     if (MI->getNumOperands() == 2 &&
    2317          42 :         MI->getOperand(1).isImm() &&
    2318          14 :         MI->getOperand(1).getImm() == 0) {
    2319             :       // (BPXCCANT brtarget:$imm, 0)
    2320             :       AsmString = "bn,a,pn %xcc, $\x01";
    2321             :       break;
    2322             :     }
    2323          28 :     if (MI->getNumOperands() == 2 &&
    2324          42 :         MI->getOperand(1).isImm() &&
    2325          14 :         MI->getOperand(1).getImm() == 9) {
    2326             :       // (BPXCCANT brtarget:$imm, 9)
    2327             :       AsmString = "bne,a,pn %xcc, $\x01";
    2328             :       break;
    2329             :     }
    2330          26 :     if (MI->getNumOperands() == 2 &&
    2331          39 :         MI->getOperand(1).isImm() &&
    2332          13 :         MI->getOperand(1).getImm() == 1) {
    2333             :       // (BPXCCANT brtarget:$imm, 1)
    2334             :       AsmString = "be,a,pn %xcc, $\x01";
    2335             :       break;
    2336             :     }
    2337          24 :     if (MI->getNumOperands() == 2 &&
    2338          36 :         MI->getOperand(1).isImm() &&
    2339          12 :         MI->getOperand(1).getImm() == 10) {
    2340             :       // (BPXCCANT brtarget:$imm, 10)
    2341             :       AsmString = "bg,a,pn %xcc, $\x01";
    2342             :       break;
    2343             :     }
    2344          22 :     if (MI->getNumOperands() == 2 &&
    2345          33 :         MI->getOperand(1).isImm() &&
    2346          11 :         MI->getOperand(1).getImm() == 2) {
    2347             :       // (BPXCCANT brtarget:$imm, 2)
    2348             :       AsmString = "ble,a,pn %xcc, $\x01";
    2349             :       break;
    2350             :     }
    2351          20 :     if (MI->getNumOperands() == 2 &&
    2352          30 :         MI->getOperand(1).isImm() &&
    2353          10 :         MI->getOperand(1).getImm() == 11) {
    2354             :       // (BPXCCANT brtarget:$imm, 11)
    2355             :       AsmString = "bge,a,pn %xcc, $\x01";
    2356             :       break;
    2357             :     }
    2358          18 :     if (MI->getNumOperands() == 2 &&
    2359          27 :         MI->getOperand(1).isImm() &&
    2360           9 :         MI->getOperand(1).getImm() == 3) {
    2361             :       // (BPXCCANT brtarget:$imm, 3)
    2362             :       AsmString = "bl,a,pn %xcc, $\x01";
    2363             :       break;
    2364             :     }
    2365          16 :     if (MI->getNumOperands() == 2 &&
    2366          24 :         MI->getOperand(1).isImm() &&
    2367           8 :         MI->getOperand(1).getImm() == 12) {
    2368             :       // (BPXCCANT brtarget:$imm, 12)
    2369             :       AsmString = "bgu,a,pn %xcc, $\x01";
    2370             :       break;
    2371             :     }
    2372          14 :     if (MI->getNumOperands() == 2 &&
    2373          21 :         MI->getOperand(1).isImm() &&
    2374           7 :         MI->getOperand(1).getImm() == 4) {
    2375             :       // (BPXCCANT brtarget:$imm, 4)
    2376             :       AsmString = "bleu,a,pn %xcc, $\x01";
    2377             :       break;
    2378             :     }
    2379          12 :     if (MI->getNumOperands() == 2 &&
    2380          18 :         MI->getOperand(1).isImm() &&
    2381           6 :         MI->getOperand(1).getImm() == 13) {
    2382             :       // (BPXCCANT brtarget:$imm, 13)
    2383             :       AsmString = "bcc,a,pn %xcc, $\x01";
    2384             :       break;
    2385             :     }
    2386          10 :     if (MI->getNumOperands() == 2 &&
    2387          15 :         MI->getOperand(1).isImm() &&
    2388           5 :         MI->getOperand(1).getImm() == 5) {
    2389             :       // (BPXCCANT brtarget:$imm, 5)
    2390             :       AsmString = "bcs,a,pn %xcc, $\x01";
    2391             :       break;
    2392             :     }
    2393           8 :     if (MI->getNumOperands() == 2 &&
    2394          12 :         MI->getOperand(1).isImm() &&
    2395           4 :         MI->getOperand(1).getImm() == 14) {
    2396             :       // (BPXCCANT brtarget:$imm, 14)
    2397             :       AsmString = "bpos,a,pn %xcc, $\x01";
    2398             :       break;
    2399             :     }
    2400           6 :     if (MI->getNumOperands() == 2 &&
    2401           9 :         MI->getOperand(1).isImm() &&
    2402           3 :         MI->getOperand(1).getImm() == 6) {
    2403             :       // (BPXCCANT brtarget:$imm, 6)
    2404             :       AsmString = "bneg,a,pn %xcc, $\x01";
    2405             :       break;
    2406             :     }
    2407           4 :     if (MI->getNumOperands() == 2 &&
    2408           6 :         MI->getOperand(1).isImm() &&
    2409           2 :         MI->getOperand(1).getImm() == 15) {
    2410             :       // (BPXCCANT brtarget:$imm, 15)
    2411             :       AsmString = "bvc,a,pn %xcc, $\x01";
    2412             :       break;
    2413             :     }
    2414           2 :     if (MI->getNumOperands() == 2 &&
    2415           3 :         MI->getOperand(1).isImm() &&
    2416           1 :         MI->getOperand(1).getImm() == 7) {
    2417             :       // (BPXCCANT brtarget:$imm, 7)
    2418             :       AsmString = "bvs,a,pn %xcc, $\x01";
    2419             :       break;
    2420             :     }
    2421             :     return false;
    2422          14 :   case SP::BPXCCNT:
    2423          28 :     if (MI->getNumOperands() == 2 &&
    2424          42 :         MI->getOperand(1).isImm() &&
    2425          14 :         MI->getOperand(1).getImm() == 8) {
    2426             :       // (BPXCCNT brtarget:$imm, 8)
    2427             :       AsmString = "ba,pn %xcc, $\x01";
    2428             :       break;
    2429             :     }
    2430          28 :     if (MI->getNumOperands() == 2 &&
    2431          42 :         MI->getOperand(1).isImm() &&
    2432          14 :         MI->getOperand(1).getImm() == 0) {
    2433             :       // (BPXCCNT brtarget:$imm, 0)
    2434             :       AsmString = "bn,pn %xcc, $\x01";
    2435             :       break;
    2436             :     }
    2437          28 :     if (MI->getNumOperands() == 2 &&
    2438          42 :         MI->getOperand(1).isImm() &&
    2439          14 :         MI->getOperand(1).getImm() == 9) {
    2440             :       // (BPXCCNT brtarget:$imm, 9)
    2441             :       AsmString = "bne,pn %xcc, $\x01";
    2442             :       break;
    2443             :     }
    2444          26 :     if (MI->getNumOperands() == 2 &&
    2445          39 :         MI->getOperand(1).isImm() &&
    2446          13 :         MI->getOperand(1).getImm() == 1) {
    2447             :       // (BPXCCNT brtarget:$imm, 1)
    2448             :       AsmString = "be,pn %xcc, $\x01";
    2449             :       break;
    2450             :     }
    2451          24 :     if (MI->getNumOperands() == 2 &&
    2452          36 :         MI->getOperand(1).isImm() &&
    2453          12 :         MI->getOperand(1).getImm() == 10) {
    2454             :       // (BPXCCNT brtarget:$imm, 10)
    2455             :       AsmString = "bg,pn %xcc, $\x01";
    2456             :       break;
    2457             :     }
    2458          22 :     if (MI->getNumOperands() == 2 &&
    2459          33 :         MI->getOperand(1).isImm() &&
    2460          11 :         MI->getOperand(1).getImm() == 2) {
    2461             :       // (BPXCCNT brtarget:$imm, 2)
    2462             :       AsmString = "ble,pn %xcc, $\x01";
    2463             :       break;
    2464             :     }
    2465          20 :     if (MI->getNumOperands() == 2 &&
    2466          30 :         MI->getOperand(1).isImm() &&
    2467          10 :         MI->getOperand(1).getImm() == 11) {
    2468             :       // (BPXCCNT brtarget:$imm, 11)
    2469             :       AsmString = "bge,pn %xcc, $\x01";
    2470             :       break;
    2471             :     }
    2472          18 :     if (MI->getNumOperands() == 2 &&
    2473          27 :         MI->getOperand(1).isImm() &&
    2474           9 :         MI->getOperand(1).getImm() == 3) {
    2475             :       // (BPXCCNT brtarget:$imm, 3)
    2476             :       AsmString = "bl,pn %xcc, $\x01";
    2477             :       break;
    2478             :     }
    2479          16 :     if (MI->getNumOperands() == 2 &&
    2480          24 :         MI->getOperand(1).isImm() &&
    2481           8 :         MI->getOperand(1).getImm() == 12) {
    2482             :       // (BPXCCNT brtarget:$imm, 12)
    2483             :       AsmString = "bgu,pn %xcc, $\x01";
    2484             :       break;
    2485             :     }
    2486          14 :     if (MI->getNumOperands() == 2 &&
    2487          21 :         MI->getOperand(1).isImm() &&
    2488           7 :         MI->getOperand(1).getImm() == 4) {
    2489             :       // (BPXCCNT brtarget:$imm, 4)
    2490             :       AsmString = "bleu,pn %xcc, $\x01";
    2491             :       break;
    2492             :     }
    2493          12 :     if (MI->getNumOperands() == 2 &&
    2494          18 :         MI->getOperand(1).isImm() &&
    2495           6 :         MI->getOperand(1).getImm() == 13) {
    2496             :       // (BPXCCNT brtarget:$imm, 13)
    2497             :       AsmString = "bcc,pn %xcc, $\x01";
    2498             :       break;
    2499             :     }
    2500          10 :     if (MI->getNumOperands() == 2 &&
    2501          15 :         MI->getOperand(1).isImm() &&
    2502           5 :         MI->getOperand(1).getImm() == 5) {
    2503             :       // (BPXCCNT brtarget:$imm, 5)
    2504             :       AsmString = "bcs,pn %xcc, $\x01";
    2505             :       break;
    2506             :     }
    2507           8 :     if (MI->getNumOperands() == 2 &&
    2508          12 :         MI->getOperand(1).isImm() &&
    2509           4 :         MI->getOperand(1).getImm() == 14) {
    2510             :       // (BPXCCNT brtarget:$imm, 14)
    2511             :       AsmString = "bpos,pn %xcc, $\x01";
    2512             :       break;
    2513             :     }
    2514           6 :     if (MI->getNumOperands() == 2 &&
    2515           9 :         MI->getOperand(1).isImm() &&
    2516           3 :         MI->getOperand(1).getImm() == 6) {
    2517             :       // (BPXCCNT brtarget:$imm, 6)
    2518             :       AsmString = "bneg,pn %xcc, $\x01";
    2519             :       break;
    2520             :     }
    2521           4 :     if (MI->getNumOperands() == 2 &&
    2522           6 :         MI->getOperand(1).isImm() &&
    2523           2 :         MI->getOperand(1).getImm() == 15) {
    2524             :       // (BPXCCNT brtarget:$imm, 15)
    2525             :       AsmString = "bvc,pn %xcc, $\x01";
    2526             :       break;
    2527             :     }
    2528           2 :     if (MI->getNumOperands() == 2 &&
    2529           3 :         MI->getOperand(1).isImm() &&
    2530           1 :         MI->getOperand(1).getImm() == 7) {
    2531             :       // (BPXCCNT brtarget:$imm, 7)
    2532             :       AsmString = "bvs,pn %xcc, $\x01";
    2533             :       break;
    2534             :     }
    2535             :     return false;
    2536           2 :   case SP::FMOVD_ICC:
    2537           2 :     if (MI->getNumOperands() == 3 &&
    2538           0 :         MI->getOperand(0).isReg() &&
    2539           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2540           0 :         MI->getOperand(1).isReg() &&
    2541           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2542           0 :         MI->getOperand(2).isImm() &&
    2543           2 :         MI->getOperand(2).getImm() == 8 &&
    2544           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2545             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 8)
    2546             :       AsmString = "fmovda %icc, $\x02, $\x01";
    2547             :       break;
    2548             :     }
    2549           2 :     if (MI->getNumOperands() == 3 &&
    2550           0 :         MI->getOperand(0).isReg() &&
    2551           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2552           0 :         MI->getOperand(1).isReg() &&
    2553           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2554           0 :         MI->getOperand(2).isImm() &&
    2555           2 :         MI->getOperand(2).getImm() == 0 &&
    2556           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2557             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 0)
    2558             :       AsmString = "fmovdn %icc, $\x02, $\x01";
    2559             :       break;
    2560             :     }
    2561           2 :     if (MI->getNumOperands() == 3 &&
    2562           0 :         MI->getOperand(0).isReg() &&
    2563           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2564           0 :         MI->getOperand(1).isReg() &&
    2565           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2566           0 :         MI->getOperand(2).isImm() &&
    2567           2 :         MI->getOperand(2).getImm() == 9 &&
    2568           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2569             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 9)
    2570             :       AsmString = "fmovdne %icc, $\x02, $\x01";
    2571             :       break;
    2572             :     }
    2573           2 :     if (MI->getNumOperands() == 3 &&
    2574           0 :         MI->getOperand(0).isReg() &&
    2575           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2576           0 :         MI->getOperand(1).isReg() &&
    2577           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2578           0 :         MI->getOperand(2).isImm() &&
    2579           2 :         MI->getOperand(2).getImm() == 1 &&
    2580           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2581             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 1)
    2582             :       AsmString = "fmovde %icc, $\x02, $\x01";
    2583             :       break;
    2584             :     }
    2585           2 :     if (MI->getNumOperands() == 3 &&
    2586           0 :         MI->getOperand(0).isReg() &&
    2587           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2588           0 :         MI->getOperand(1).isReg() &&
    2589           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2590           0 :         MI->getOperand(2).isImm() &&
    2591           2 :         MI->getOperand(2).getImm() == 10 &&
    2592           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2593             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 10)
    2594             :       AsmString = "fmovdg %icc, $\x02, $\x01";
    2595             :       break;
    2596             :     }
    2597           2 :     if (MI->getNumOperands() == 3 &&
    2598           0 :         MI->getOperand(0).isReg() &&
    2599           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2600           0 :         MI->getOperand(1).isReg() &&
    2601           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2602           0 :         MI->getOperand(2).isImm() &&
    2603           2 :         MI->getOperand(2).getImm() == 2 &&
    2604           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2605             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 2)
    2606             :       AsmString = "fmovdle %icc, $\x02, $\x01";
    2607             :       break;
    2608             :     }
    2609           2 :     if (MI->getNumOperands() == 3 &&
    2610           0 :         MI->getOperand(0).isReg() &&
    2611           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2612           0 :         MI->getOperand(1).isReg() &&
    2613           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2614           0 :         MI->getOperand(2).isImm() &&
    2615           2 :         MI->getOperand(2).getImm() == 11 &&
    2616           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2617             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 11)
    2618             :       AsmString = "fmovdge %icc, $\x02, $\x01";
    2619             :       break;
    2620             :     }
    2621           2 :     if (MI->getNumOperands() == 3 &&
    2622           0 :         MI->getOperand(0).isReg() &&
    2623           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2624           0 :         MI->getOperand(1).isReg() &&
    2625           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2626           0 :         MI->getOperand(2).isImm() &&
    2627           2 :         MI->getOperand(2).getImm() == 3 &&
    2628           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2629             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 3)
    2630             :       AsmString = "fmovdl %icc, $\x02, $\x01";
    2631             :       break;
    2632             :     }
    2633           2 :     if (MI->getNumOperands() == 3 &&
    2634           0 :         MI->getOperand(0).isReg() &&
    2635           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2636           0 :         MI->getOperand(1).isReg() &&
    2637           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2638           0 :         MI->getOperand(2).isImm() &&
    2639           2 :         MI->getOperand(2).getImm() == 12 &&
    2640           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2641             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 12)
    2642             :       AsmString = "fmovdgu %icc, $\x02, $\x01";
    2643             :       break;
    2644             :     }
    2645           2 :     if (MI->getNumOperands() == 3 &&
    2646           0 :         MI->getOperand(0).isReg() &&
    2647           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2648           0 :         MI->getOperand(1).isReg() &&
    2649           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2650           0 :         MI->getOperand(2).isImm() &&
    2651           2 :         MI->getOperand(2).getImm() == 4 &&
    2652           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2653             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 4)
    2654             :       AsmString = "fmovdleu %icc, $\x02, $\x01";
    2655             :       break;
    2656             :     }
    2657           2 :     if (MI->getNumOperands() == 3 &&
    2658           0 :         MI->getOperand(0).isReg() &&
    2659           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2660           0 :         MI->getOperand(1).isReg() &&
    2661           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2662           0 :         MI->getOperand(2).isImm() &&
    2663           2 :         MI->getOperand(2).getImm() == 13 &&
    2664           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2665             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 13)
    2666             :       AsmString = "fmovdcc %icc, $\x02, $\x01";
    2667             :       break;
    2668             :     }
    2669           2 :     if (MI->getNumOperands() == 3 &&
    2670           0 :         MI->getOperand(0).isReg() &&
    2671           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2672           0 :         MI->getOperand(1).isReg() &&
    2673           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2674           0 :         MI->getOperand(2).isImm() &&
    2675           2 :         MI->getOperand(2).getImm() == 5 &&
    2676           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2677             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 5)
    2678             :       AsmString = "fmovdcs %icc, $\x02, $\x01";
    2679             :       break;
    2680             :     }
    2681           2 :     if (MI->getNumOperands() == 3 &&
    2682           0 :         MI->getOperand(0).isReg() &&
    2683           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2684           0 :         MI->getOperand(1).isReg() &&
    2685           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2686           0 :         MI->getOperand(2).isImm() &&
    2687           2 :         MI->getOperand(2).getImm() == 14 &&
    2688           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2689             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 14)
    2690             :       AsmString = "fmovdpos %icc, $\x02, $\x01";
    2691             :       break;
    2692             :     }
    2693           2 :     if (MI->getNumOperands() == 3 &&
    2694           0 :         MI->getOperand(0).isReg() &&
    2695           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2696           0 :         MI->getOperand(1).isReg() &&
    2697           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2698           0 :         MI->getOperand(2).isImm() &&
    2699           2 :         MI->getOperand(2).getImm() == 6 &&
    2700           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2701             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 6)
    2702             :       AsmString = "fmovdneg %icc, $\x02, $\x01";
    2703             :       break;
    2704             :     }
    2705           2 :     if (MI->getNumOperands() == 3 &&
    2706           0 :         MI->getOperand(0).isReg() &&
    2707           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2708           0 :         MI->getOperand(1).isReg() &&
    2709           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2710           0 :         MI->getOperand(2).isImm() &&
    2711           2 :         MI->getOperand(2).getImm() == 15 &&
    2712           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2713             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 15)
    2714             :       AsmString = "fmovdvc %icc, $\x02, $\x01";
    2715             :       break;
    2716             :     }
    2717           2 :     if (MI->getNumOperands() == 3 &&
    2718           0 :         MI->getOperand(0).isReg() &&
    2719           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2720           0 :         MI->getOperand(1).isReg() &&
    2721           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2722           0 :         MI->getOperand(2).isImm() &&
    2723           2 :         MI->getOperand(2).getImm() == 7 &&
    2724           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2725             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 7)
    2726             :       AsmString = "fmovdvs %icc, $\x02, $\x01";
    2727             :       break;
    2728             :     }
    2729             :     return false;
    2730           1 :   case SP::FMOVD_XCC:
    2731           1 :     if (MI->getNumOperands() == 3 &&
    2732           0 :         MI->getOperand(0).isReg() &&
    2733           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2734           0 :         MI->getOperand(1).isReg() &&
    2735           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2736           1 :         MI->getOperand(2).isImm() &&
    2737           0 :         MI->getOperand(2).getImm() == 8) {
    2738             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 8)
    2739             :       AsmString = "fmovda %xcc, $\x02, $\x01";
    2740             :       break;
    2741             :     }
    2742           1 :     if (MI->getNumOperands() == 3 &&
    2743           0 :         MI->getOperand(0).isReg() &&
    2744           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2745           0 :         MI->getOperand(1).isReg() &&
    2746           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2747           1 :         MI->getOperand(2).isImm() &&
    2748           0 :         MI->getOperand(2).getImm() == 0) {
    2749             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 0)
    2750             :       AsmString = "fmovdn %xcc, $\x02, $\x01";
    2751             :       break;
    2752             :     }
    2753           1 :     if (MI->getNumOperands() == 3 &&
    2754           0 :         MI->getOperand(0).isReg() &&
    2755           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2756           0 :         MI->getOperand(1).isReg() &&
    2757           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2758           1 :         MI->getOperand(2).isImm() &&
    2759           0 :         MI->getOperand(2).getImm() == 9) {
    2760             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 9)
    2761             :       AsmString = "fmovdne %xcc, $\x02, $\x01";
    2762             :       break;
    2763             :     }
    2764           1 :     if (MI->getNumOperands() == 3 &&
    2765           0 :         MI->getOperand(0).isReg() &&
    2766           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2767           0 :         MI->getOperand(1).isReg() &&
    2768           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2769           1 :         MI->getOperand(2).isImm() &&
    2770           0 :         MI->getOperand(2).getImm() == 1) {
    2771             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 1)
    2772             :       AsmString = "fmovde %xcc, $\x02, $\x01";
    2773             :       break;
    2774             :     }
    2775           1 :     if (MI->getNumOperands() == 3 &&
    2776           0 :         MI->getOperand(0).isReg() &&
    2777           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2778           0 :         MI->getOperand(1).isReg() &&
    2779           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2780           1 :         MI->getOperand(2).isImm() &&
    2781           0 :         MI->getOperand(2).getImm() == 10) {
    2782             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 10)
    2783             :       AsmString = "fmovdg %xcc, $\x02, $\x01";
    2784             :       break;
    2785             :     }
    2786           1 :     if (MI->getNumOperands() == 3 &&
    2787           0 :         MI->getOperand(0).isReg() &&
    2788           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2789           0 :         MI->getOperand(1).isReg() &&
    2790           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2791           1 :         MI->getOperand(2).isImm() &&
    2792           0 :         MI->getOperand(2).getImm() == 2) {
    2793             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 2)
    2794             :       AsmString = "fmovdle %xcc, $\x02, $\x01";
    2795             :       break;
    2796             :     }
    2797           1 :     if (MI->getNumOperands() == 3 &&
    2798           0 :         MI->getOperand(0).isReg() &&
    2799           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2800           0 :         MI->getOperand(1).isReg() &&
    2801           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2802           1 :         MI->getOperand(2).isImm() &&
    2803           0 :         MI->getOperand(2).getImm() == 11) {
    2804             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 11)
    2805             :       AsmString = "fmovdge %xcc, $\x02, $\x01";
    2806             :       break;
    2807             :     }
    2808           1 :     if (MI->getNumOperands() == 3 &&
    2809           0 :         MI->getOperand(0).isReg() &&
    2810           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2811           0 :         MI->getOperand(1).isReg() &&
    2812           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2813           1 :         MI->getOperand(2).isImm() &&
    2814           0 :         MI->getOperand(2).getImm() == 3) {
    2815             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 3)
    2816             :       AsmString = "fmovdl %xcc, $\x02, $\x01";
    2817             :       break;
    2818             :     }
    2819           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2825           0 :         MI->getOperand(2).getImm() == 12) {
    2826             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 12)
    2827             :       AsmString = "fmovdgu %xcc, $\x02, $\x01";
    2828             :       break;
    2829             :     }
    2830           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2836           0 :         MI->getOperand(2).getImm() == 4) {
    2837             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 4)
    2838             :       AsmString = "fmovdleu %xcc, $\x02, $\x01";
    2839             :       break;
    2840             :     }
    2841           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2847           0 :         MI->getOperand(2).getImm() == 13) {
    2848             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 13)
    2849             :       AsmString = "fmovdcc %xcc, $\x02, $\x01";
    2850             :       break;
    2851             :     }
    2852           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2858           0 :         MI->getOperand(2).getImm() == 5) {
    2859             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 5)
    2860             :       AsmString = "fmovdcs %xcc, $\x02, $\x01";
    2861             :       break;
    2862             :     }
    2863           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2869           0 :         MI->getOperand(2).getImm() == 14) {
    2870             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 14)
    2871             :       AsmString = "fmovdpos %xcc, $\x02, $\x01";
    2872             :       break;
    2873             :     }
    2874           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2880           0 :         MI->getOperand(2).getImm() == 6) {
    2881             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 6)
    2882             :       AsmString = "fmovdneg %xcc, $\x02, $\x01";
    2883             :       break;
    2884             :     }
    2885           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2891           0 :         MI->getOperand(2).getImm() == 15) {
    2892             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 15)
    2893             :       AsmString = "fmovdvc %xcc, $\x02, $\x01";
    2894             :       break;
    2895             :     }
    2896           1 :     if (MI->getNumOperands() == 3 &&
    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           1 :         MI->getOperand(2).isImm() &&
    2902           0 :         MI->getOperand(2).getImm() == 7) {
    2903             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 7)
    2904             :       AsmString = "fmovdvs %xcc, $\x02, $\x01";
    2905             :       break;
    2906             :     }
    2907             :     return false;
    2908           0 :   case SP::FMOVQ_ICC:
    2909           0 :     if (MI->getNumOperands() == 3 &&
    2910           0 :         MI->getOperand(0).isReg() &&
    2911           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2912           0 :         MI->getOperand(1).isReg() &&
    2913           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2914           0 :         MI->getOperand(2).isImm() &&
    2915           0 :         MI->getOperand(2).getImm() == 8 &&
    2916           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2917             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 8)
    2918             :       AsmString = "fmovqa %icc, $\x02, $\x01";
    2919             :       break;
    2920             :     }
    2921           0 :     if (MI->getNumOperands() == 3 &&
    2922           0 :         MI->getOperand(0).isReg() &&
    2923           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2924           0 :         MI->getOperand(1).isReg() &&
    2925           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2926           0 :         MI->getOperand(2).isImm() &&
    2927           0 :         MI->getOperand(2).getImm() == 0 &&
    2928           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2929             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 0)
    2930             :       AsmString = "fmovqn %icc, $\x02, $\x01";
    2931             :       break;
    2932             :     }
    2933           0 :     if (MI->getNumOperands() == 3 &&
    2934           0 :         MI->getOperand(0).isReg() &&
    2935           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2936           0 :         MI->getOperand(1).isReg() &&
    2937           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2938           0 :         MI->getOperand(2).isImm() &&
    2939           0 :         MI->getOperand(2).getImm() == 9 &&
    2940           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2941             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 9)
    2942             :       AsmString = "fmovqne %icc, $\x02, $\x01";
    2943             :       break;
    2944             :     }
    2945           0 :     if (MI->getNumOperands() == 3 &&
    2946           0 :         MI->getOperand(0).isReg() &&
    2947           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2948           0 :         MI->getOperand(1).isReg() &&
    2949           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2950           0 :         MI->getOperand(2).isImm() &&
    2951           0 :         MI->getOperand(2).getImm() == 1 &&
    2952           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2953             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 1)
    2954             :       AsmString = "fmovqe %icc, $\x02, $\x01";
    2955             :       break;
    2956             :     }
    2957           0 :     if (MI->getNumOperands() == 3 &&
    2958           0 :         MI->getOperand(0).isReg() &&
    2959           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2960           0 :         MI->getOperand(1).isReg() &&
    2961           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2962           0 :         MI->getOperand(2).isImm() &&
    2963           0 :         MI->getOperand(2).getImm() == 10 &&
    2964           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2965             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 10)
    2966             :       AsmString = "fmovqg %icc, $\x02, $\x01";
    2967             :       break;
    2968             :     }
    2969           0 :     if (MI->getNumOperands() == 3 &&
    2970           0 :         MI->getOperand(0).isReg() &&
    2971           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2972           0 :         MI->getOperand(1).isReg() &&
    2973           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2974           0 :         MI->getOperand(2).isImm() &&
    2975           0 :         MI->getOperand(2).getImm() == 2 &&
    2976           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2977             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 2)
    2978             :       AsmString = "fmovqle %icc, $\x02, $\x01";
    2979             :       break;
    2980             :     }
    2981           0 :     if (MI->getNumOperands() == 3 &&
    2982           0 :         MI->getOperand(0).isReg() &&
    2983           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2984           0 :         MI->getOperand(1).isReg() &&
    2985           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2986           0 :         MI->getOperand(2).isImm() &&
    2987           0 :         MI->getOperand(2).getImm() == 11 &&
    2988           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2989             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 11)
    2990             :       AsmString = "fmovqge %icc, $\x02, $\x01";
    2991             :       break;
    2992             :     }
    2993           0 :     if (MI->getNumOperands() == 3 &&
    2994           0 :         MI->getOperand(0).isReg() &&
    2995           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2996           0 :         MI->getOperand(1).isReg() &&
    2997           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2998           0 :         MI->getOperand(2).isImm() &&
    2999           0 :         MI->getOperand(2).getImm() == 3 &&
    3000           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3001             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 3)
    3002             :       AsmString = "fmovql %icc, $\x02, $\x01";
    3003             :       break;
    3004             :     }
    3005           0 :     if (MI->getNumOperands() == 3 &&
    3006           0 :         MI->getOperand(0).isReg() &&
    3007           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3008           0 :         MI->getOperand(1).isReg() &&
    3009           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3010           0 :         MI->getOperand(2).isImm() &&
    3011           0 :         MI->getOperand(2).getImm() == 12 &&
    3012           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3013             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 12)
    3014             :       AsmString = "fmovqgu %icc, $\x02, $\x01";
    3015             :       break;
    3016             :     }
    3017           0 :     if (MI->getNumOperands() == 3 &&
    3018           0 :         MI->getOperand(0).isReg() &&
    3019           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3020           0 :         MI->getOperand(1).isReg() &&
    3021           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3022           0 :         MI->getOperand(2).isImm() &&
    3023           0 :         MI->getOperand(2).getImm() == 4 &&
    3024           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3025             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 4)
    3026             :       AsmString = "fmovqleu %icc, $\x02, $\x01";
    3027             :       break;
    3028             :     }
    3029           0 :     if (MI->getNumOperands() == 3 &&
    3030           0 :         MI->getOperand(0).isReg() &&
    3031           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3032           0 :         MI->getOperand(1).isReg() &&
    3033           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3034           0 :         MI->getOperand(2).isImm() &&
    3035           0 :         MI->getOperand(2).getImm() == 13 &&
    3036           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3037             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 13)
    3038             :       AsmString = "fmovqcc %icc, $\x02, $\x01";
    3039             :       break;
    3040             :     }
    3041           0 :     if (MI->getNumOperands() == 3 &&
    3042           0 :         MI->getOperand(0).isReg() &&
    3043           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3044           0 :         MI->getOperand(1).isReg() &&
    3045           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3046           0 :         MI->getOperand(2).isImm() &&
    3047           0 :         MI->getOperand(2).getImm() == 5 &&
    3048           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3049             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 5)
    3050             :       AsmString = "fmovqcs %icc, $\x02, $\x01";
    3051             :       break;
    3052             :     }
    3053           0 :     if (MI->getNumOperands() == 3 &&
    3054           0 :         MI->getOperand(0).isReg() &&
    3055           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3056           0 :         MI->getOperand(1).isReg() &&
    3057           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3058           0 :         MI->getOperand(2).isImm() &&
    3059           0 :         MI->getOperand(2).getImm() == 14 &&
    3060           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3061             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 14)
    3062             :       AsmString = "fmovqpos %icc, $\x02, $\x01";
    3063             :       break;
    3064             :     }
    3065           0 :     if (MI->getNumOperands() == 3 &&
    3066           0 :         MI->getOperand(0).isReg() &&
    3067           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3068           0 :         MI->getOperand(1).isReg() &&
    3069           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3070           0 :         MI->getOperand(2).isImm() &&
    3071           0 :         MI->getOperand(2).getImm() == 6 &&
    3072           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3073             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 6)
    3074             :       AsmString = "fmovqneg %icc, $\x02, $\x01";
    3075             :       break;
    3076             :     }
    3077           0 :     if (MI->getNumOperands() == 3 &&
    3078           0 :         MI->getOperand(0).isReg() &&
    3079           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3080           0 :         MI->getOperand(1).isReg() &&
    3081           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3082           0 :         MI->getOperand(2).isImm() &&
    3083           0 :         MI->getOperand(2).getImm() == 15 &&
    3084           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3085             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 15)
    3086             :       AsmString = "fmovqvc %icc, $\x02, $\x01";
    3087             :       break;
    3088             :     }
    3089           0 :     if (MI->getNumOperands() == 3 &&
    3090           0 :         MI->getOperand(0).isReg() &&
    3091           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3092           0 :         MI->getOperand(1).isReg() &&
    3093           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3094           0 :         MI->getOperand(2).isImm() &&
    3095           0 :         MI->getOperand(2).getImm() == 7 &&
    3096           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3097             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 7)
    3098             :       AsmString = "fmovqvs %icc, $\x02, $\x01";
    3099             :       break;
    3100             :     }
    3101             :     return false;
    3102           0 :   case SP::FMOVQ_XCC:
    3103           0 :     if (MI->getNumOperands() == 3 &&
    3104           0 :         MI->getOperand(0).isReg() &&
    3105           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3106           0 :         MI->getOperand(1).isReg() &&
    3107           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3108           0 :         MI->getOperand(2).isImm() &&
    3109           0 :         MI->getOperand(2).getImm() == 8) {
    3110             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 8)
    3111             :       AsmString = "fmovqa %xcc, $\x02, $\x01";
    3112             :       break;
    3113             :     }
    3114           0 :     if (MI->getNumOperands() == 3 &&
    3115           0 :         MI->getOperand(0).isReg() &&
    3116           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3117           0 :         MI->getOperand(1).isReg() &&
    3118           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3119           0 :         MI->getOperand(2).isImm() &&
    3120           0 :         MI->getOperand(2).getImm() == 0) {
    3121             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 0)
    3122             :       AsmString = "fmovqn %xcc, $\x02, $\x01";
    3123             :       break;
    3124             :     }
    3125           0 :     if (MI->getNumOperands() == 3 &&
    3126           0 :         MI->getOperand(0).isReg() &&
    3127           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3128           0 :         MI->getOperand(1).isReg() &&
    3129           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3130           0 :         MI->getOperand(2).isImm() &&
    3131           0 :         MI->getOperand(2).getImm() == 9) {
    3132             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 9)
    3133             :       AsmString = "fmovqne %xcc, $\x02, $\x01";
    3134             :       break;
    3135             :     }
    3136           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3142           0 :         MI->getOperand(2).getImm() == 1) {
    3143             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 1)
    3144             :       AsmString = "fmovqe %xcc, $\x02, $\x01";
    3145             :       break;
    3146             :     }
    3147           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3153           0 :         MI->getOperand(2).getImm() == 10) {
    3154             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 10)
    3155             :       AsmString = "fmovqg %xcc, $\x02, $\x01";
    3156             :       break;
    3157             :     }
    3158           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3164           0 :         MI->getOperand(2).getImm() == 2) {
    3165             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 2)
    3166             :       AsmString = "fmovqle %xcc, $\x02, $\x01";
    3167             :       break;
    3168             :     }
    3169           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3175           0 :         MI->getOperand(2).getImm() == 11) {
    3176             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 11)
    3177             :       AsmString = "fmovqge %xcc, $\x02, $\x01";
    3178             :       break;
    3179             :     }
    3180           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3186           0 :         MI->getOperand(2).getImm() == 3) {
    3187             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 3)
    3188             :       AsmString = "fmovql %xcc, $\x02, $\x01";
    3189             :       break;
    3190             :     }
    3191           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3197           0 :         MI->getOperand(2).getImm() == 12) {
    3198             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 12)
    3199             :       AsmString = "fmovqgu %xcc, $\x02, $\x01";
    3200             :       break;
    3201             :     }
    3202           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3208           0 :         MI->getOperand(2).getImm() == 4) {
    3209             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 4)
    3210             :       AsmString = "fmovqleu %xcc, $\x02, $\x01";
    3211             :       break;
    3212             :     }
    3213           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3219           0 :         MI->getOperand(2).getImm() == 13) {
    3220             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 13)
    3221             :       AsmString = "fmovqcc %xcc, $\x02, $\x01";
    3222             :       break;
    3223             :     }
    3224           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3230           0 :         MI->getOperand(2).getImm() == 5) {
    3231             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 5)
    3232             :       AsmString = "fmovqcs %xcc, $\x02, $\x01";
    3233             :       break;
    3234             :     }
    3235           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3241           0 :         MI->getOperand(2).getImm() == 14) {
    3242             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 14)
    3243             :       AsmString = "fmovqpos %xcc, $\x02, $\x01";
    3244             :       break;
    3245             :     }
    3246           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3252           0 :         MI->getOperand(2).getImm() == 6) {
    3253             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 6)
    3254             :       AsmString = "fmovqneg %xcc, $\x02, $\x01";
    3255             :       break;
    3256             :     }
    3257           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3263           0 :         MI->getOperand(2).getImm() == 15) {
    3264             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 15)
    3265             :       AsmString = "fmovqvc %xcc, $\x02, $\x01";
    3266             :       break;
    3267             :     }
    3268           0 :     if (MI->getNumOperands() == 3 &&
    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(2).isImm() &&
    3274           0 :         MI->getOperand(2).getImm() == 7) {
    3275             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 7)
    3276             :       AsmString = "fmovqvs %xcc, $\x02, $\x01";
    3277             :       break;
    3278             :     }
    3279             :     return false;
    3280          16 :   case SP::FMOVS_ICC:
    3281          16 :     if (MI->getNumOperands() == 3 &&
    3282           0 :         MI->getOperand(0).isReg() &&
    3283           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3284           0 :         MI->getOperand(1).isReg() &&
    3285           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3286           0 :         MI->getOperand(2).isImm() &&
    3287          16 :         MI->getOperand(2).getImm() == 8 &&
    3288           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3289             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 8)
    3290             :       AsmString = "fmovsa %icc, $\x02, $\x01";
    3291             :       break;
    3292             :     }
    3293          16 :     if (MI->getNumOperands() == 3 &&
    3294           0 :         MI->getOperand(0).isReg() &&
    3295           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3296           0 :         MI->getOperand(1).isReg() &&
    3297           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3298           0 :         MI->getOperand(2).isImm() &&
    3299          16 :         MI->getOperand(2).getImm() == 0 &&
    3300           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3301             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 0)
    3302             :       AsmString = "fmovsn %icc, $\x02, $\x01";
    3303             :       break;
    3304             :     }
    3305          16 :     if (MI->getNumOperands() == 3 &&
    3306           0 :         MI->getOperand(0).isReg() &&
    3307           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3308           0 :         MI->getOperand(1).isReg() &&
    3309           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3310           0 :         MI->getOperand(2).isImm() &&
    3311          16 :         MI->getOperand(2).getImm() == 9 &&
    3312           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3313             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 9)
    3314             :       AsmString = "fmovsne %icc, $\x02, $\x01";
    3315             :       break;
    3316             :     }
    3317          16 :     if (MI->getNumOperands() == 3 &&
    3318           0 :         MI->getOperand(0).isReg() &&
    3319           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3320           0 :         MI->getOperand(1).isReg() &&
    3321           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3322           0 :         MI->getOperand(2).isImm() &&
    3323          16 :         MI->getOperand(2).getImm() == 1 &&
    3324           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3325             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 1)
    3326             :       AsmString = "fmovse %icc, $\x02, $\x01";
    3327             :       break;
    3328             :     }
    3329          16 :     if (MI->getNumOperands() == 3 &&
    3330           0 :         MI->getOperand(0).isReg() &&
    3331           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3332           0 :         MI->getOperand(1).isReg() &&
    3333           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3334           0 :         MI->getOperand(2).isImm() &&
    3335          16 :         MI->getOperand(2).getImm() == 10 &&
    3336           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3337             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 10)
    3338             :       AsmString = "fmovsg %icc, $\x02, $\x01";
    3339             :       break;
    3340             :     }
    3341          16 :     if (MI->getNumOperands() == 3 &&
    3342           0 :         MI->getOperand(0).isReg() &&
    3343           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3344           0 :         MI->getOperand(1).isReg() &&
    3345           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3346           0 :         MI->getOperand(2).isImm() &&
    3347          16 :         MI->getOperand(2).getImm() == 2 &&
    3348           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3349             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 2)
    3350             :       AsmString = "fmovsle %icc, $\x02, $\x01";
    3351             :       break;
    3352             :     }
    3353          16 :     if (MI->getNumOperands() == 3 &&
    3354           0 :         MI->getOperand(0).isReg() &&
    3355           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3356           0 :         MI->getOperand(1).isReg() &&
    3357           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3358           0 :         MI->getOperand(2).isImm() &&
    3359          16 :         MI->getOperand(2).getImm() == 11 &&
    3360           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3361             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 11)
    3362             :       AsmString = "fmovsge %icc, $\x02, $\x01";
    3363             :       break;
    3364             :     }
    3365          16 :     if (MI->getNumOperands() == 3 &&
    3366           0 :         MI->getOperand(0).isReg() &&
    3367           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3368           0 :         MI->getOperand(1).isReg() &&
    3369           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3370           0 :         MI->getOperand(2).isImm() &&
    3371          16 :         MI->getOperand(2).getImm() == 3 &&
    3372           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3373             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 3)
    3374             :       AsmString = "fmovsl %icc, $\x02, $\x01";
    3375             :       break;
    3376             :     }
    3377          16 :     if (MI->getNumOperands() == 3 &&
    3378           0 :         MI->getOperand(0).isReg() &&
    3379           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3380           0 :         MI->getOperand(1).isReg() &&
    3381           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3382           0 :         MI->getOperand(2).isImm() &&
    3383          16 :         MI->getOperand(2).getImm() == 12 &&
    3384           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3385             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 12)
    3386             :       AsmString = "fmovsgu %icc, $\x02, $\x01";
    3387             :       break;
    3388             :     }
    3389          16 :     if (MI->getNumOperands() == 3 &&
    3390           0 :         MI->getOperand(0).isReg() &&
    3391           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3392           0 :         MI->getOperand(1).isReg() &&
    3393           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3394           0 :         MI->getOperand(2).isImm() &&
    3395          16 :         MI->getOperand(2).getImm() == 4 &&
    3396           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3397             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 4)
    3398             :       AsmString = "fmovsleu %icc, $\x02, $\x01";
    3399             :       break;
    3400             :     }
    3401          16 :     if (MI->getNumOperands() == 3 &&
    3402           0 :         MI->getOperand(0).isReg() &&
    3403           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3404           0 :         MI->getOperand(1).isReg() &&
    3405           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3406           0 :         MI->getOperand(2).isImm() &&
    3407          16 :         MI->getOperand(2).getImm() == 13 &&
    3408           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3409             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 13)
    3410             :       AsmString = "fmovscc %icc, $\x02, $\x01";
    3411             :       break;
    3412             :     }
    3413          16 :     if (MI->getNumOperands() == 3 &&
    3414           0 :         MI->getOperand(0).isReg() &&
    3415           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3416           0 :         MI->getOperand(1).isReg() &&
    3417           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3418           0 :         MI->getOperand(2).isImm() &&
    3419          16 :         MI->getOperand(2).getImm() == 5 &&
    3420           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3421             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 5)
    3422             :       AsmString = "fmovscs %icc, $\x02, $\x01";
    3423             :       break;
    3424             :     }
    3425          16 :     if (MI->getNumOperands() == 3 &&
    3426           0 :         MI->getOperand(0).isReg() &&
    3427           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3428           0 :         MI->getOperand(1).isReg() &&
    3429           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3430           0 :         MI->getOperand(2).isImm() &&
    3431          16 :         MI->getOperand(2).getImm() == 14 &&
    3432           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3433             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 14)
    3434             :       AsmString = "fmovspos %icc, $\x02, $\x01";
    3435             :       break;
    3436             :     }
    3437          16 :     if (MI->getNumOperands() == 3 &&
    3438           0 :         MI->getOperand(0).isReg() &&
    3439           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3440           0 :         MI->getOperand(1).isReg() &&
    3441           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3442           0 :         MI->getOperand(2).isImm() &&
    3443          16 :         MI->getOperand(2).getImm() == 6 &&
    3444           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3445             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 6)
    3446             :       AsmString = "fmovsneg %icc, $\x02, $\x01";
    3447             :       break;
    3448             :     }
    3449          16 :     if (MI->getNumOperands() == 3 &&
    3450           0 :         MI->getOperand(0).isReg() &&
    3451           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3452           0 :         MI->getOperand(1).isReg() &&
    3453           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3454           0 :         MI->getOperand(2).isImm() &&
    3455          16 :         MI->getOperand(2).getImm() == 15 &&
    3456           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3457             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 15)
    3458             :       AsmString = "fmovsvc %icc, $\x02, $\x01";
    3459             :       break;
    3460             :     }
    3461          16 :     if (MI->getNumOperands() == 3 &&
    3462           0 :         MI->getOperand(0).isReg() &&
    3463           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3464           0 :         MI->getOperand(1).isReg() &&
    3465           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3466           0 :         MI->getOperand(2).isImm() &&
    3467          16 :         MI->getOperand(2).getImm() == 7 &&
    3468           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3469             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 7)
    3470             :       AsmString = "fmovsvs %icc, $\x02, $\x01";
    3471             :       break;
    3472             :     }
    3473             :     return false;
    3474          16 :   case SP::FMOVS_XCC:
    3475          16 :     if (MI->getNumOperands() == 3 &&
    3476           0 :         MI->getOperand(0).isReg() &&
    3477           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3478           0 :         MI->getOperand(1).isReg() &&
    3479           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3480          16 :         MI->getOperand(2).isImm() &&
    3481           0 :         MI->getOperand(2).getImm() == 8) {
    3482             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 8)
    3483             :       AsmString = "fmovsa %xcc, $\x02, $\x01";
    3484             :       break;
    3485             :     }
    3486          16 :     if (MI->getNumOperands() == 3 &&
    3487           0 :         MI->getOperand(0).isReg() &&
    3488           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3489           0 :         MI->getOperand(1).isReg() &&
    3490           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3491          16 :         MI->getOperand(2).isImm() &&
    3492           0 :         MI->getOperand(2).getImm() == 0) {
    3493             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 0)
    3494             :       AsmString = "fmovsn %xcc, $\x02, $\x01";
    3495             :       break;
    3496             :     }
    3497          16 :     if (MI->getNumOperands() == 3 &&
    3498           0 :         MI->getOperand(0).isReg() &&
    3499           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3500           0 :         MI->getOperand(1).isReg() &&
    3501           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3502          16 :         MI->getOperand(2).isImm() &&
    3503           0 :         MI->getOperand(2).getImm() == 9) {
    3504             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 9)
    3505             :       AsmString = "fmovsne %xcc, $\x02, $\x01";
    3506             :       break;
    3507             :     }
    3508          16 :     if (MI->getNumOperands() == 3 &&
    3509           0 :         MI->getOperand(0).isReg() &&
    3510           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3511           0 :         MI->getOperand(1).isReg() &&
    3512           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3513          16 :         MI->getOperand(2).isImm() &&
    3514           0 :         MI->getOperand(2).getImm() == 1) {
    3515             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 1)
    3516             :       AsmString = "fmovse %xcc, $\x02, $\x01";
    3517             :       break;
    3518             :     }
    3519          16 :     if (MI->getNumOperands() == 3 &&
    3520           0 :         MI->getOperand(0).isReg() &&
    3521           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3522           0 :         MI->getOperand(1).isReg() &&
    3523           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3524          16 :         MI->getOperand(2).isImm() &&
    3525           0 :         MI->getOperand(2).getImm() == 10) {
    3526             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 10)
    3527             :       AsmString = "fmovsg %xcc, $\x02, $\x01";
    3528             :       break;
    3529             :     }
    3530          16 :     if (MI->getNumOperands() == 3 &&
    3531           0 :         MI->getOperand(0).isReg() &&
    3532           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3533           0 :         MI->getOperand(1).isReg() &&
    3534           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3535          16 :         MI->getOperand(2).isImm() &&
    3536           0 :         MI->getOperand(2).getImm() == 2) {
    3537             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 2)
    3538             :       AsmString = "fmovsle %xcc, $\x02, $\x01";
    3539             :       break;
    3540             :     }
    3541          16 :     if (MI->getNumOperands() == 3 &&
    3542           0 :         MI->getOperand(0).isReg() &&
    3543           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3544           0 :         MI->getOperand(1).isReg() &&
    3545           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3546          16 :         MI->getOperand(2).isImm() &&
    3547           0 :         MI->getOperand(2).getImm() == 11) {
    3548             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 11)
    3549             :       AsmString = "fmovsge %xcc, $\x02, $\x01";
    3550             :       break;
    3551             :     }
    3552          16 :     if (MI->getNumOperands() == 3 &&
    3553           0 :         MI->getOperand(0).isReg() &&
    3554           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3555           0 :         MI->getOperand(1).isReg() &&
    3556           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3557          16 :         MI->getOperand(2).isImm() &&
    3558           0 :         MI->getOperand(2).getImm() == 3) {
    3559             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 3)
    3560             :       AsmString = "fmovsl %xcc, $\x02, $\x01";
    3561             :       break;
    3562             :     }
    3563          16 :     if (MI->getNumOperands() == 3 &&
    3564           0 :         MI->getOperand(0).isReg() &&
    3565           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3566           0 :         MI->getOperand(1).isReg() &&
    3567           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3568          16 :         MI->getOperand(2).isImm() &&
    3569           0 :         MI->getOperand(2).getImm() == 12) {
    3570             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 12)
    3571             :       AsmString = "fmovsgu %xcc, $\x02, $\x01";
    3572             :       break;
    3573             :     }
    3574          16 :     if (MI->getNumOperands() == 3 &&
    3575           0 :         MI->getOperand(0).isReg() &&
    3576           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3577           0 :         MI->getOperand(1).isReg() &&
    3578           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3579          16 :         MI->getOperand(2).isImm() &&
    3580           0 :         MI->getOperand(2).getImm() == 4) {
    3581             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 4)
    3582             :       AsmString = "fmovsleu %xcc, $\x02, $\x01";
    3583             :       break;
    3584             :     }
    3585          16 :     if (MI->getNumOperands() == 3 &&
    3586           0 :         MI->getOperand(0).isReg() &&
    3587           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3588           0 :         MI->getOperand(1).isReg() &&
    3589           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3590          16 :         MI->getOperand(2).isImm() &&
    3591           0 :         MI->getOperand(2).getImm() == 13) {
    3592             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 13)
    3593             :       AsmString = "fmovscc %xcc, $\x02, $\x01";
    3594             :       break;
    3595             :     }
    3596          16 :     if (MI->getNumOperands() == 3 &&
    3597           0 :         MI->getOperand(0).isReg() &&
    3598           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3599           0 :         MI->getOperand(1).isReg() &&
    3600           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3601          16 :         MI->getOperand(2).isImm() &&
    3602           0 :         MI->getOperand(2).getImm() == 5) {
    3603             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 5)
    3604             :       AsmString = "fmovscs %xcc, $\x02, $\x01";
    3605             :       break;
    3606             :     }
    3607          16 :     if (MI->getNumOperands() == 3 &&
    3608           0 :         MI->getOperand(0).isReg() &&
    3609           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3610           0 :         MI->getOperand(1).isReg() &&
    3611           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3612          16 :         MI->getOperand(2).isImm() &&
    3613           0 :         MI->getOperand(2).getImm() == 14) {
    3614             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 14)
    3615             :       AsmString = "fmovspos %xcc, $\x02, $\x01";
    3616             :       break;
    3617             :     }
    3618          16 :     if (MI->getNumOperands() == 3 &&
    3619           0 :         MI->getOperand(0).isReg() &&
    3620           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3621           0 :         MI->getOperand(1).isReg() &&
    3622           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3623          16 :         MI->getOperand(2).isImm() &&
    3624           0 :         MI->getOperand(2).getImm() == 6) {
    3625             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 6)
    3626             :       AsmString = "fmovsneg %xcc, $\x02, $\x01";
    3627             :       break;
    3628             :     }
    3629          16 :     if (MI->getNumOperands() == 3 &&
    3630           0 :         MI->getOperand(0).isReg() &&
    3631           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3632           0 :         MI->getOperand(1).isReg() &&
    3633           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3634          16 :         MI->getOperand(2).isImm() &&
    3635           0 :         MI->getOperand(2).getImm() == 15) {
    3636             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 15)
    3637             :       AsmString = "fmovsvc %xcc, $\x02, $\x01";
    3638             :       break;
    3639             :     }
    3640          16 :     if (MI->getNumOperands() == 3 &&
    3641           0 :         MI->getOperand(0).isReg() &&
    3642           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3643           0 :         MI->getOperand(1).isReg() &&
    3644           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3645          16 :         MI->getOperand(2).isImm() &&
    3646           0 :         MI->getOperand(2).getImm() == 7) {
    3647             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 7)
    3648             :       AsmString = "fmovsvs %xcc, $\x02, $\x01";
    3649             :       break;
    3650             :     }
    3651             :     return false;
    3652          13 :   case SP::MOVICCri:
    3653          13 :     if (MI->getNumOperands() == 3 &&
    3654           0 :         MI->getOperand(0).isReg() &&
    3655           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3656           0 :         MI->getOperand(2).isImm() &&
    3657          13 :         MI->getOperand(2).getImm() == 8 &&
    3658           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3659             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 8)
    3660             :       AsmString = "mova %icc, $\x02, $\x01";
    3661             :       break;
    3662             :     }
    3663          13 :     if (MI->getNumOperands() == 3 &&
    3664           0 :         MI->getOperand(0).isReg() &&
    3665           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3666           0 :         MI->getOperand(2).isImm() &&
    3667          13 :         MI->getOperand(2).getImm() == 0 &&
    3668           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3669             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 0)
    3670             :       AsmString = "movn %icc, $\x02, $\x01";
    3671             :       break;
    3672             :     }
    3673          13 :     if (MI->getNumOperands() == 3 &&
    3674           0 :         MI->getOperand(0).isReg() &&
    3675           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3676           0 :         MI->getOperand(2).isImm() &&
    3677          13 :         MI->getOperand(2).getImm() == 9 &&
    3678           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3679             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 9)
    3680             :       AsmString = "movne %icc, $\x02, $\x01";
    3681             :       break;
    3682             :     }
    3683          13 :     if (MI->getNumOperands() == 3 &&
    3684           0 :         MI->getOperand(0).isReg() &&
    3685           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3686           0 :         MI->getOperand(2).isImm() &&
    3687          13 :         MI->getOperand(2).getImm() == 1 &&
    3688           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3689             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 1)
    3690             :       AsmString = "move %icc, $\x02, $\x01";
    3691             :       break;
    3692             :     }
    3693          13 :     if (MI->getNumOperands() == 3 &&
    3694           0 :         MI->getOperand(0).isReg() &&
    3695           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3696           0 :         MI->getOperand(2).isImm() &&
    3697          13 :         MI->getOperand(2).getImm() == 10 &&
    3698           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3699             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 10)
    3700             :       AsmString = "movg %icc, $\x02, $\x01";
    3701             :       break;
    3702             :     }
    3703          13 :     if (MI->getNumOperands() == 3 &&
    3704           0 :         MI->getOperand(0).isReg() &&
    3705           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3706           0 :         MI->getOperand(2).isImm() &&
    3707          13 :         MI->getOperand(2).getImm() == 2 &&
    3708           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3709             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 2)
    3710             :       AsmString = "movle %icc, $\x02, $\x01";
    3711             :       break;
    3712             :     }
    3713          13 :     if (MI->getNumOperands() == 3 &&
    3714           0 :         MI->getOperand(0).isReg() &&
    3715           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3716           0 :         MI->getOperand(2).isImm() &&
    3717          13 :         MI->getOperand(2).getImm() == 11 &&
    3718           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3719             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 11)
    3720             :       AsmString = "movge %icc, $\x02, $\x01";
    3721             :       break;
    3722             :     }
    3723          13 :     if (MI->getNumOperands() == 3 &&
    3724           0 :         MI->getOperand(0).isReg() &&
    3725           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3726           0 :         MI->getOperand(2).isImm() &&
    3727          13 :         MI->getOperand(2).getImm() == 3 &&
    3728           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3729             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 3)
    3730             :       AsmString = "movl %icc, $\x02, $\x01";
    3731             :       break;
    3732             :     }
    3733          13 :     if (MI->getNumOperands() == 3 &&
    3734           0 :         MI->getOperand(0).isReg() &&
    3735           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3736           0 :         MI->getOperand(2).isImm() &&
    3737          13 :         MI->getOperand(2).getImm() == 12 &&
    3738           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3739             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 12)
    3740             :       AsmString = "movgu %icc, $\x02, $\x01";
    3741             :       break;
    3742             :     }
    3743          13 :     if (MI->getNumOperands() == 3 &&
    3744           0 :         MI->getOperand(0).isReg() &&
    3745           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3746           0 :         MI->getOperand(2).isImm() &&
    3747          13 :         MI->getOperand(2).getImm() == 4 &&
    3748           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3749             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 4)
    3750             :       AsmString = "movleu %icc, $\x02, $\x01";
    3751             :       break;
    3752             :     }
    3753          13 :     if (MI->getNumOperands() == 3 &&
    3754           0 :         MI->getOperand(0).isReg() &&
    3755           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3756           0 :         MI->getOperand(2).isImm() &&
    3757          13 :         MI->getOperand(2).getImm() == 13 &&
    3758           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3759             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 13)
    3760             :       AsmString = "movcc %icc, $\x02, $\x01";
    3761             :       break;
    3762             :     }
    3763          13 :     if (MI->getNumOperands() == 3 &&
    3764           0 :         MI->getOperand(0).isReg() &&
    3765           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3766           0 :         MI->getOperand(2).isImm() &&
    3767          13 :         MI->getOperand(2).getImm() == 5 &&
    3768           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3769             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 5)
    3770             :       AsmString = "movcs %icc, $\x02, $\x01";
    3771             :       break;
    3772             :     }
    3773          13 :     if (MI->getNumOperands() == 3 &&
    3774           0 :         MI->getOperand(0).isReg() &&
    3775           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3776           0 :         MI->getOperand(2).isImm() &&
    3777          13 :         MI->getOperand(2).getImm() == 14 &&
    3778           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3779             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 14)
    3780             :       AsmString = "movpos %icc, $\x02, $\x01";
    3781             :       break;
    3782             :     }
    3783          13 :     if (MI->getNumOperands() == 3 &&
    3784           0 :         MI->getOperand(0).isReg() &&
    3785           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3786           0 :         MI->getOperand(2).isImm() &&
    3787          13 :         MI->getOperand(2).getImm() == 6 &&
    3788           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3789             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 6)
    3790             :       AsmString = "movneg %icc, $\x02, $\x01";
    3791             :       break;
    3792             :     }
    3793          13 :     if (MI->getNumOperands() == 3 &&
    3794           0 :         MI->getOperand(0).isReg() &&
    3795           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3796           0 :         MI->getOperand(2).isImm() &&
    3797          13 :         MI->getOperand(2).getImm() == 15 &&
    3798           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3799             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 15)
    3800             :       AsmString = "movvc %icc, $\x02, $\x01";
    3801             :       break;
    3802             :     }
    3803          13 :     if (MI->getNumOperands() == 3 &&
    3804           0 :         MI->getOperand(0).isReg() &&
    3805           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3806           0 :         MI->getOperand(2).isImm() &&
    3807          13 :         MI->getOperand(2).getImm() == 7 &&
    3808           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3809             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 7)
    3810             :       AsmString = "movvs %icc, $\x02, $\x01";
    3811             :       break;
    3812             :     }
    3813             :     return false;
    3814          19 :   case SP::MOVICCrr:
    3815          19 :     if (MI->getNumOperands() == 3 &&
    3816           0 :         MI->getOperand(0).isReg() &&
    3817           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3818           0 :         MI->getOperand(1).isReg() &&
    3819           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3820           0 :         MI->getOperand(2).isImm() &&
    3821          19 :         MI->getOperand(2).getImm() == 8 &&
    3822           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3823             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 8)
    3824             :       AsmString = "mova %icc, $\x02, $\x01";
    3825             :       break;
    3826             :     }
    3827          19 :     if (MI->getNumOperands() == 3 &&
    3828           0 :         MI->getOperand(0).isReg() &&
    3829           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3830           0 :         MI->getOperand(1).isReg() &&
    3831           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3832           0 :         MI->getOperand(2).isImm() &&
    3833          19 :         MI->getOperand(2).getImm() == 0 &&
    3834           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3835             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 0)
    3836             :       AsmString = "movn %icc, $\x02, $\x01";
    3837             :       break;
    3838             :     }
    3839          19 :     if (MI->getNumOperands() == 3 &&
    3840           0 :         MI->getOperand(0).isReg() &&
    3841           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3842           0 :         MI->getOperand(1).isReg() &&
    3843           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3844           0 :         MI->getOperand(2).isImm() &&
    3845          19 :         MI->getOperand(2).getImm() == 9 &&
    3846           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3847             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 9)
    3848             :       AsmString = "movne %icc, $\x02, $\x01";
    3849             :       break;
    3850             :     }
    3851          19 :     if (MI->getNumOperands() == 3 &&
    3852           0 :         MI->getOperand(0).isReg() &&
    3853           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3854           0 :         MI->getOperand(1).isReg() &&
    3855           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3856           0 :         MI->getOperand(2).isImm() &&
    3857          19 :         MI->getOperand(2).getImm() == 1 &&
    3858           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3859             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 1)
    3860             :       AsmString = "move %icc, $\x02, $\x01";
    3861             :       break;
    3862             :     }
    3863          19 :     if (MI->getNumOperands() == 3 &&
    3864           0 :         MI->getOperand(0).isReg() &&
    3865           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3866           0 :         MI->getOperand(1).isReg() &&
    3867           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3868           0 :         MI->getOperand(2).isImm() &&
    3869          19 :         MI->getOperand(2).getImm() == 10 &&
    3870           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3871             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 10)
    3872             :       AsmString = "movg %icc, $\x02, $\x01";
    3873             :       break;
    3874             :     }
    3875          19 :     if (MI->getNumOperands() == 3 &&
    3876           0 :         MI->getOperand(0).isReg() &&
    3877           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3878           0 :         MI->getOperand(1).isReg() &&
    3879           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3880           0 :         MI->getOperand(2).isImm() &&
    3881          19 :         MI->getOperand(2).getImm() == 2 &&
    3882           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3883             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 2)
    3884             :       AsmString = "movle %icc, $\x02, $\x01";
    3885             :       break;
    3886             :     }
    3887          19 :     if (MI->getNumOperands() == 3 &&
    3888           0 :         MI->getOperand(0).isReg() &&
    3889           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3890           0 :         MI->getOperand(1).isReg() &&
    3891           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3892           0 :         MI->getOperand(2).isImm() &&
    3893          19 :         MI->getOperand(2).getImm() == 11 &&
    3894           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3895             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 11)
    3896             :       AsmString = "movge %icc, $\x02, $\x01";
    3897             :       break;
    3898             :     }
    3899          19 :     if (MI->getNumOperands() == 3 &&
    3900           0 :         MI->getOperand(0).isReg() &&
    3901           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3902           0 :         MI->getOperand(1).isReg() &&
    3903           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3904           0 :         MI->getOperand(2).isImm() &&
    3905          19 :         MI->getOperand(2).getImm() == 3 &&
    3906           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3907             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 3)
    3908             :       AsmString = "movl %icc, $\x02, $\x01";
    3909             :       break;
    3910             :     }
    3911          19 :     if (MI->getNumOperands() == 3 &&
    3912           0 :         MI->getOperand(0).isReg() &&
    3913           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3914           0 :         MI->getOperand(1).isReg() &&
    3915           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3916           0 :         MI->getOperand(2).isImm() &&
    3917          19 :         MI->getOperand(2).getImm() == 12 &&
    3918           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3919             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 12)
    3920             :       AsmString = "movgu %icc, $\x02, $\x01";
    3921             :       break;
    3922             :     }
    3923          19 :     if (MI->getNumOperands() == 3 &&
    3924           0 :         MI->getOperand(0).isReg() &&
    3925           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3926           0 :         MI->getOperand(1).isReg() &&
    3927           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3928           0 :         MI->getOperand(2).isImm() &&
    3929          19 :         MI->getOperand(2).getImm() == 4 &&
    3930           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3931             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 4)
    3932             :       AsmString = "movleu %icc, $\x02, $\x01";
    3933             :       break;
    3934             :     }
    3935          19 :     if (MI->getNumOperands() == 3 &&
    3936           0 :         MI->getOperand(0).isReg() &&
    3937           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3938           0 :         MI->getOperand(1).isReg() &&
    3939           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3940           0 :         MI->getOperand(2).isImm() &&
    3941          19 :         MI->getOperand(2).getImm() == 13 &&
    3942           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3943             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 13)
    3944             :       AsmString = "movcc %icc, $\x02, $\x01";
    3945             :       break;
    3946             :     }
    3947          19 :     if (MI->getNumOperands() == 3 &&
    3948           0 :         MI->getOperand(0).isReg() &&
    3949           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3950           0 :         MI->getOperand(1).isReg() &&
    3951           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3952           0 :         MI->getOperand(2).isImm() &&
    3953          19 :         MI->getOperand(2).getImm() == 5 &&
    3954           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3955             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 5)
    3956             :       AsmString = "movcs %icc, $\x02, $\x01";
    3957             :       break;
    3958             :     }
    3959          19 :     if (MI->getNumOperands() == 3 &&
    3960           0 :         MI->getOperand(0).isReg() &&
    3961           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3962           0 :         MI->getOperand(1).isReg() &&
    3963           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3964           0 :         MI->getOperand(2).isImm() &&
    3965          19 :         MI->getOperand(2).getImm() == 14 &&
    3966           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3967             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 14)
    3968             :       AsmString = "movpos %icc, $\x02, $\x01";
    3969             :       break;
    3970             :     }
    3971          19 :     if (MI->getNumOperands() == 3 &&
    3972           0 :         MI->getOperand(0).isReg() &&
    3973           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3974           0 :         MI->getOperand(1).isReg() &&
    3975           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3976           0 :         MI->getOperand(2).isImm() &&
    3977          19 :         MI->getOperand(2).getImm() == 6 &&
    3978           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3979             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 6)
    3980             :       AsmString = "movneg %icc, $\x02, $\x01";
    3981             :       break;
    3982             :     }
    3983          19 :     if (MI->getNumOperands() == 3 &&
    3984           0 :         MI->getOperand(0).isReg() &&
    3985           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3986           0 :         MI->getOperand(1).isReg() &&
    3987           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3988           0 :         MI->getOperand(2).isImm() &&
    3989          19 :         MI->getOperand(2).getImm() == 15 &&
    3990           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3991             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 15)
    3992             :       AsmString = "movvc %icc, $\x02, $\x01";
    3993             :       break;
    3994             :     }
    3995          19 :     if (MI->getNumOperands() == 3 &&
    3996           0 :         MI->getOperand(0).isReg() &&
    3997           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3998           0 :         MI->getOperand(1).isReg() &&
    3999           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4000           0 :         MI->getOperand(2).isImm() &&
    4001          19 :         MI->getOperand(2).getImm() == 7 &&
    4002           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4003             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 7)
    4004             :       AsmString = "movvs %icc, $\x02, $\x01";
    4005             :       break;
    4006             :     }
    4007             :     return false;
    4008          10 :   case SP::MOVXCCri:
    4009          10 :     if (MI->getNumOperands() == 3 &&
    4010           0 :         MI->getOperand(0).isReg() &&
    4011           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4012          10 :         MI->getOperand(2).isImm() &&
    4013           0 :         MI->getOperand(2).getImm() == 8) {
    4014             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 8)
    4015             :       AsmString = "mova %xcc, $\x02, $\x01";
    4016             :       break;
    4017             :     }
    4018          10 :     if (MI->getNumOperands() == 3 &&
    4019           0 :         MI->getOperand(0).isReg() &&
    4020           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4021          10 :         MI->getOperand(2).isImm() &&
    4022           0 :         MI->getOperand(2).getImm() == 0) {
    4023             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 0)
    4024             :       AsmString = "movn %xcc, $\x02, $\x01";
    4025             :       break;
    4026             :     }
    4027          10 :     if (MI->getNumOperands() == 3 &&
    4028           0 :         MI->getOperand(0).isReg() &&
    4029           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4030          10 :         MI->getOperand(2).isImm() &&
    4031           0 :         MI->getOperand(2).getImm() == 9) {
    4032             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 9)
    4033             :       AsmString = "movne %xcc, $\x02, $\x01";
    4034             :       break;
    4035             :     }
    4036          10 :     if (MI->getNumOperands() == 3 &&
    4037           0 :         MI->getOperand(0).isReg() &&
    4038           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4039          10 :         MI->getOperand(2).isImm() &&
    4040           0 :         MI->getOperand(2).getImm() == 1) {
    4041             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 1)
    4042             :       AsmString = "move %xcc, $\x02, $\x01";
    4043             :       break;
    4044             :     }
    4045          10 :     if (MI->getNumOperands() == 3 &&
    4046           0 :         MI->getOperand(0).isReg() &&
    4047           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4048          10 :         MI->getOperand(2).isImm() &&
    4049           0 :         MI->getOperand(2).getImm() == 10) {
    4050             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 10)
    4051             :       AsmString = "movg %xcc, $\x02, $\x01";
    4052             :       break;
    4053             :     }
    4054          10 :     if (MI->getNumOperands() == 3 &&
    4055           0 :         MI->getOperand(0).isReg() &&
    4056           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4057          10 :         MI->getOperand(2).isImm() &&
    4058           0 :         MI->getOperand(2).getImm() == 2) {
    4059             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 2)
    4060             :       AsmString = "movle %xcc, $\x02, $\x01";
    4061             :       break;
    4062             :     }
    4063          10 :     if (MI->getNumOperands() == 3 &&
    4064           0 :         MI->getOperand(0).isReg() &&
    4065           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4066          10 :         MI->getOperand(2).isImm() &&
    4067           0 :         MI->getOperand(2).getImm() == 11) {
    4068             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 11)
    4069             :       AsmString = "movge %xcc, $\x02, $\x01";
    4070             :       break;
    4071             :     }
    4072          10 :     if (MI->getNumOperands() == 3 &&
    4073           0 :         MI->getOperand(0).isReg() &&
    4074           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4075          10 :         MI->getOperand(2).isImm() &&
    4076           0 :         MI->getOperand(2).getImm() == 3) {
    4077             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 3)
    4078             :       AsmString = "movl %xcc, $\x02, $\x01";
    4079             :       break;
    4080             :     }
    4081          10 :     if (MI->getNumOperands() == 3 &&
    4082           0 :         MI->getOperand(0).isReg() &&
    4083           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4084          10 :         MI->getOperand(2).isImm() &&
    4085           0 :         MI->getOperand(2).getImm() == 12) {
    4086             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 12)
    4087             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4088             :       break;
    4089             :     }
    4090          10 :     if (MI->getNumOperands() == 3 &&
    4091           0 :         MI->getOperand(0).isReg() &&
    4092           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4093          10 :         MI->getOperand(2).isImm() &&
    4094           0 :         MI->getOperand(2).getImm() == 4) {
    4095             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 4)
    4096             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4097             :       break;
    4098             :     }
    4099          10 :     if (MI->getNumOperands() == 3 &&
    4100           0 :         MI->getOperand(0).isReg() &&
    4101           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4102          10 :         MI->getOperand(2).isImm() &&
    4103           0 :         MI->getOperand(2).getImm() == 13) {
    4104             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 13)
    4105             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4106             :       break;
    4107             :     }
    4108          10 :     if (MI->getNumOperands() == 3 &&
    4109           0 :         MI->getOperand(0).isReg() &&
    4110           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4111          10 :         MI->getOperand(2).isImm() &&
    4112           0 :         MI->getOperand(2).getImm() == 5) {
    4113             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 5)
    4114             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4115             :       break;
    4116             :     }
    4117          10 :     if (MI->getNumOperands() == 3 &&
    4118           0 :         MI->getOperand(0).isReg() &&
    4119           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4120          10 :         MI->getOperand(2).isImm() &&
    4121           0 :         MI->getOperand(2).getImm() == 14) {
    4122             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 14)
    4123             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4124             :       break;
    4125             :     }
    4126          10 :     if (MI->getNumOperands() == 3 &&
    4127           0 :         MI->getOperand(0).isReg() &&
    4128           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4129          10 :         MI->getOperand(2).isImm() &&
    4130           0 :         MI->getOperand(2).getImm() == 6) {
    4131             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 6)
    4132             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4133             :       break;
    4134             :     }
    4135          10 :     if (MI->getNumOperands() == 3 &&
    4136           0 :         MI->getOperand(0).isReg() &&
    4137           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4138          10 :         MI->getOperand(2).isImm() &&
    4139           0 :         MI->getOperand(2).getImm() == 15) {
    4140             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 15)
    4141             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4142             :       break;
    4143             :     }
    4144          10 :     if (MI->getNumOperands() == 3 &&
    4145           0 :         MI->getOperand(0).isReg() &&
    4146           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4147          10 :         MI->getOperand(2).isImm() &&
    4148           0 :         MI->getOperand(2).getImm() == 7) {
    4149             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 7)
    4150             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4151             :       break;
    4152             :     }
    4153             :     return false;
    4154          17 :   case SP::MOVXCCrr:
    4155          17 :     if (MI->getNumOperands() == 3 &&
    4156           0 :         MI->getOperand(0).isReg() &&
    4157           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4158           0 :         MI->getOperand(1).isReg() &&
    4159           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4160          17 :         MI->getOperand(2).isImm() &&
    4161           0 :         MI->getOperand(2).getImm() == 8) {
    4162             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 8)
    4163             :       AsmString = "mova %xcc, $\x02, $\x01";
    4164             :       break;
    4165             :     }
    4166          17 :     if (MI->getNumOperands() == 3 &&
    4167           0 :         MI->getOperand(0).isReg() &&
    4168           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4169           0 :         MI->getOperand(1).isReg() &&
    4170           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4171          17 :         MI->getOperand(2).isImm() &&
    4172           0 :         MI->getOperand(2).getImm() == 0) {
    4173             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 0)
    4174             :       AsmString = "movn %xcc, $\x02, $\x01";
    4175             :       break;
    4176             :     }
    4177          17 :     if (MI->getNumOperands() == 3 &&
    4178           0 :         MI->getOperand(0).isReg() &&
    4179           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4180           0 :         MI->getOperand(1).isReg() &&
    4181           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4182          17 :         MI->getOperand(2).isImm() &&
    4183           0 :         MI->getOperand(2).getImm() == 9) {
    4184             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 9)
    4185             :       AsmString = "movne %xcc, $\x02, $\x01";
    4186             :       break;
    4187             :     }
    4188          17 :     if (MI->getNumOperands() == 3 &&
    4189           0 :         MI->getOperand(0).isReg() &&
    4190           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4191           0 :         MI->getOperand(1).isReg() &&
    4192           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4193          17 :         MI->getOperand(2).isImm() &&
    4194           0 :         MI->getOperand(2).getImm() == 1) {
    4195             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 1)
    4196             :       AsmString = "move %xcc, $\x02, $\x01";
    4197             :       break;
    4198             :     }
    4199          17 :     if (MI->getNumOperands() == 3 &&
    4200           0 :         MI->getOperand(0).isReg() &&
    4201           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4202           0 :         MI->getOperand(1).isReg() &&
    4203           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4204          17 :         MI->getOperand(2).isImm() &&
    4205           0 :         MI->getOperand(2).getImm() == 10) {
    4206             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 10)
    4207             :       AsmString = "movg %xcc, $\x02, $\x01";
    4208             :       break;
    4209             :     }
    4210          17 :     if (MI->getNumOperands() == 3 &&
    4211           0 :         MI->getOperand(0).isReg() &&
    4212           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4213           0 :         MI->getOperand(1).isReg() &&
    4214           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4215          17 :         MI->getOperand(2).isImm() &&
    4216           0 :         MI->getOperand(2).getImm() == 2) {
    4217             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 2)
    4218             :       AsmString = "movle %xcc, $\x02, $\x01";
    4219             :       break;
    4220             :     }
    4221          17 :     if (MI->getNumOperands() == 3 &&
    4222           0 :         MI->getOperand(0).isReg() &&
    4223           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4224           0 :         MI->getOperand(1).isReg() &&
    4225           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4226          17 :         MI->getOperand(2).isImm() &&
    4227           0 :         MI->getOperand(2).getImm() == 11) {
    4228             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 11)
    4229             :       AsmString = "movge %xcc, $\x02, $\x01";
    4230             :       break;
    4231             :     }
    4232          17 :     if (MI->getNumOperands() == 3 &&
    4233           0 :         MI->getOperand(0).isReg() &&
    4234           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4235           0 :         MI->getOperand(1).isReg() &&
    4236           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4237          17 :         MI->getOperand(2).isImm() &&
    4238           0 :         MI->getOperand(2).getImm() == 3) {
    4239             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 3)
    4240             :       AsmString = "movl %xcc, $\x02, $\x01";
    4241             :       break;
    4242             :     }
    4243          17 :     if (MI->getNumOperands() == 3 &&
    4244           0 :         MI->getOperand(0).isReg() &&
    4245           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4246           0 :         MI->getOperand(1).isReg() &&
    4247           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4248          17 :         MI->getOperand(2).isImm() &&
    4249           0 :         MI->getOperand(2).getImm() == 12) {
    4250             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 12)
    4251             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4252             :       break;
    4253             :     }
    4254          17 :     if (MI->getNumOperands() == 3 &&
    4255           0 :         MI->getOperand(0).isReg() &&
    4256           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4257           0 :         MI->getOperand(1).isReg() &&
    4258           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4259          17 :         MI->getOperand(2).isImm() &&
    4260           0 :         MI->getOperand(2).getImm() == 4) {
    4261             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 4)
    4262             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4263             :       break;
    4264             :     }
    4265          17 :     if (MI->getNumOperands() == 3 &&
    4266           0 :         MI->getOperand(0).isReg() &&
    4267           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4268           0 :         MI->getOperand(1).isReg() &&
    4269           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4270          17 :         MI->getOperand(2).isImm() &&
    4271           0 :         MI->getOperand(2).getImm() == 13) {
    4272             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 13)
    4273             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4274             :       break;
    4275             :     }
    4276          17 :     if (MI->getNumOperands() == 3 &&
    4277           0 :         MI->getOperand(0).isReg() &&
    4278           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4279           0 :         MI->getOperand(1).isReg() &&
    4280           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4281          17 :         MI->getOperand(2).isImm() &&
    4282           0 :         MI->getOperand(2).getImm() == 5) {
    4283             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 5)
    4284             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4285             :       break;
    4286             :     }
    4287          17 :     if (MI->getNumOperands() == 3 &&
    4288           0 :         MI->getOperand(0).isReg() &&
    4289           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4290           0 :         MI->getOperand(1).isReg() &&
    4291           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4292          17 :         MI->getOperand(2).isImm() &&
    4293           0 :         MI->getOperand(2).getImm() == 14) {
    4294             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 14)
    4295             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4296             :       break;
    4297             :     }
    4298          17 :     if (MI->getNumOperands() == 3 &&
    4299           0 :         MI->getOperand(0).isReg() &&
    4300           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4301           0 :         MI->getOperand(1).isReg() &&
    4302           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4303          17 :         MI->getOperand(2).isImm() &&
    4304           0 :         MI->getOperand(2).getImm() == 6) {
    4305             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 6)
    4306             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4307             :       break;
    4308             :     }
    4309          17 :     if (MI->getNumOperands() == 3 &&
    4310           0 :         MI->getOperand(0).isReg() &&
    4311           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4312           0 :         MI->getOperand(1).isReg() &&
    4313           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4314          17 :         MI->getOperand(2).isImm() &&
    4315           0 :         MI->getOperand(2).getImm() == 15) {
    4316             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 15)
    4317             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4318             :       break;
    4319             :     }
    4320          17 :     if (MI->getNumOperands() == 3 &&
    4321           0 :         MI->getOperand(0).isReg() &&
    4322           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4323           0 :         MI->getOperand(1).isReg() &&
    4324           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4325          17 :         MI->getOperand(2).isImm() &&
    4326           0 :         MI->getOperand(2).getImm() == 7) {
    4327             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 7)
    4328             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4329             :       break;
    4330             :     }
    4331             :     return false;
    4332           6 :   case SP::ORCCrr:
    4333          12 :     if (MI->getNumOperands() == 3 &&
    4334          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4335           8 :         MI->getOperand(1).isReg() &&
    4336          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4337           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4338             :       // (ORCCrr G0, IntRegs:$rs2, G0)
    4339             :       AsmString = "tst $\x02";
    4340             :       break;
    4341             :     }
    4342             :     return false;
    4343         302 :   case SP::ORri:
    4344         604 :     if (MI->getNumOperands() == 3 &&
    4345         604 :         MI->getOperand(0).isReg() &&
    4346        1510 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4347         302 :         MI->getOperand(1).getReg() == Sparc::G0) {
    4348             :       // (ORri IntRegs:$rd, G0, i32imm:$simm13)
    4349             :       AsmString = "mov $\x03, $\x01";
    4350             :       break;
    4351             :     }
    4352             :     return false;
    4353         877 :   case SP::ORrr:
    4354        1754 :     if (MI->getNumOperands() == 3 &&
    4355        1754 :         MI->getOperand(0).isReg() &&
    4356        3508 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4357        1623 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4358        2369 :         MI->getOperand(2).isReg() &&
    4359        2238 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    4360             :       // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
    4361             :       AsmString = "mov $\x03, $\x01";
    4362             :       break;
    4363             :     }
    4364             :     return false;
    4365         353 :   case SP::RESTORErr:
    4366         706 :     if (MI->getNumOperands() == 3 &&
    4367         638 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4368         923 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4369         285 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4370             :       // (RESTORErr G0, G0, G0)
    4371             :       AsmString = "restore";
    4372             :       break;
    4373             :     }
    4374             :     return false;
    4375         267 :   case SP::RET:
    4376         534 :     if (MI->getNumOperands() == 1 &&
    4377         801 :         MI->getOperand(0).isImm() &&
    4378         267 :         MI->getOperand(0).getImm() == 8) {
    4379             :       // (RET 8)
    4380             :       AsmString = "ret";
    4381             :       break;
    4382             :     }
    4383             :     return false;
    4384         390 :   case SP::RETL:
    4385         780 :     if (MI->getNumOperands() == 1 &&
    4386        1170 :         MI->getOperand(0).isImm() &&
    4387         390 :         MI->getOperand(0).getImm() == 8) {
    4388             :       // (RETL 8)
    4389             :       AsmString = "retl";
    4390             :       break;
    4391             :     }
    4392             :     return false;
    4393           6 :   case SP::SAVErr:
    4394          12 :     if (MI->getNumOperands() == 3 &&
    4395          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4396          14 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4397           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4398             :       // (SAVErr G0, G0, G0)
    4399             :       AsmString = "save";
    4400             :       break;
    4401             :     }
    4402             :     return false;
    4403          41 :   case SP::TICCri:
    4404          82 :     if (MI->getNumOperands() == 3 &&
    4405          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4406          42 :         MI->getOperand(2).isImm() &&
    4407          64 :         MI->getOperand(2).getImm() == 8 &&
    4408           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4409             :       // (TICCri G0, i32imm:$imm, 8)
    4410             :       AsmString = "ta %icc, $\x02";
    4411             :       break;
    4412             :     }
    4413          78 :     if (MI->getNumOperands() == 3 &&
    4414          78 :         MI->getOperand(0).isReg() &&
    4415         156 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4416          78 :         MI->getOperand(2).isImm() &&
    4417          80 :         MI->getOperand(2).getImm() == 8 &&
    4418           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4419             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 8)
    4420             :       AsmString = "ta %icc, $\x01 + $\x02";
    4421             :       break;
    4422             :     }
    4423          74 :     if (MI->getNumOperands() == 3 &&
    4424          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4425          38 :         MI->getOperand(2).isImm() &&
    4426          57 :         MI->getOperand(2).getImm() == 0 &&
    4427           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4428             :       // (TICCri G0, i32imm:$imm, 0)
    4429             :       AsmString = "tn %icc, $\x02";
    4430             :       break;
    4431             :     }
    4432          72 :     if (MI->getNumOperands() == 3 &&
    4433          72 :         MI->getOperand(0).isReg() &&
    4434         144 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4435          72 :         MI->getOperand(2).isImm() &&
    4436          73 :         MI->getOperand(2).getImm() == 0 &&
    4437           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4438             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 0)
    4439             :       AsmString = "tn %icc, $\x01 + $\x02";
    4440             :       break;
    4441             :     }
    4442          70 :     if (MI->getNumOperands() == 3 &&
    4443          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4444          36 :         MI->getOperand(2).isImm() &&
    4445          55 :         MI->getOperand(2).getImm() == 9 &&
    4446           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4447             :       // (TICCri G0, i32imm:$imm, 9)
    4448             :       AsmString = "tne %icc, $\x02";
    4449             :       break;
    4450             :     }
    4451          66 :     if (MI->getNumOperands() == 3 &&
    4452          66 :         MI->getOperand(0).isReg() &&
    4453         132 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4454          66 :         MI->getOperand(2).isImm() &&
    4455          67 :         MI->getOperand(2).getImm() == 9 &&
    4456           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4457             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 9)
    4458             :       AsmString = "tne %icc, $\x01 + $\x02";
    4459             :       break;
    4460             :     }
    4461          64 :     if (MI->getNumOperands() == 3 &&
    4462          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4463          32 :         MI->getOperand(2).isImm() &&
    4464          49 :         MI->getOperand(2).getImm() == 1 &&
    4465           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4466             :       // (TICCri G0, i32imm:$imm, 1)
    4467             :       AsmString = "te %icc, $\x02";
    4468             :       break;
    4469             :     }
    4470          62 :     if (MI->getNumOperands() == 3 &&
    4471          62 :         MI->getOperand(0).isReg() &&
    4472         124 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4473          62 :         MI->getOperand(2).isImm() &&
    4474          63 :         MI->getOperand(2).getImm() == 1 &&
    4475           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4476             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 1)
    4477             :       AsmString = "te %icc, $\x01 + $\x02";
    4478             :       break;
    4479             :     }
    4480          60 :     if (MI->getNumOperands() == 3 &&
    4481          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4482          30 :         MI->getOperand(2).isImm() &&
    4483          46 :         MI->getOperand(2).getImm() == 10 &&
    4484           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4485             :       // (TICCri G0, i32imm:$imm, 10)
    4486             :       AsmString = "tg %icc, $\x02";
    4487             :       break;
    4488             :     }
    4489          58 :     if (MI->getNumOperands() == 3 &&
    4490          58 :         MI->getOperand(0).isReg() &&
    4491         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4492          58 :         MI->getOperand(2).isImm() &&
    4493          60 :         MI->getOperand(2).getImm() == 10 &&
    4494           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4495             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 10)
    4496             :       AsmString = "tg %icc, $\x01 + $\x02";
    4497             :       break;
    4498             :     }
    4499          54 :     if (MI->getNumOperands() == 3 &&
    4500          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4501          28 :         MI->getOperand(2).isImm() &&
    4502          42 :         MI->getOperand(2).getImm() == 2 &&
    4503           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4504             :       // (TICCri G0, i32imm:$imm, 2)
    4505             :       AsmString = "tle %icc, $\x02";
    4506             :       break;
    4507             :     }
    4508          52 :     if (MI->getNumOperands() == 3 &&
    4509          52 :         MI->getOperand(0).isReg() &&
    4510         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4511          52 :         MI->getOperand(2).isImm() &&
    4512          53 :         MI->getOperand(2).getImm() == 2 &&
    4513           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4514             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 2)
    4515             :       AsmString = "tle %icc, $\x01 + $\x02";
    4516             :       break;
    4517             :     }
    4518          50 :     if (MI->getNumOperands() == 3 &&
    4519          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4520          26 :         MI->getOperand(2).isImm() &&
    4521          40 :         MI->getOperand(2).getImm() == 11 &&
    4522           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4523             :       // (TICCri G0, i32imm:$imm, 11)
    4524             :       AsmString = "tge %icc, $\x02";
    4525             :       break;
    4526             :     }
    4527          46 :     if (MI->getNumOperands() == 3 &&
    4528          46 :         MI->getOperand(0).isReg() &&
    4529          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4530          46 :         MI->getOperand(2).isImm() &&
    4531          47 :         MI->getOperand(2).getImm() == 11 &&
    4532           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4533             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 11)
    4534             :       AsmString = "tge %icc, $\x01 + $\x02";
    4535             :       break;
    4536             :     }
    4537          44 :     if (MI->getNumOperands() == 3 &&
    4538          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4539          22 :         MI->getOperand(2).isImm() &&
    4540          34 :         MI->getOperand(2).getImm() == 3 &&
    4541           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4542             :       // (TICCri G0, i32imm:$imm, 3)
    4543             :       AsmString = "tl %icc, $\x02";
    4544             :       break;
    4545             :     }
    4546          42 :     if (MI->getNumOperands() == 3 &&
    4547          42 :         MI->getOperand(0).isReg() &&
    4548          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4549          42 :         MI->getOperand(2).isImm() &&
    4550          43 :         MI->getOperand(2).getImm() == 3 &&
    4551           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4552             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 3)
    4553             :       AsmString = "tl %icc, $\x01 + $\x02";
    4554             :       break;
    4555             :     }
    4556          40 :     if (MI->getNumOperands() == 3 &&
    4557          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4558          20 :         MI->getOperand(2).isImm() &&
    4559          31 :         MI->getOperand(2).getImm() == 12 &&
    4560           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4561             :       // (TICCri G0, i32imm:$imm, 12)
    4562             :       AsmString = "tgu %icc, $\x02";
    4563             :       break;
    4564             :     }
    4565          38 :     if (MI->getNumOperands() == 3 &&
    4566          38 :         MI->getOperand(0).isReg() &&
    4567          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4568          38 :         MI->getOperand(2).isImm() &&
    4569          40 :         MI->getOperand(2).getImm() == 12 &&
    4570           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4571             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 12)
    4572             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4573             :       break;
    4574             :     }
    4575          34 :     if (MI->getNumOperands() == 3 &&
    4576          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4577          18 :         MI->getOperand(2).isImm() &&
    4578          27 :         MI->getOperand(2).getImm() == 4 &&
    4579           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4580             :       // (TICCri G0, i32imm:$imm, 4)
    4581             :       AsmString = "tleu %icc, $\x02";
    4582             :       break;
    4583             :     }
    4584          32 :     if (MI->getNumOperands() == 3 &&
    4585          32 :         MI->getOperand(0).isReg() &&
    4586          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4587          32 :         MI->getOperand(2).isImm() &&
    4588          33 :         MI->getOperand(2).getImm() == 4 &&
    4589           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4590             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 4)
    4591             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4592             :       break;
    4593             :     }
    4594          30 :     if (MI->getNumOperands() == 3 &&
    4595          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4596          16 :         MI->getOperand(2).isImm() &&
    4597          25 :         MI->getOperand(2).getImm() == 13 &&
    4598           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4599             :       // (TICCri G0, i32imm:$imm, 13)
    4600             :       AsmString = "tcc %icc, $\x02";
    4601             :       break;
    4602             :     }
    4603          26 :     if (MI->getNumOperands() == 3 &&
    4604          26 :         MI->getOperand(0).isReg() &&
    4605          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4606          26 :         MI->getOperand(2).isImm() &&
    4607          27 :         MI->getOperand(2).getImm() == 13 &&
    4608           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4609             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 13)
    4610             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4611             :       break;
    4612             :     }
    4613          24 :     if (MI->getNumOperands() == 3 &&
    4614          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4615          12 :         MI->getOperand(2).isImm() &&
    4616          19 :         MI->getOperand(2).getImm() == 5 &&
    4617           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4618             :       // (TICCri G0, i32imm:$imm, 5)
    4619             :       AsmString = "tcs %icc, $\x02";
    4620             :       break;
    4621             :     }
    4622          22 :     if (MI->getNumOperands() == 3 &&
    4623          22 :         MI->getOperand(0).isReg() &&
    4624          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4625          22 :         MI->getOperand(2).isImm() &&
    4626          23 :         MI->getOperand(2).getImm() == 5 &&
    4627           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4628             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 5)
    4629             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4630             :       break;
    4631             :     }
    4632          20 :     if (MI->getNumOperands() == 3 &&
    4633          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4634          10 :         MI->getOperand(2).isImm() &&
    4635          16 :         MI->getOperand(2).getImm() == 14 &&
    4636           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4637             :       // (TICCri G0, i32imm:$imm, 14)
    4638             :       AsmString = "tpos %icc, $\x02";
    4639             :       break;
    4640             :     }
    4641          18 :     if (MI->getNumOperands() == 3 &&
    4642          18 :         MI->getOperand(0).isReg() &&
    4643          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4644          18 :         MI->getOperand(2).isImm() &&
    4645          20 :         MI->getOperand(2).getImm() == 14 &&
    4646           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4647             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 14)
    4648             :       AsmString = "tpos %icc, $\x01 + $\x02";
    4649             :       break;
    4650             :     }
    4651          14 :     if (MI->getNumOperands() == 3 &&
    4652          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4653           8 :         MI->getOperand(2).isImm() &&
    4654          12 :         MI->getOperand(2).getImm() == 6 &&
    4655           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4656             :       // (TICCri G0, i32imm:$imm, 6)
    4657             :       AsmString = "tneg %icc, $\x02";
    4658             :       break;
    4659             :     }
    4660          12 :     if (MI->getNumOperands() == 3 &&
    4661          12 :         MI->getOperand(0).isReg() &&
    4662          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4663          12 :         MI->getOperand(2).isImm() &&
    4664          13 :         MI->getOperand(2).getImm() == 6 &&
    4665           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4666             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 6)
    4667             :       AsmString = "tneg %icc, $\x01 + $\x02";
    4668             :       break;
    4669             :     }
    4670          10 :     if (MI->getNumOperands() == 3 &&
    4671           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4672           6 :         MI->getOperand(2).isImm() &&
    4673          10 :         MI->getOperand(2).getImm() == 15 &&
    4674           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4675             :       // (TICCri G0, i32imm:$imm, 15)
    4676             :       AsmString = "tvc %icc, $\x02";
    4677             :       break;
    4678             :     }
    4679           6 :     if (MI->getNumOperands() == 3 &&
    4680           6 :         MI->getOperand(0).isReg() &&
    4681          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4682           6 :         MI->getOperand(2).isImm() &&
    4683           7 :         MI->getOperand(2).getImm() == 15 &&
    4684           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4685             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 15)
    4686             :       AsmString = "tvc %icc, $\x01 + $\x02";
    4687             :       break;
    4688             :     }
    4689           4 :     if (MI->getNumOperands() == 3 &&
    4690           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4691           2 :         MI->getOperand(2).isImm() &&
    4692           4 :         MI->getOperand(2).getImm() == 7 &&
    4693           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4694             :       // (TICCri G0, i32imm:$imm, 7)
    4695             :       AsmString = "tvs %icc, $\x02";
    4696             :       break;
    4697             :     }
    4698           2 :     if (MI->getNumOperands() == 3 &&
    4699           2 :         MI->getOperand(0).isReg() &&
    4700           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4701           2 :         MI->getOperand(2).isImm() &&
    4702           3 :         MI->getOperand(2).getImm() == 7 &&
    4703           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4704             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 7)
    4705             :       AsmString = "tvs %icc, $\x01 + $\x02";
    4706             :       break;
    4707             :     }
    4708             :     return false;
    4709          44 :   case SP::TICCrr:
    4710          88 :     if (MI->getNumOperands() == 3 &&
    4711          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4712          46 :         MI->getOperand(1).isReg() &&
    4713          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4714          46 :         MI->getOperand(2).isImm() &&
    4715          69 :         MI->getOperand(2).getImm() == 8 &&
    4716           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4717             :       // (TICCrr G0, IntRegs:$rs2, 8)
    4718             :       AsmString = "ta %icc, $\x02";
    4719             :       break;
    4720             :     }
    4721          84 :     if (MI->getNumOperands() == 3 &&
    4722          84 :         MI->getOperand(0).isReg() &&
    4723         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4724          84 :         MI->getOperand(1).isReg() &&
    4725         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4726          84 :         MI->getOperand(2).isImm() &&
    4727          86 :         MI->getOperand(2).getImm() == 8 &&
    4728           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4729             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 8)
    4730             :       AsmString = "ta %icc, $\x01 + $\x02";
    4731             :       break;
    4732             :     }
    4733          80 :     if (MI->getNumOperands() == 3 &&
    4734          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4735          42 :         MI->getOperand(1).isReg() &&
    4736          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4737          42 :         MI->getOperand(2).isImm() &&
    4738          63 :         MI->getOperand(2).getImm() == 0 &&
    4739           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4740             :       // (TICCrr G0, IntRegs:$rs2, 0)
    4741             :       AsmString = "tn %icc, $\x02";
    4742             :       break;
    4743             :     }
    4744          76 :     if (MI->getNumOperands() == 3 &&
    4745          76 :         MI->getOperand(0).isReg() &&
    4746         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4747          76 :         MI->getOperand(1).isReg() &&
    4748         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4749          76 :         MI->getOperand(2).isImm() &&
    4750          77 :         MI->getOperand(2).getImm() == 0 &&
    4751           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4752             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 0)
    4753             :       AsmString = "tn %icc, $\x01 + $\x02";
    4754             :       break;
    4755             :     }
    4756          74 :     if (MI->getNumOperands() == 3 &&
    4757          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4758          38 :         MI->getOperand(1).isReg() &&
    4759          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4760          38 :         MI->getOperand(2).isImm() &&
    4761          58 :         MI->getOperand(2).getImm() == 9 &&
    4762           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4763             :       // (TICCrr G0, IntRegs:$rs2, 9)
    4764             :       AsmString = "tne %icc, $\x02";
    4765             :       break;
    4766             :     }
    4767          70 :     if (MI->getNumOperands() == 3 &&
    4768          70 :         MI->getOperand(0).isReg() &&
    4769         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4770          70 :         MI->getOperand(1).isReg() &&
    4771         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4772          70 :         MI->getOperand(2).isImm() &&
    4773          71 :         MI->getOperand(2).getImm() == 9 &&
    4774           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4775             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 9)
    4776             :       AsmString = "tne %icc, $\x01 + $\x02";
    4777             :       break;
    4778             :     }
    4779          68 :     if (MI->getNumOperands() == 3 &&
    4780          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4781          34 :         MI->getOperand(1).isReg() &&
    4782          68 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4783          34 :         MI->getOperand(2).isImm() &&
    4784          53 :         MI->getOperand(2).getImm() == 1 &&
    4785           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4786             :       // (TICCrr G0, IntRegs:$rs2, 1)
    4787             :       AsmString = "te %icc, $\x02";
    4788             :       break;
    4789             :     }
    4790          64 :     if (MI->getNumOperands() == 3 &&
    4791          64 :         MI->getOperand(0).isReg() &&
    4792         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4793          64 :         MI->getOperand(1).isReg() &&
    4794         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4795          64 :         MI->getOperand(2).isImm() &&
    4796          66 :         MI->getOperand(2).getImm() == 1 &&
    4797           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4798             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 1)
    4799             :       AsmString = "te %icc, $\x01 + $\x02";
    4800             :       break;
    4801             :     }
    4802          60 :     if (MI->getNumOperands() == 3 &&
    4803          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4804          30 :         MI->getOperand(1).isReg() &&
    4805          60 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4806          30 :         MI->getOperand(2).isImm() &&
    4807          46 :         MI->getOperand(2).getImm() == 10 &&
    4808           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4809             :       // (TICCrr G0, IntRegs:$rs2, 10)
    4810             :       AsmString = "tg %icc, $\x02";
    4811             :       break;
    4812             :     }
    4813          58 :     if (MI->getNumOperands() == 3 &&
    4814          58 :         MI->getOperand(0).isReg() &&
    4815         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4816          58 :         MI->getOperand(1).isReg() &&
    4817         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4818          58 :         MI->getOperand(2).isImm() &&
    4819          59 :         MI->getOperand(2).getImm() == 10 &&
    4820           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4821             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 10)
    4822             :       AsmString = "tg %icc, $\x01 + $\x02";
    4823             :       break;
    4824             :     }
    4825          56 :     if (MI->getNumOperands() == 3 &&
    4826          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4827          28 :         MI->getOperand(1).isReg() &&
    4828          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4829          28 :         MI->getOperand(2).isImm() &&
    4830          44 :         MI->getOperand(2).getImm() == 2 &&
    4831           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4832             :       // (TICCrr G0, IntRegs:$rs2, 2)
    4833             :       AsmString = "tle %icc, $\x02";
    4834             :       break;
    4835             :     }
    4836          52 :     if (MI->getNumOperands() == 3 &&
    4837          52 :         MI->getOperand(0).isReg() &&
    4838         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4839          52 :         MI->getOperand(1).isReg() &&
    4840         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4841          52 :         MI->getOperand(2).isImm() &&
    4842          53 :         MI->getOperand(2).getImm() == 2 &&
    4843           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4844             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 2)
    4845             :       AsmString = "tle %icc, $\x01 + $\x02";
    4846             :       break;
    4847             :     }
    4848          50 :     if (MI->getNumOperands() == 3 &&
    4849          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4850          24 :         MI->getOperand(1).isReg() &&
    4851          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4852          24 :         MI->getOperand(2).isImm() &&
    4853          38 :         MI->getOperand(2).getImm() == 11 &&
    4854           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4855             :       // (TICCrr G0, IntRegs:$rs2, 11)
    4856             :       AsmString = "tge %icc, $\x02";
    4857             :       break;
    4858             :     }
    4859          48 :     if (MI->getNumOperands() == 3 &&
    4860          48 :         MI->getOperand(0).isReg() &&
    4861          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4862          48 :         MI->getOperand(1).isReg() &&
    4863          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4864          48 :         MI->getOperand(2).isImm() &&
    4865          49 :         MI->getOperand(2).getImm() == 11 &&
    4866           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4867             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 11)
    4868             :       AsmString = "tge %icc, $\x01 + $\x02";
    4869             :       break;
    4870             :     }
    4871          46 :     if (MI->getNumOperands() == 3 &&
    4872          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4873          22 :         MI->getOperand(1).isReg() &&
    4874          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4875          22 :         MI->getOperand(2).isImm() &&
    4876          35 :         MI->getOperand(2).getImm() == 3 &&
    4877           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4878             :       // (TICCrr G0, IntRegs:$rs2, 3)
    4879             :       AsmString = "tl %icc, $\x02";
    4880             :       break;
    4881             :     }
    4882          44 :     if (MI->getNumOperands() == 3 &&
    4883          44 :         MI->getOperand(0).isReg() &&
    4884          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4885          44 :         MI->getOperand(1).isReg() &&
    4886          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4887          44 :         MI->getOperand(2).isImm() &&
    4888          46 :         MI->getOperand(2).getImm() == 3 &&
    4889           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4890             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 3)
    4891             :       AsmString = "tl %icc, $\x01 + $\x02";
    4892             :       break;
    4893             :     }
    4894          40 :     if (MI->getNumOperands() == 3 &&
    4895          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4896          20 :         MI->getOperand(1).isReg() &&
    4897          40 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4898          20 :         MI->getOperand(2).isImm() &&
    4899          31 :         MI->getOperand(2).getImm() == 12 &&
    4900           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4901             :       // (TICCrr G0, IntRegs:$rs2, 12)
    4902             :       AsmString = "tgu %icc, $\x02";
    4903             :       break;
    4904             :     }
    4905          38 :     if (MI->getNumOperands() == 3 &&
    4906          38 :         MI->getOperand(0).isReg() &&
    4907          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4908          38 :         MI->getOperand(1).isReg() &&
    4909          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4910          38 :         MI->getOperand(2).isImm() &&
    4911          39 :         MI->getOperand(2).getImm() == 12 &&
    4912           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4913             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 12)
    4914             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4915             :       break;
    4916             :     }
    4917          36 :     if (MI->getNumOperands() == 3 &&
    4918          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4919          18 :         MI->getOperand(1).isReg() &&
    4920          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4921          18 :         MI->getOperand(2).isImm() &&
    4922          29 :         MI->getOperand(2).getImm() == 4 &&
    4923           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4924             :       // (TICCrr G0, IntRegs:$rs2, 4)
    4925             :       AsmString = "tleu %icc, $\x02";
    4926             :       break;
    4927             :     }
    4928          32 :     if (MI->getNumOperands() == 3 &&
    4929          32 :         MI->getOperand(0).isReg() &&
    4930          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4931          32 :         MI->getOperand(1).isReg() &&
    4932          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4933          32 :         MI->getOperand(2).isImm() &&
    4934          33 :         MI->getOperand(2).getImm() == 4 &&
    4935           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4936             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 4)
    4937             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4938             :       break;
    4939             :     }
    4940          30 :     if (MI->getNumOperands() == 3 &&
    4941          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4942          14 :         MI->getOperand(1).isReg() &&
    4943          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4944          14 :         MI->getOperand(2).isImm() &&
    4945          23 :         MI->getOperand(2).getImm() == 13 &&
    4946           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4947             :       // (TICCrr G0, IntRegs:$rs2, 13)
    4948             :       AsmString = "tcc %icc, $\x02";
    4949             :       break;
    4950             :     }
    4951          28 :     if (MI->getNumOperands() == 3 &&
    4952          28 :         MI->getOperand(0).isReg() &&
    4953          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4954          28 :         MI->getOperand(1).isReg() &&
    4955          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4956          28 :         MI->getOperand(2).isImm() &&
    4957          29 :         MI->getOperand(2).getImm() == 13 &&
    4958           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4959             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 13)
    4960             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4961             :       break;
    4962             :     }
    4963          26 :     if (MI->getNumOperands() == 3 &&
    4964          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4965          12 :         MI->getOperand(1).isReg() &&
    4966          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4967          12 :         MI->getOperand(2).isImm() &&
    4968          20 :         MI->getOperand(2).getImm() == 5 &&
    4969           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4970             :       // (TICCrr G0, IntRegs:$rs2, 5)
    4971             :       AsmString = "tcs %icc, $\x02";
    4972             :       break;
    4973             :     }
    4974          24 :     if (MI->getNumOperands() == 3 &&
    4975          24 :         MI->getOperand(0).isReg() &&
    4976          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4977          24 :         MI->getOperand(1).isReg() &&
    4978          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4979          24 :         MI->getOperand(2).isImm() &&
    4980          26 :         MI->getOperand(2).getImm() == 5 &&
    4981           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4982             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 5)
    4983             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4984             :       break;
    4985             :     }
    4986          20 :     if (MI->getNumOperands() == 3 &&
    4987          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4988          10 :         MI->getOperand(1).isReg() &&
    4989          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4990          10 :         MI->getOperand(2).isImm() &&
    4991          16 :         MI->getOperand(2).getImm() == 14 &&
    4992           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4993             :       // (TICCrr G0, IntRegs:$rs2, 14)
    4994             :       AsmString = "tpos %icc, $\x02";
    4995             :       break;
    4996             :     }
    4997          18 :     if (MI->getNumOperands() == 3 &&
    4998          18 :         MI->getOperand(0).isReg() &&
    4999          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5000          18 :         MI->getOperand(1).isReg() &&
    5001          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5002          18 :         MI->getOperand(2).isImm() &&
    5003          19 :         MI->getOperand(2).getImm() == 14 &&
    5004           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5005             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 14)
    5006             :       AsmString = "tpos %icc, $\x01 + $\x02";
    5007             :       break;
    5008             :     }
    5009          16 :     if (MI->getNumOperands() == 3 &&
    5010          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5011           8 :         MI->getOperand(1).isReg() &&
    5012          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5013           8 :         MI->getOperand(2).isImm() &&
    5014          14 :         MI->getOperand(2).getImm() == 6 &&
    5015           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5016             :       // (TICCrr G0, IntRegs:$rs2, 6)
    5017             :       AsmString = "tneg %icc, $\x02";
    5018             :       break;
    5019             :     }
    5020          12 :     if (MI->getNumOperands() == 3 &&
    5021          12 :         MI->getOperand(0).isReg() &&
    5022          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5023          12 :         MI->getOperand(1).isReg() &&
    5024          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5025          12 :         MI->getOperand(2).isImm() &&
    5026          13 :         MI->getOperand(2).getImm() == 6 &&
    5027           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5028             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 6)
    5029             :       AsmString = "tneg %icc, $\x01 + $\x02";
    5030             :       break;
    5031             :     }
    5032          10 :     if (MI->getNumOperands() == 3 &&
    5033           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5034           4 :         MI->getOperand(1).isReg() &&
    5035           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5036           4 :         MI->getOperand(2).isImm() &&
    5037           8 :         MI->getOperand(2).getImm() == 15 &&
    5038           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5039             :       // (TICCrr G0, IntRegs:$rs2, 15)
    5040             :       AsmString = "tvc %icc, $\x02";
    5041             :       break;
    5042             :     }
    5043           8 :     if (MI->getNumOperands() == 3 &&
    5044           8 :         MI->getOperand(0).isReg() &&
    5045          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5046           8 :         MI->getOperand(1).isReg() &&
    5047          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5048           8 :         MI->getOperand(2).isImm() &&
    5049           9 :         MI->getOperand(2).getImm() == 15 &&
    5050           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5051             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 15)
    5052             :       AsmString = "tvc %icc, $\x01 + $\x02";
    5053             :       break;
    5054             :     }
    5055           6 :     if (MI->getNumOperands() == 3 &&
    5056           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5057           2 :         MI->getOperand(1).isReg() &&
    5058           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5059           2 :         MI->getOperand(2).isImm() &&
    5060           5 :         MI->getOperand(2).getImm() == 7 &&
    5061           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5062             :       // (TICCrr G0, IntRegs:$rs2, 7)
    5063             :       AsmString = "tvs %icc, $\x02";
    5064             :       break;
    5065             :     }
    5066           4 :     if (MI->getNumOperands() == 3 &&
    5067           4 :         MI->getOperand(0).isReg() &&
    5068           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5069           4 :         MI->getOperand(1).isReg() &&
    5070           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5071           4 :         MI->getOperand(2).isImm() &&
    5072           6 :         MI->getOperand(2).getImm() == 7 &&
    5073           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5074             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 7)
    5075             :       AsmString = "tvs %icc, $\x01 + $\x02";
    5076             :       break;
    5077             :     }
    5078             :     return false;
    5079          48 :   case SP::TRAPri:
    5080          96 :     if (MI->getNumOperands() == 3 &&
    5081          76 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5082         104 :         MI->getOperand(2).isImm() &&
    5083          28 :         MI->getOperand(2).getImm() == 8) {
    5084             :       // (TRAPri G0, i32imm:$imm, 8)
    5085             :       AsmString = "ta $\x02";
    5086             :       break;
    5087             :     }
    5088          78 :     if (MI->getNumOperands() == 3 &&
    5089          78 :         MI->getOperand(0).isReg() &&
    5090         156 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5091         117 :         MI->getOperand(2).isImm() &&
    5092          39 :         MI->getOperand(2).getImm() == 8) {
    5093             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 8)
    5094             :       AsmString = "ta $\x01 + $\x02";
    5095             :       break;
    5096             :     }
    5097          74 :     if (MI->getNumOperands() == 3 &&
    5098          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5099          75 :         MI->getOperand(2).isImm() &&
    5100          19 :         MI->getOperand(2).getImm() == 0) {
    5101             :       // (TRAPri G0, i32imm:$imm, 0)
    5102             :       AsmString = "tn $\x02";
    5103             :       break;
    5104             :     }
    5105          72 :     if (MI->getNumOperands() == 3 &&
    5106          72 :         MI->getOperand(0).isReg() &&
    5107         144 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5108         108 :         MI->getOperand(2).isImm() &&
    5109          36 :         MI->getOperand(2).getImm() == 0) {
    5110             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 0)
    5111             :       AsmString = "tn $\x01 + $\x02";
    5112             :       break;
    5113             :     }
    5114          70 :     if (MI->getNumOperands() == 3 &&
    5115          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5116          71 :         MI->getOperand(2).isImm() &&
    5117          18 :         MI->getOperand(2).getImm() == 9) {
    5118             :       // (TRAPri G0, i32imm:$imm, 9)
    5119             :       AsmString = "tne $\x02";
    5120             :       break;
    5121             :     }
    5122          66 :     if (MI->getNumOperands() == 3 &&
    5123          66 :         MI->getOperand(0).isReg() &&
    5124         132 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5125          99 :         MI->getOperand(2).isImm() &&
    5126          33 :         MI->getOperand(2).getImm() == 9) {
    5127             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 9)
    5128             :       AsmString = "tne $\x01 + $\x02";
    5129             :       break;
    5130             :     }
    5131          64 :     if (MI->getNumOperands() == 3 &&
    5132          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5133          64 :         MI->getOperand(2).isImm() &&
    5134          16 :         MI->getOperand(2).getImm() == 1) {
    5135             :       // (TRAPri G0, i32imm:$imm, 1)
    5136             :       AsmString = "te $\x02";
    5137             :       break;
    5138             :     }
    5139          62 :     if (MI->getNumOperands() == 3 &&
    5140          62 :         MI->getOperand(0).isReg() &&
    5141         124 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5142          93 :         MI->getOperand(2).isImm() &&
    5143          31 :         MI->getOperand(2).getImm() == 1) {
    5144             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 1)
    5145             :       AsmString = "te $\x01 + $\x02";
    5146             :       break;
    5147             :     }
    5148          60 :     if (MI->getNumOperands() == 3 &&
    5149          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5150          60 :         MI->getOperand(2).isImm() &&
    5151          15 :         MI->getOperand(2).getImm() == 10) {
    5152             :       // (TRAPri G0, i32imm:$imm, 10)
    5153             :       AsmString = "tg $\x02";
    5154             :       break;
    5155             :     }
    5156          58 :     if (MI->getNumOperands() == 3 &&
    5157          58 :         MI->getOperand(0).isReg() &&
    5158         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5159          87 :         MI->getOperand(2).isImm() &&
    5160          29 :         MI->getOperand(2).getImm() == 10) {
    5161             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 10)
    5162             :       AsmString = "tg $\x01 + $\x02";
    5163             :       break;
    5164             :     }
    5165          54 :     if (MI->getNumOperands() == 3 &&
    5166          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5167          55 :         MI->getOperand(2).isImm() &&
    5168          14 :         MI->getOperand(2).getImm() == 2) {
    5169             :       // (TRAPri G0, i32imm:$imm, 2)
    5170             :       AsmString = "tle $\x02";
    5171             :       break;
    5172             :     }
    5173          52 :     if (MI->getNumOperands() == 3 &&
    5174          52 :         MI->getOperand(0).isReg() &&
    5175         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5176          78 :         MI->getOperand(2).isImm() &&
    5177          26 :         MI->getOperand(2).getImm() == 2) {
    5178             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 2)
    5179             :       AsmString = "tle $\x01 + $\x02";
    5180             :       break;
    5181             :     }
    5182          50 :     if (MI->getNumOperands() == 3 &&
    5183          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5184          51 :         MI->getOperand(2).isImm() &&
    5185          13 :         MI->getOperand(2).getImm() == 11) {
    5186             :       // (TRAPri G0, i32imm:$imm, 11)
    5187             :       AsmString = "tge $\x02";
    5188             :       break;
    5189             :     }
    5190          46 :     if (MI->getNumOperands() == 3 &&
    5191          46 :         MI->getOperand(0).isReg() &&
    5192          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5193          69 :         MI->getOperand(2).isImm() &&
    5194          23 :         MI->getOperand(2).getImm() == 11) {
    5195             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 11)
    5196             :       AsmString = "tge $\x01 + $\x02";
    5197             :       break;
    5198             :     }
    5199          44 :     if (MI->getNumOperands() == 3 &&
    5200          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5201          44 :         MI->getOperand(2).isImm() &&
    5202          11 :         MI->getOperand(2).getImm() == 3) {
    5203             :       // (TRAPri G0, i32imm:$imm, 3)
    5204             :       AsmString = "tl $\x02";
    5205             :       break;
    5206             :     }
    5207          42 :     if (MI->getNumOperands() == 3 &&
    5208          42 :         MI->getOperand(0).isReg() &&
    5209          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5210          63 :         MI->getOperand(2).isImm() &&
    5211          21 :         MI->getOperand(2).getImm() == 3) {
    5212             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 3)
    5213             :       AsmString = "tl $\x01 + $\x02";
    5214             :       break;
    5215             :     }
    5216          40 :     if (MI->getNumOperands() == 3 &&
    5217          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5218          40 :         MI->getOperand(2).isImm() &&
    5219          10 :         MI->getOperand(2).getImm() == 12) {
    5220             :       // (TRAPri G0, i32imm:$imm, 12)
    5221             :       AsmString = "tgu $\x02";
    5222             :       break;
    5223             :     }
    5224          38 :     if (MI->getNumOperands() == 3 &&
    5225          38 :         MI->getOperand(0).isReg() &&
    5226          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5227          57 :         MI->getOperand(2).isImm() &&
    5228          19 :         MI->getOperand(2).getImm() == 12) {
    5229             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 12)
    5230             :       AsmString = "tgu $\x01 + $\x02";
    5231             :       break;
    5232             :     }
    5233          34 :     if (MI->getNumOperands() == 3 &&
    5234          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5235          35 :         MI->getOperand(2).isImm() &&
    5236           9 :         MI->getOperand(2).getImm() == 4) {
    5237             :       // (TRAPri G0, i32imm:$imm, 4)
    5238             :       AsmString = "tleu $\x02";
    5239             :       break;
    5240             :     }
    5241          32 :     if (MI->getNumOperands() == 3 &&
    5242          32 :         MI->getOperand(0).isReg() &&
    5243          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5244          48 :         MI->getOperand(2).isImm() &&
    5245          16 :         MI->getOperand(2).getImm() == 4) {
    5246             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 4)
    5247             :       AsmString = "tleu $\x01 + $\x02";
    5248             :       break;
    5249             :     }
    5250          30 :     if (MI->getNumOperands() == 3 &&
    5251          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5252          31 :         MI->getOperand(2).isImm() &&
    5253           8 :         MI->getOperand(2).getImm() == 13) {
    5254             :       // (TRAPri G0, i32imm:$imm, 13)
    5255             :       AsmString = "tcc $\x02";
    5256             :       break;
    5257             :     }
    5258          26 :     if (MI->getNumOperands() == 3 &&
    5259          26 :         MI->getOperand(0).isReg() &&
    5260          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5261          39 :         MI->getOperand(2).isImm() &&
    5262          13 :         MI->getOperand(2).getImm() == 13) {
    5263             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 13)
    5264             :       AsmString = "tcc $\x01 + $\x02";
    5265             :       break;
    5266             :     }
    5267          24 :     if (MI->getNumOperands() == 3 &&
    5268          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5269          24 :         MI->getOperand(2).isImm() &&
    5270           6 :         MI->getOperand(2).getImm() == 5) {
    5271             :       // (TRAPri G0, i32imm:$imm, 5)
    5272             :       AsmString = "tcs $\x02";
    5273             :       break;
    5274             :     }
    5275          22 :     if (MI->getNumOperands() == 3 &&
    5276          22 :         MI->getOperand(0).isReg() &&
    5277          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5278          33 :         MI->getOperand(2).isImm() &&
    5279          11 :         MI->getOperand(2).getImm() == 5) {
    5280             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 5)
    5281             :       AsmString = "tcs $\x01 + $\x02";
    5282             :       break;
    5283             :     }
    5284          20 :     if (MI->getNumOperands() == 3 &&
    5285          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5286          20 :         MI->getOperand(2).isImm() &&
    5287           5 :         MI->getOperand(2).getImm() == 14) {
    5288             :       // (TRAPri G0, i32imm:$imm, 14)
    5289             :       AsmString = "tpos $\x02";
    5290             :       break;
    5291             :     }
    5292          18 :     if (MI->getNumOperands() == 3 &&
    5293          18 :         MI->getOperand(0).isReg() &&
    5294          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5295          27 :         MI->getOperand(2).isImm() &&
    5296           9 :         MI->getOperand(2).getImm() == 14) {
    5297             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 14)
    5298             :       AsmString = "tpos $\x01 + $\x02";
    5299             :       break;
    5300             :     }
    5301          14 :     if (MI->getNumOperands() == 3 &&
    5302          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5303          15 :         MI->getOperand(2).isImm() &&
    5304           4 :         MI->getOperand(2).getImm() == 6) {
    5305             :       // (TRAPri G0, i32imm:$imm, 6)
    5306             :       AsmString = "tneg $\x02";
    5307             :       break;
    5308             :     }
    5309          12 :     if (MI->getNumOperands() == 3 &&
    5310          12 :         MI->getOperand(0).isReg() &&
    5311          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5312          18 :         MI->getOperand(2).isImm() &&
    5313           6 :         MI->getOperand(2).getImm() == 6) {
    5314             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 6)
    5315             :       AsmString = "tneg $\x01 + $\x02";
    5316             :       break;
    5317             :     }
    5318          10 :     if (MI->getNumOperands() == 3 &&
    5319           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5320          11 :         MI->getOperand(2).isImm() &&
    5321           3 :         MI->getOperand(2).getImm() == 15) {
    5322             :       // (TRAPri G0, i32imm:$imm, 15)
    5323             :       AsmString = "tvc $\x02";
    5324             :       break;
    5325             :     }
    5326           6 :     if (MI->getNumOperands() == 3 &&
    5327           6 :         MI->getOperand(0).isReg() &&
    5328          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5329           9 :         MI->getOperand(2).isImm() &&
    5330           3 :         MI->getOperand(2).getImm() == 15) {
    5331             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 15)
    5332             :       AsmString = "tvc $\x01 + $\x02";
    5333             :       break;
    5334             :     }
    5335           4 :     if (MI->getNumOperands() == 3 &&
    5336           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5337           4 :         MI->getOperand(2).isImm() &&
    5338           1 :         MI->getOperand(2).getImm() == 7) {
    5339             :       // (TRAPri G0, i32imm:$imm, 7)
    5340             :       AsmString = "tvs $\x02";
    5341             :       break;
    5342             :     }
    5343           2 :     if (MI->getNumOperands() == 3 &&
    5344           2 :         MI->getOperand(0).isReg() &&
    5345           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5346           3 :         MI->getOperand(2).isImm() &&
    5347           1 :         MI->getOperand(2).getImm() == 7) {
    5348             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 7)
    5349             :       AsmString = "tvs $\x01 + $\x02";
    5350             :       break;
    5351             :     }
    5352             :     return false;
    5353          44 :   case SP::TRAPrr:
    5354          88 :     if (MI->getNumOperands() == 3 &&
    5355          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5356          46 :         MI->getOperand(1).isReg() &&
    5357          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5358          90 :         MI->getOperand(2).isImm() &&
    5359          23 :         MI->getOperand(2).getImm() == 8) {
    5360             :       // (TRAPrr G0, IntRegs:$rs1, 8)
    5361             :       AsmString = "ta $\x02";
    5362             :       break;
    5363             :     }
    5364          84 :     if (MI->getNumOperands() == 3 &&
    5365          84 :         MI->getOperand(0).isReg() &&
    5366         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5367          84 :         MI->getOperand(1).isReg() &&
    5368         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5369         126 :         MI->getOperand(2).isImm() &&
    5370          42 :         MI->getOperand(2).getImm() == 8) {
    5371             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 8)
    5372             :       AsmString = "ta $\x01 + $\x02";
    5373             :       break;
    5374             :     }
    5375          80 :     if (MI->getNumOperands() == 3 &&
    5376          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5377          42 :         MI->getOperand(1).isReg() &&
    5378          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5379          82 :         MI->getOperand(2).isImm() &&
    5380          21 :         MI->getOperand(2).getImm() == 0) {
    5381             :       // (TRAPrr G0, IntRegs:$rs1, 0)
    5382             :       AsmString = "tn $\x02";
    5383             :       break;
    5384             :     }
    5385          76 :     if (MI->getNumOperands() == 3 &&
    5386          76 :         MI->getOperand(0).isReg() &&
    5387         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5388          76 :         MI->getOperand(1).isReg() &&
    5389         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5390         114 :         MI->getOperand(2).isImm() &&
    5391          38 :         MI->getOperand(2).getImm() == 0) {
    5392             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 0)
    5393             :       AsmString = "tn $\x01 + $\x02";
    5394             :       break;
    5395             :     }
    5396          74 :     if (MI->getNumOperands() == 3 &&
    5397          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5398          38 :         MI->getOperand(1).isReg() &&
    5399          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5400          75 :         MI->getOperand(2).isImm() &&
    5401          19 :         MI->getOperand(2).getImm() == 9) {
    5402             :       // (TRAPrr G0, IntRegs:$rs1, 9)
    5403             :       AsmString = "tne $\x02";
    5404             :       break;
    5405             :     }
    5406          70 :     if (MI->getNumOperands() == 3 &&
    5407          70 :         MI->getOperand(0).isReg() &&
    5408         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5409          70 :         MI->getOperand(1).isReg() &&
    5410         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5411         105 :         MI->getOperand(2).isImm() &&
    5412          35 :         MI->getOperand(2).getImm() == 9) {
    5413             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 9)
    5414             :       AsmString = "tne $\x01 + $\x02";
    5415             :       break;
    5416             :     }
    5417          68 :     if (MI->getNumOperands() == 3 &&
    5418          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5419          34 :         MI->getOperand(1).isReg() &&
    5420          68 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5421          68 :         MI->getOperand(2).isImm() &&
    5422          17 :         MI->getOperand(2).getImm() == 1) {
    5423             :       // (TRAPrr G0, IntRegs:$rs1, 1)
    5424             :       AsmString = "te $\x02";
    5425             :       break;
    5426             :     }
    5427          64 :     if (MI->getNumOperands() == 3 &&
    5428          64 :         MI->getOperand(0).isReg() &&
    5429         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5430          64 :         MI->getOperand(1).isReg() &&
    5431         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5432          96 :         MI->getOperand(2).isImm() &&
    5433          32 :         MI->getOperand(2).getImm() == 1) {
    5434             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 1)
    5435             :       AsmString = "te $\x01 + $\x02";
    5436             :       break;
    5437             :     }
    5438          60 :     if (MI->getNumOperands() == 3 &&
    5439          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5440          30 :         MI->getOperand(1).isReg() &&
    5441          60 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5442          60 :         MI->getOperand(2).isImm() &&
    5443          15 :         MI->getOperand(2).getImm() == 10) {
    5444             :       // (TRAPrr G0, IntRegs:$rs1, 10)
    5445             :       AsmString = "tg $\x02";
    5446             :       break;
    5447             :     }
    5448          58 :     if (MI->getNumOperands() == 3 &&
    5449          58 :         MI->getOperand(0).isReg() &&
    5450         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5451          58 :         MI->getOperand(1).isReg() &&
    5452         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5453          87 :         MI->getOperand(2).isImm() &&
    5454          29 :         MI->getOperand(2).getImm() == 10) {
    5455             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 10)
    5456             :       AsmString = "tg $\x01 + $\x02";
    5457             :       break;
    5458             :     }
    5459          56 :     if (MI->getNumOperands() == 3 &&
    5460          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5461          28 :         MI->getOperand(1).isReg() &&
    5462          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5463          56 :         MI->getOperand(2).isImm() &&
    5464          14 :         MI->getOperand(2).getImm() == 2) {
    5465             :       // (TRAPrr G0, IntRegs:$rs1, 2)
    5466             :       AsmString = "tle $\x02";
    5467             :       break;
    5468             :     }
    5469          52 :     if (MI->getNumOperands() == 3 &&
    5470          52 :         MI->getOperand(0).isReg() &&
    5471         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5472          52 :         MI->getOperand(1).isReg() &&
    5473         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5474          78 :         MI->getOperand(2).isImm() &&
    5475          26 :         MI->getOperand(2).getImm() == 2) {
    5476             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 2)
    5477             :       AsmString = "tle $\x01 + $\x02";
    5478             :       break;
    5479             :     }
    5480          50 :     if (MI->getNumOperands() == 3 &&
    5481          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5482          24 :         MI->getOperand(1).isReg() &&
    5483          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5484          49 :         MI->getOperand(2).isImm() &&
    5485          12 :         MI->getOperand(2).getImm() == 11) {
    5486             :       // (TRAPrr G0, IntRegs:$rs1, 11)
    5487             :       AsmString = "tge $\x02";
    5488             :       break;
    5489             :     }
    5490          48 :     if (MI->getNumOperands() == 3 &&
    5491          48 :         MI->getOperand(0).isReg() &&
    5492          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5493          48 :         MI->getOperand(1).isReg() &&
    5494          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5495          72 :         MI->getOperand(2).isImm() &&
    5496          24 :         MI->getOperand(2).getImm() == 11) {
    5497             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 11)
    5498             :       AsmString = "tge $\x01 + $\x02";
    5499             :       break;
    5500             :     }
    5501          46 :     if (MI->getNumOperands() == 3 &&
    5502          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5503          22 :         MI->getOperand(1).isReg() &&
    5504          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5505          45 :         MI->getOperand(2).isImm() &&
    5506          11 :         MI->getOperand(2).getImm() == 3) {
    5507             :       // (TRAPrr G0, IntRegs:$rs1, 3)
    5508             :       AsmString = "tl $\x02";
    5509             :       break;
    5510             :     }
    5511          44 :     if (MI->getNumOperands() == 3 &&
    5512          44 :         MI->getOperand(0).isReg() &&
    5513          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5514          44 :         MI->getOperand(1).isReg() &&
    5515          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5516          66 :         MI->getOperand(2).isImm() &&
    5517          22 :         MI->getOperand(2).getImm() == 3) {
    5518             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 3)
    5519             :       AsmString = "tl $\x01 + $\x02";
    5520             :       break;
    5521             :     }
    5522          40 :     if (MI->getNumOperands() == 3 &&
    5523          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5524          20 :         MI->getOperand(1).isReg() &&
    5525          40 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5526          40 :         MI->getOperand(2).isImm() &&
    5527          10 :         MI->getOperand(2).getImm() == 12) {
    5528             :       // (TRAPrr G0, IntRegs:$rs1, 12)
    5529             :       AsmString = "tgu $\x02";
    5530             :       break;
    5531             :     }
    5532          38 :     if (MI->getNumOperands() == 3 &&
    5533          38 :         MI->getOperand(0).isReg() &&
    5534          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5535          38 :         MI->getOperand(1).isReg() &&
    5536          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5537          57 :         MI->getOperand(2).isImm() &&
    5538          19 :         MI->getOperand(2).getImm() == 12) {
    5539             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 12)
    5540             :       AsmString = "tgu $\x01 + $\x02";
    5541             :       break;
    5542             :     }
    5543          36 :     if (MI->getNumOperands() == 3 &&
    5544          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5545          18 :         MI->getOperand(1).isReg() &&
    5546          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5547          36 :         MI->getOperand(2).isImm() &&
    5548           9 :         MI->getOperand(2).getImm() == 4) {
    5549             :       // (TRAPrr G0, IntRegs:$rs1, 4)
    5550             :       AsmString = "tleu $\x02";
    5551             :       break;
    5552             :     }
    5553          32 :     if (MI->getNumOperands() == 3 &&
    5554          32 :         MI->getOperand(0).isReg() &&
    5555          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5556          32 :         MI->getOperand(1).isReg() &&
    5557          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5558          48 :         MI->getOperand(2).isImm() &&
    5559          16 :         MI->getOperand(2).getImm() == 4) {
    5560             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 4)
    5561             :       AsmString = "tleu $\x01 + $\x02";
    5562             :       break;
    5563             :     }
    5564          30 :     if (MI->getNumOperands() == 3 &&
    5565          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5566          14 :         MI->getOperand(1).isReg() &&
    5567          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5568          29 :         MI->getOperand(2).isImm() &&
    5569           7 :         MI->getOperand(2).getImm() == 13) {
    5570             :       // (TRAPrr G0, IntRegs:$rs1, 13)
    5571             :       AsmString = "tcc $\x02";
    5572             :       break;
    5573             :     }
    5574          28 :     if (MI->getNumOperands() == 3 &&
    5575          28 :         MI->getOperand(0).isReg() &&
    5576          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5577          28 :         MI->getOperand(1).isReg() &&
    5578          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5579          42 :         MI->getOperand(2).isImm() &&
    5580          14 :         MI->getOperand(2).getImm() == 13) {
    5581             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 13)
    5582             :       AsmString = "tcc $\x01 + $\x02";
    5583             :       break;
    5584             :     }
    5585          26 :     if (MI->getNumOperands() == 3 &&
    5586          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5587          12 :         MI->getOperand(1).isReg() &&
    5588          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5589          25 :         MI->getOperand(2).isImm() &&
    5590           6 :         MI->getOperand(2).getImm() == 5) {
    5591             :       // (TRAPrr G0, IntRegs:$rs1, 5)
    5592             :       AsmString = "tcs $\x02";
    5593             :       break;
    5594             :     }
    5595          24 :     if (MI->getNumOperands() == 3 &&
    5596          24 :         MI->getOperand(0).isReg() &&
    5597          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5598          24 :         MI->getOperand(1).isReg() &&
    5599          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5600          36 :         MI->getOperand(2).isImm() &&
    5601          12 :         MI->getOperand(2).getImm() == 5) {
    5602             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 5)
    5603             :       AsmString = "tcs $\x01 + $\x02";
    5604             :       break;
    5605             :     }
    5606          20 :     if (MI->getNumOperands() == 3 &&
    5607          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5608          10 :         MI->getOperand(1).isReg() &&
    5609          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5610          20 :         MI->getOperand(2).isImm() &&
    5611           5 :         MI->getOperand(2).getImm() == 14) {
    5612             :       // (TRAPrr G0, IntRegs:$rs1, 14)
    5613             :       AsmString = "tpos $\x02";
    5614             :       break;
    5615             :     }
    5616          18 :     if (MI->getNumOperands() == 3 &&
    5617          18 :         MI->getOperand(0).isReg() &&
    5618          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5619          18 :         MI->getOperand(1).isReg() &&
    5620          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5621          27 :         MI->getOperand(2).isImm() &&
    5622           9 :         MI->getOperand(2).getImm() == 14) {
    5623             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 14)
    5624             :       AsmString = "tpos $\x01 + $\x02";
    5625             :       break;
    5626             :     }
    5627          16 :     if (MI->getNumOperands() == 3 &&
    5628          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5629           8 :         MI->getOperand(1).isReg() &&
    5630          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5631          16 :         MI->getOperand(2).isImm() &&
    5632           4 :         MI->getOperand(2).getImm() == 6) {
    5633             :       // (TRAPrr G0, IntRegs:$rs1, 6)
    5634             :       AsmString = "tneg $\x02";
    5635             :       break;
    5636             :     }
    5637          12 :     if (MI->getNumOperands() == 3 &&
    5638          12 :         MI->getOperand(0).isReg() &&
    5639          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5640          12 :         MI->getOperand(1).isReg() &&
    5641          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5642          18 :         MI->getOperand(2).isImm() &&
    5643           6 :         MI->getOperand(2).getImm() == 6) {
    5644             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 6)
    5645             :       AsmString = "tneg $\x01 + $\x02";
    5646             :       break;
    5647             :     }
    5648          10 :     if (MI->getNumOperands() == 3 &&
    5649           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5650           4 :         MI->getOperand(1).isReg() &&
    5651           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5652           9 :         MI->getOperand(2).isImm() &&
    5653           2 :         MI->getOperand(2).getImm() == 15) {
    5654             :       // (TRAPrr G0, IntRegs:$rs1, 15)
    5655             :       AsmString = "tvc $\x02";
    5656             :       break;
    5657             :     }
    5658           8 :     if (MI->getNumOperands() == 3 &&
    5659           8 :         MI->getOperand(0).isReg() &&
    5660          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5661           8 :         MI->getOperand(1).isReg() &&
    5662          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5663          12 :         MI->getOperand(2).isImm() &&
    5664           4 :         MI->getOperand(2).getImm() == 15) {
    5665             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 15)
    5666             :       AsmString = "tvc $\x01 + $\x02";
    5667             :       break;
    5668             :     }
    5669           6 :     if (MI->getNumOperands() == 3 &&
    5670           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5671           2 :         MI->getOperand(1).isReg() &&
    5672           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5673           5 :         MI->getOperand(2).isImm() &&
    5674           1 :         MI->getOperand(2).getImm() == 7) {
    5675             :       // (TRAPrr G0, IntRegs:$rs1, 7)
    5676             :       AsmString = "tvs $\x02";
    5677             :       break;
    5678             :     }
    5679           4 :     if (MI->getNumOperands() == 3 &&
    5680           4 :         MI->getOperand(0).isReg() &&
    5681           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5682           4 :         MI->getOperand(1).isReg() &&
    5683           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5684           6 :         MI->getOperand(2).isImm() &&
    5685           2 :         MI->getOperand(2).getImm() == 7) {
    5686             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 7)
    5687             :       AsmString = "tvs $\x01 + $\x02";
    5688             :       break;
    5689             :     }
    5690             :     return false;
    5691          41 :   case SP::TXCCri:
    5692          82 :     if (MI->getNumOperands() == 3 &&
    5693          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5694          42 :         MI->getOperand(2).isImm() &&
    5695          64 :         MI->getOperand(2).getImm() == 8 &&
    5696           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5697             :       // (TXCCri G0, i32imm:$imm, 8)
    5698             :       AsmString = "ta %xcc, $\x02";
    5699             :       break;
    5700             :     }
    5701          78 :     if (MI->getNumOperands() == 3 &&
    5702          78 :         MI->getOperand(0).isReg() &&
    5703         156 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5704          78 :         MI->getOperand(2).isImm() &&
    5705          80 :         MI->getOperand(2).getImm() == 8 &&
    5706           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5707             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 8)
    5708             :       AsmString = "ta %xcc, $\x01 + $\x02";
    5709             :       break;
    5710             :     }
    5711          74 :     if (MI->getNumOperands() == 3 &&
    5712          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5713          38 :         MI->getOperand(2).isImm() &&
    5714          57 :         MI->getOperand(2).getImm() == 0 &&
    5715           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5716             :       // (TXCCri G0, i32imm:$imm, 0)
    5717             :       AsmString = "tn %xcc, $\x02";
    5718             :       break;
    5719             :     }
    5720          72 :     if (MI->getNumOperands() == 3 &&
    5721          72 :         MI->getOperand(0).isReg() &&
    5722         144 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5723          72 :         MI->getOperand(2).isImm() &&
    5724          73 :         MI->getOperand(2).getImm() == 0 &&
    5725           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5726             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 0)
    5727             :       AsmString = "tn %xcc, $\x01 + $\x02";
    5728             :       break;
    5729             :     }
    5730          70 :     if (MI->getNumOperands() == 3 &&
    5731          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5732          36 :         MI->getOperand(2).isImm() &&
    5733          55 :         MI->getOperand(2).getImm() == 9 &&
    5734           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5735             :       // (TXCCri G0, i32imm:$imm, 9)
    5736             :       AsmString = "tne %xcc, $\x02";
    5737             :       break;
    5738             :     }
    5739          66 :     if (MI->getNumOperands() == 3 &&
    5740          66 :         MI->getOperand(0).isReg() &&
    5741         132 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5742          66 :         MI->getOperand(2).isImm() &&
    5743          67 :         MI->getOperand(2).getImm() == 9 &&
    5744           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5745             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 9)
    5746             :       AsmString = "tne %xcc, $\x01 + $\x02";
    5747             :       break;
    5748             :     }
    5749          64 :     if (MI->getNumOperands() == 3 &&
    5750          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5751          32 :         MI->getOperand(2).isImm() &&
    5752          49 :         MI->getOperand(2).getImm() == 1 &&
    5753           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5754             :       // (TXCCri G0, i32imm:$imm, 1)
    5755             :       AsmString = "te %xcc, $\x02";
    5756             :       break;
    5757             :     }
    5758          62 :     if (MI->getNumOperands() == 3 &&
    5759          62 :         MI->getOperand(0).isReg() &&
    5760         124 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5761          62 :         MI->getOperand(2).isImm() &&
    5762          63 :         MI->getOperand(2).getImm() == 1 &&
    5763           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5764             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 1)
    5765             :       AsmString = "te %xcc, $\x01 + $\x02";
    5766             :       break;
    5767             :     }
    5768          60 :     if (MI->getNumOperands() == 3 &&
    5769          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5770          30 :         MI->getOperand(2).isImm() &&
    5771          46 :         MI->getOperand(2).getImm() == 10 &&
    5772           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5773             :       // (TXCCri G0, i32imm:$imm, 10)
    5774             :       AsmString = "tg %xcc, $\x02";
    5775             :       break;
    5776             :     }
    5777          58 :     if (MI->getNumOperands() == 3 &&
    5778          58 :         MI->getOperand(0).isReg() &&
    5779         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5780          58 :         MI->getOperand(2).isImm() &&
    5781          60 :         MI->getOperand(2).getImm() == 10 &&
    5782           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5783             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 10)
    5784             :       AsmString = "tg %xcc, $\x01 + $\x02";
    5785             :       break;
    5786             :     }
    5787          54 :     if (MI->getNumOperands() == 3 &&
    5788          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5789          28 :         MI->getOperand(2).isImm() &&
    5790          42 :         MI->getOperand(2).getImm() == 2 &&
    5791           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5792             :       // (TXCCri G0, i32imm:$imm, 2)
    5793             :       AsmString = "tle %xcc, $\x02";
    5794             :       break;
    5795             :     }
    5796          52 :     if (MI->getNumOperands() == 3 &&
    5797          52 :         MI->getOperand(0).isReg() &&
    5798         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5799          52 :         MI->getOperand(2).isImm() &&
    5800          53 :         MI->getOperand(2).getImm() == 2 &&
    5801           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5802             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 2)
    5803             :       AsmString = "tle %xcc, $\x01 + $\x02";
    5804             :       break;
    5805             :     }
    5806          50 :     if (MI->getNumOperands() == 3 &&
    5807          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5808          26 :         MI->getOperand(2).isImm() &&
    5809          40 :         MI->getOperand(2).getImm() == 11 &&
    5810           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5811             :       // (TXCCri G0, i32imm:$imm, 11)
    5812             :       AsmString = "tge %xcc, $\x02";
    5813             :       break;
    5814             :     }
    5815          46 :     if (MI->getNumOperands() == 3 &&
    5816          46 :         MI->getOperand(0).isReg() &&
    5817          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5818          46 :         MI->getOperand(2).isImm() &&
    5819          47 :         MI->getOperand(2).getImm() == 11 &&
    5820           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5821             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 11)
    5822             :       AsmString = "tge %xcc, $\x01 + $\x02";
    5823             :       break;
    5824             :     }
    5825          44 :     if (MI->getNumOperands() == 3 &&
    5826          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5827          22 :         MI->getOperand(2).isImm() &&
    5828          34 :         MI->getOperand(2).getImm() == 3 &&
    5829           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5830             :       // (TXCCri G0, i32imm:$imm, 3)
    5831             :       AsmString = "tl %xcc, $\x02";
    5832             :       break;
    5833             :     }
    5834          42 :     if (MI->getNumOperands() == 3 &&
    5835          42 :         MI->getOperand(0).isReg() &&
    5836          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5837          42 :         MI->getOperand(2).isImm() &&
    5838          43 :         MI->getOperand(2).getImm() == 3 &&
    5839           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5840             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 3)
    5841             :       AsmString = "tl %xcc, $\x01 + $\x02";
    5842             :       break;
    5843             :     }
    5844          40 :     if (MI->getNumOperands() == 3 &&
    5845          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5846          20 :         MI->getOperand(2).isImm() &&
    5847          31 :         MI->getOperand(2).getImm() == 12 &&
    5848           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5849             :       // (TXCCri G0, i32imm:$imm, 12)
    5850             :       AsmString = "tgu %xcc, $\x02";
    5851             :       break;
    5852             :     }
    5853          38 :     if (MI->getNumOperands() == 3 &&
    5854          38 :         MI->getOperand(0).isReg() &&
    5855          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5856          38 :         MI->getOperand(2).isImm() &&
    5857          40 :         MI->getOperand(2).getImm() == 12 &&
    5858           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5859             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 12)
    5860             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    5861             :       break;
    5862             :     }
    5863          34 :     if (MI->getNumOperands() == 3 &&
    5864          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5865          18 :         MI->getOperand(2).isImm() &&
    5866          27 :         MI->getOperand(2).getImm() == 4 &&
    5867           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5868             :       // (TXCCri G0, i32imm:$imm, 4)
    5869             :       AsmString = "tleu %xcc, $\x02";
    5870             :       break;
    5871             :     }
    5872          32 :     if (MI->getNumOperands() == 3 &&
    5873          32 :         MI->getOperand(0).isReg() &&
    5874          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5875          32 :         MI->getOperand(2).isImm() &&
    5876          33 :         MI->getOperand(2).getImm() == 4 &&
    5877           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5878             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 4)
    5879             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    5880             :       break;
    5881             :     }
    5882          30 :     if (MI->getNumOperands() == 3 &&
    5883          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5884          16 :         MI->getOperand(2).isImm() &&
    5885          25 :         MI->getOperand(2).getImm() == 13 &&
    5886           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5887             :       // (TXCCri G0, i32imm:$imm, 13)
    5888             :       AsmString = "tcc %xcc, $\x02";
    5889             :       break;
    5890             :     }
    5891          26 :     if (MI->getNumOperands() == 3 &&
    5892          26 :         MI->getOperand(0).isReg() &&
    5893          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5894          26 :         MI->getOperand(2).isImm() &&
    5895          27 :         MI->getOperand(2).getImm() == 13 &&
    5896           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5897             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 13)
    5898             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    5899             :       break;
    5900             :     }
    5901          24 :     if (MI->getNumOperands() == 3 &&
    5902          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5903          12 :         MI->getOperand(2).isImm() &&
    5904          19 :         MI->getOperand(2).getImm() == 5 &&
    5905           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5906             :       // (TXCCri G0, i32imm:$imm, 5)
    5907             :       AsmString = "tcs %xcc, $\x02";
    5908             :       break;
    5909             :     }
    5910          22 :     if (MI->getNumOperands() == 3 &&
    5911          22 :         MI->getOperand(0).isReg() &&
    5912          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5913          22 :         MI->getOperand(2).isImm() &&
    5914          23 :         MI->getOperand(2).getImm() == 5 &&
    5915           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5916             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 5)
    5917             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    5918             :       break;
    5919             :     }
    5920          20 :     if (MI->getNumOperands() == 3 &&
    5921          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5922          10 :         MI->getOperand(2).isImm() &&
    5923          16 :         MI->getOperand(2).getImm() == 14 &&
    5924           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5925             :       // (TXCCri G0, i32imm:$imm, 14)
    5926             :       AsmString = "tpos %xcc, $\x02";
    5927             :       break;
    5928             :     }
    5929          18 :     if (MI->getNumOperands() == 3 &&
    5930          18 :         MI->getOperand(0).isReg() &&
    5931          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5932          18 :         MI->getOperand(2).isImm() &&
    5933          20 :         MI->getOperand(2).getImm() == 14 &&
    5934           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5935             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 14)
    5936             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    5937             :       break;
    5938             :     }
    5939          14 :     if (MI->getNumOperands() == 3 &&
    5940          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5941           8 :         MI->getOperand(2).isImm() &&
    5942          12 :         MI->getOperand(2).getImm() == 6 &&
    5943           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5944             :       // (TXCCri G0, i32imm:$imm, 6)
    5945             :       AsmString = "tneg %xcc, $\x02";
    5946             :       break;
    5947             :     }
    5948          12 :     if (MI->getNumOperands() == 3 &&
    5949          12 :         MI->getOperand(0).isReg() &&
    5950          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5951          12 :         MI->getOperand(2).isImm() &&
    5952          13 :         MI->getOperand(2).getImm() == 6 &&
    5953           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5954             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 6)
    5955             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    5956             :       break;
    5957             :     }
    5958          10 :     if (MI->getNumOperands() == 3 &&
    5959           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5960           6 :         MI->getOperand(2).isImm() &&
    5961          10 :         MI->getOperand(2).getImm() == 15 &&
    5962           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5963             :       // (TXCCri G0, i32imm:$imm, 15)
    5964             :       AsmString = "tvc %xcc, $\x02";
    5965             :       break;
    5966             :     }
    5967           6 :     if (MI->getNumOperands() == 3 &&
    5968           6 :         MI->getOperand(0).isReg() &&
    5969          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5970           6 :         MI->getOperand(2).isImm() &&
    5971           7 :         MI->getOperand(2).getImm() == 15 &&
    5972           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5973             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 15)
    5974             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    5975             :       break;
    5976             :     }
    5977           4 :     if (MI->getNumOperands() == 3 &&
    5978           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5979           2 :         MI->getOperand(2).isImm() &&
    5980           4 :         MI->getOperand(2).getImm() == 7 &&
    5981           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5982             :       // (TXCCri G0, i32imm:$imm, 7)
    5983             :       AsmString = "tvs %xcc, $\x02";
    5984             :       break;
    5985             :     }
    5986           2 :     if (MI->getNumOperands() == 3 &&
    5987           2 :         MI->getOperand(0).isReg() &&
    5988           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5989           2 :         MI->getOperand(2).isImm() &&
    5990           3 :         MI->getOperand(2).getImm() == 7 &&
    5991           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5992             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 7)
    5993             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    5994             :       break;
    5995             :     }
    5996             :     return false;
    5997          44 :   case SP::TXCCrr:
    5998          88 :     if (MI->getNumOperands() == 3 &&
    5999          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6000          46 :         MI->getOperand(1).isReg() &&
    6001          92 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6002          46 :         MI->getOperand(2).isImm() &&
    6003          69 :         MI->getOperand(2).getImm() == 8 &&
    6004           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6005             :       // (TXCCrr G0, IntRegs:$rs2, 8)
    6006             :       AsmString = "ta %xcc, $\x02";
    6007             :       break;
    6008             :     }
    6009          84 :     if (MI->getNumOperands() == 3 &&
    6010          84 :         MI->getOperand(0).isReg() &&
    6011         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6012          84 :         MI->getOperand(1).isReg() &&
    6013         168 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6014          84 :         MI->getOperand(2).isImm() &&
    6015          86 :         MI->getOperand(2).getImm() == 8 &&
    6016           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6017             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 8)
    6018             :       AsmString = "ta %xcc, $\x01 + $\x02";
    6019             :       break;
    6020             :     }
    6021          80 :     if (MI->getNumOperands() == 3 &&
    6022          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6023          42 :         MI->getOperand(1).isReg() &&
    6024          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6025          42 :         MI->getOperand(2).isImm() &&
    6026          63 :         MI->getOperand(2).getImm() == 0 &&
    6027           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6028             :       // (TXCCrr G0, IntRegs:$rs2, 0)
    6029             :       AsmString = "tn %xcc, $\x02";
    6030             :       break;
    6031             :     }
    6032          76 :     if (MI->getNumOperands() == 3 &&
    6033          76 :         MI->getOperand(0).isReg() &&
    6034         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6035          76 :         MI->getOperand(1).isReg() &&
    6036         152 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6037          76 :         MI->getOperand(2).isImm() &&
    6038          77 :         MI->getOperand(2).getImm() == 0 &&
    6039           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6040             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 0)
    6041             :       AsmString = "tn %xcc, $\x01 + $\x02";
    6042             :       break;
    6043             :     }
    6044          74 :     if (MI->getNumOperands() == 3 &&
    6045          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6046          38 :         MI->getOperand(1).isReg() &&
    6047          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6048          38 :         MI->getOperand(2).isImm() &&
    6049          58 :         MI->getOperand(2).getImm() == 9 &&
    6050           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6051             :       // (TXCCrr G0, IntRegs:$rs2, 9)
    6052             :       AsmString = "tne %xcc, $\x02";
    6053             :       break;
    6054             :     }
    6055          70 :     if (MI->getNumOperands() == 3 &&
    6056          70 :         MI->getOperand(0).isReg() &&
    6057         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6058          70 :         MI->getOperand(1).isReg() &&
    6059         140 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6060          70 :         MI->getOperand(2).isImm() &&
    6061          71 :         MI->getOperand(2).getImm() == 9 &&
    6062           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6063             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 9)
    6064             :       AsmString = "tne %xcc, $\x01 + $\x02";
    6065             :       break;
    6066             :     }
    6067          68 :     if (MI->getNumOperands() == 3 &&
    6068          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6069          34 :         MI->getOperand(1).isReg() &&
    6070          68 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6071          34 :         MI->getOperand(2).isImm() &&
    6072          53 :         MI->getOperand(2).getImm() == 1 &&
    6073           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6074             :       // (TXCCrr G0, IntRegs:$rs2, 1)
    6075             :       AsmString = "te %xcc, $\x02";
    6076             :       break;
    6077             :     }
    6078          64 :     if (MI->getNumOperands() == 3 &&
    6079          64 :         MI->getOperand(0).isReg() &&
    6080         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6081          64 :         MI->getOperand(1).isReg() &&
    6082         128 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6083          64 :         MI->getOperand(2).isImm() &&
    6084          66 :         MI->getOperand(2).getImm() == 1 &&
    6085           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6086             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 1)
    6087             :       AsmString = "te %xcc, $\x01 + $\x02";
    6088             :       break;
    6089             :     }
    6090          60 :     if (MI->getNumOperands() == 3 &&
    6091          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6092          30 :         MI->getOperand(1).isReg() &&
    6093          60 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6094          30 :         MI->getOperand(2).isImm() &&
    6095          46 :         MI->getOperand(2).getImm() == 10 &&
    6096           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6097             :       // (TXCCrr G0, IntRegs:$rs2, 10)
    6098             :       AsmString = "tg %xcc, $\x02";
    6099             :       break;
    6100             :     }
    6101          58 :     if (MI->getNumOperands() == 3 &&
    6102          58 :         MI->getOperand(0).isReg() &&
    6103         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6104          58 :         MI->getOperand(1).isReg() &&
    6105         116 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6106          58 :         MI->getOperand(2).isImm() &&
    6107          59 :         MI->getOperand(2).getImm() == 10 &&
    6108           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6109             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 10)
    6110             :       AsmString = "tg %xcc, $\x01 + $\x02";
    6111             :       break;
    6112             :     }
    6113          56 :     if (MI->getNumOperands() == 3 &&
    6114          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6115          28 :         MI->getOperand(1).isReg() &&
    6116          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6117          28 :         MI->getOperand(2).isImm() &&
    6118          44 :         MI->getOperand(2).getImm() == 2 &&
    6119           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6120             :       // (TXCCrr G0, IntRegs:$rs2, 2)
    6121             :       AsmString = "tle %xcc, $\x02";
    6122             :       break;
    6123             :     }
    6124          52 :     if (MI->getNumOperands() == 3 &&
    6125          52 :         MI->getOperand(0).isReg() &&
    6126         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6127          52 :         MI->getOperand(1).isReg() &&
    6128         104 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6129          52 :         MI->getOperand(2).isImm() &&
    6130          53 :         MI->getOperand(2).getImm() == 2 &&
    6131           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6132             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 2)
    6133             :       AsmString = "tle %xcc, $\x01 + $\x02";
    6134             :       break;
    6135             :     }
    6136          50 :     if (MI->getNumOperands() == 3 &&
    6137          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6138          24 :         MI->getOperand(1).isReg() &&
    6139          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6140          24 :         MI->getOperand(2).isImm() &&
    6141          38 :         MI->getOperand(2).getImm() == 11 &&
    6142           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6143             :       // (TXCCrr G0, IntRegs:$rs2, 11)
    6144             :       AsmString = "tge %xcc, $\x02";
    6145             :       break;
    6146             :     }
    6147          48 :     if (MI->getNumOperands() == 3 &&
    6148          48 :         MI->getOperand(0).isReg() &&
    6149          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6150          48 :         MI->getOperand(1).isReg() &&
    6151          96 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6152          48 :         MI->getOperand(2).isImm() &&
    6153          49 :         MI->getOperand(2).getImm() == 11 &&
    6154           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6155             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 11)
    6156             :       AsmString = "tge %xcc, $\x01 + $\x02";
    6157             :       break;
    6158             :     }
    6159          46 :     if (MI->getNumOperands() == 3 &&
    6160          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6161          22 :         MI->getOperand(1).isReg() &&
    6162          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6163          22 :         MI->getOperand(2).isImm() &&
    6164          35 :         MI->getOperand(2).getImm() == 3 &&
    6165           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6166             :       // (TXCCrr G0, IntRegs:$rs2, 3)
    6167             :       AsmString = "tl %xcc, $\x02";
    6168             :       break;
    6169             :     }
    6170          44 :     if (MI->getNumOperands() == 3 &&
    6171          44 :         MI->getOperand(0).isReg() &&
    6172          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6173          44 :         MI->getOperand(1).isReg() &&
    6174          88 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6175          44 :         MI->getOperand(2).isImm() &&
    6176          46 :         MI->getOperand(2).getImm() == 3 &&
    6177           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6178             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 3)
    6179             :       AsmString = "tl %xcc, $\x01 + $\x02";
    6180             :       break;
    6181             :     }
    6182          40 :     if (MI->getNumOperands() == 3 &&
    6183          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6184          20 :         MI->getOperand(1).isReg() &&
    6185          40 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6186          20 :         MI->getOperand(2).isImm() &&
    6187          31 :         MI->getOperand(2).getImm() == 12 &&
    6188           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6189             :       // (TXCCrr G0, IntRegs:$rs2, 12)
    6190             :       AsmString = "tgu %xcc, $\x02";
    6191             :       break;
    6192             :     }
    6193          38 :     if (MI->getNumOperands() == 3 &&
    6194          38 :         MI->getOperand(0).isReg() &&
    6195          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6196          38 :         MI->getOperand(1).isReg() &&
    6197          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6198          38 :         MI->getOperand(2).isImm() &&
    6199          39 :         MI->getOperand(2).getImm() == 12 &&
    6200           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6201             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 12)
    6202             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    6203             :       break;
    6204             :     }
    6205          36 :     if (MI->getNumOperands() == 3 &&
    6206          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6207          18 :         MI->getOperand(1).isReg() &&
    6208          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6209          18 :         MI->getOperand(2).isImm() &&
    6210          29 :         MI->getOperand(2).getImm() == 4 &&
    6211           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6212             :       // (TXCCrr G0, IntRegs:$rs2, 4)
    6213             :       AsmString = "tleu %xcc, $\x02";
    6214             :       break;
    6215             :     }
    6216          32 :     if (MI->getNumOperands() == 3 &&
    6217          32 :         MI->getOperand(0).isReg() &&
    6218          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6219          32 :         MI->getOperand(1).isReg() &&
    6220          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6221          32 :         MI->getOperand(2).isImm() &&
    6222          33 :         MI->getOperand(2).getImm() == 4 &&
    6223           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6224             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 4)
    6225             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    6226             :       break;
    6227             :     }
    6228          30 :     if (MI->getNumOperands() == 3 &&
    6229          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6230          14 :         MI->getOperand(1).isReg() &&
    6231          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6232          14 :         MI->getOperand(2).isImm() &&
    6233          23 :         MI->getOperand(2).getImm() == 13 &&
    6234           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6235             :       // (TXCCrr G0, IntRegs:$rs2, 13)
    6236             :       AsmString = "tcc %xcc, $\x02";
    6237             :       break;
    6238             :     }
    6239          28 :     if (MI->getNumOperands() == 3 &&
    6240          28 :         MI->getOperand(0).isReg() &&
    6241          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6242          28 :         MI->getOperand(1).isReg() &&
    6243          56 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6244          28 :         MI->getOperand(2).isImm() &&
    6245          29 :         MI->getOperand(2).getImm() == 13 &&
    6246           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6247             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 13)
    6248             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    6249             :       break;
    6250             :     }
    6251          26 :     if (MI->getNumOperands() == 3 &&
    6252          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6253          12 :         MI->getOperand(1).isReg() &&
    6254          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6255          12 :         MI->getOperand(2).isImm() &&
    6256          20 :         MI->getOperand(2).getImm() == 5 &&
    6257           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6258             :       // (TXCCrr G0, IntRegs:$rs2, 5)
    6259             :       AsmString = "tcs %xcc, $\x02";
    6260             :       break;
    6261             :     }
    6262          24 :     if (MI->getNumOperands() == 3 &&
    6263          24 :         MI->getOperand(0).isReg() &&
    6264          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6265          24 :         MI->getOperand(1).isReg() &&
    6266          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6267          24 :         MI->getOperand(2).isImm() &&
    6268          26 :         MI->getOperand(2).getImm() == 5 &&
    6269           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6270             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 5)
    6271             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    6272             :       break;
    6273             :     }
    6274          20 :     if (MI->getNumOperands() == 3 &&
    6275          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6276          10 :         MI->getOperand(1).isReg() &&
    6277          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6278          10 :         MI->getOperand(2).isImm() &&
    6279          16 :         MI->getOperand(2).getImm() == 14 &&
    6280           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6281             :       // (TXCCrr G0, IntRegs:$rs2, 14)
    6282             :       AsmString = "tpos %xcc, $\x02";
    6283             :       break;
    6284             :     }
    6285          18 :     if (MI->getNumOperands() == 3 &&
    6286          18 :         MI->getOperand(0).isReg() &&
    6287          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6288          18 :         MI->getOperand(1).isReg() &&
    6289          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6290          18 :         MI->getOperand(2).isImm() &&
    6291          19 :         MI->getOperand(2).getImm() == 14 &&
    6292           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6293             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 14)
    6294             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    6295             :       break;
    6296             :     }
    6297          16 :     if (MI->getNumOperands() == 3 &&
    6298          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6299           8 :         MI->getOperand(1).isReg() &&
    6300          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6301           8 :         MI->getOperand(2).isImm() &&
    6302          14 :         MI->getOperand(2).getImm() == 6 &&
    6303           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6304             :       // (TXCCrr G0, IntRegs:$rs2, 6)
    6305             :       AsmString = "tneg %xcc, $\x02";
    6306             :       break;
    6307             :     }
    6308          12 :     if (MI->getNumOperands() == 3 &&
    6309          12 :         MI->getOperand(0).isReg() &&
    6310          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6311          12 :         MI->getOperand(1).isReg() &&
    6312          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6313          12 :         MI->getOperand(2).isImm() &&
    6314          13 :         MI->getOperand(2).getImm() == 6 &&
    6315           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6316             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 6)
    6317             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    6318             :       break;
    6319             :     }
    6320          10 :     if (MI->getNumOperands() == 3 &&
    6321           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6322           4 :         MI->getOperand(1).isReg() &&
    6323           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6324           4 :         MI->getOperand(2).isImm() &&
    6325           8 :         MI->getOperand(2).getImm() == 15 &&
    6326           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6327             :       // (TXCCrr G0, IntRegs:$rs2, 15)
    6328             :       AsmString = "tvc %xcc, $\x02";
    6329             :       break;
    6330             :     }
    6331           8 :     if (MI->getNumOperands() == 3 &&
    6332           8 :         MI->getOperand(0).isReg() &&
    6333          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6334           8 :         MI->getOperand(1).isReg() &&
    6335          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6336           8 :         MI->getOperand(2).isImm() &&
    6337           9 :         MI->getOperand(2).getImm() == 15 &&
    6338           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6339             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 15)
    6340             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6341             :       break;
    6342             :     }
    6343           6 :     if (MI->getNumOperands() == 3 &&
    6344           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6345           2 :         MI->getOperand(1).isReg() &&
    6346           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6347           2 :         MI->getOperand(2).isImm() &&
    6348           5 :         MI->getOperand(2).getImm() == 7 &&
    6349           2 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6350             :       // (TXCCrr G0, IntRegs:$rs2, 7)
    6351             :       AsmString = "tvs %xcc, $\x02";
    6352             :       break;
    6353             :     }
    6354           4 :     if (MI->getNumOperands() == 3 &&
    6355           4 :         MI->getOperand(0).isReg() &&
    6356           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6357           4 :         MI->getOperand(1).isReg() &&
    6358           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6359           4 :         MI->getOperand(2).isImm() &&
    6360           6 :         MI->getOperand(2).getImm() == 7 &&
    6361           4 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6362             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 7)
    6363             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6364             :       break;
    6365             :     }
    6366             :     return false;
    6367           4 :   case SP::V9FCMPD:
    6368           8 :     if (MI->getNumOperands() == 3 &&
    6369           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6370           6 :         MI->getOperand(1).isReg() &&
    6371          12 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6372          10 :         MI->getOperand(2).isReg() &&
    6373           9 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6374             :       // (V9FCMPD FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6375             :       AsmString = "fcmpd $\x02, $\x03";
    6376             :       break;
    6377             :     }
    6378             :     return false;
    6379           3 :   case SP::V9FCMPED:
    6380           6 :     if (MI->getNumOperands() == 3 &&
    6381           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6382           4 :         MI->getOperand(1).isReg() &&
    6383           8 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6384           7 :         MI->getOperand(2).isReg() &&
    6385           6 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6386             :       // (V9FCMPED FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6387             :       AsmString = "fcmped $\x02, $\x03";
    6388             :       break;
    6389             :     }
    6390             :     return false;
    6391           3 :   case SP::V9FCMPEQ:
    6392           6 :     if (MI->getNumOperands() == 3 &&
    6393           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6394           4 :         MI->getOperand(1).isReg() &&
    6395           8 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6396           7 :         MI->getOperand(2).isReg() &&
    6397           6 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6398             :       // (V9FCMPEQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6399             :       AsmString = "fcmpeq $\x02, $\x03";
    6400             :       break;
    6401             :     }
    6402             :     return false;
    6403           3 :   case SP::V9FCMPES:
    6404           6 :     if (MI->getNumOperands() == 3 &&
    6405           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6406           4 :         MI->getOperand(1).isReg() &&
    6407           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6408           7 :         MI->getOperand(2).isReg() &&
    6409           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6410             :       // (V9FCMPES FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6411             :       AsmString = "fcmpes $\x02, $\x03";
    6412             :       break;
    6413             :     }
    6414             :     return false;
    6415           4 :   case SP::V9FCMPQ:
    6416           8 :     if (MI->getNumOperands() == 3 &&
    6417           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6418           6 :         MI->getOperand(1).isReg() &&
    6419          12 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6420          10 :         MI->getOperand(2).isReg() &&
    6421           9 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6422             :       // (V9FCMPQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6423             :       AsmString = "fcmpq $\x02, $\x03";
    6424             :       break;
    6425             :     }
    6426             :     return false;
    6427           4 :   case SP::V9FCMPS:
    6428           8 :     if (MI->getNumOperands() == 3 &&
    6429           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6430           6 :         MI->getOperand(1).isReg() &&
    6431          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6432          10 :         MI->getOperand(2).isReg() &&
    6433           9 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6434             :       // (V9FCMPS FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6435             :       AsmString = "fcmps $\x02, $\x03";
    6436             :       break;
    6437             :     }
    6438             :     return false;
    6439           0 :   case SP::V9FMOVD_FCC:
    6440           0 :     if (MI->getNumOperands() == 4 &&
    6441           0 :         MI->getOperand(0).isReg() &&
    6442           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6443           0 :         MI->getOperand(1).isReg() &&
    6444           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6445           0 :         MI->getOperand(2).isReg() &&
    6446           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6447           0 :         MI->getOperand(3).isImm() &&
    6448           0 :         MI->getOperand(3).getImm() == 8 &&
    6449           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6450             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 8)
    6451             :       AsmString = "fmovda $\x02, $\x03, $\x01";
    6452             :       break;
    6453             :     }
    6454           0 :     if (MI->getNumOperands() == 4 &&
    6455           0 :         MI->getOperand(0).isReg() &&
    6456           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6457           0 :         MI->getOperand(1).isReg() &&
    6458           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6459           0 :         MI->getOperand(2).isReg() &&
    6460           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6461           0 :         MI->getOperand(3).isImm() &&
    6462           0 :         MI->getOperand(3).getImm() == 0 &&
    6463           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6464             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 0)
    6465             :       AsmString = "fmovdn $\x02, $\x03, $\x01";
    6466             :       break;
    6467             :     }
    6468           0 :     if (MI->getNumOperands() == 4 &&
    6469           0 :         MI->getOperand(0).isReg() &&
    6470           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6471           0 :         MI->getOperand(1).isReg() &&
    6472           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6473           0 :         MI->getOperand(2).isReg() &&
    6474           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6475           0 :         MI->getOperand(3).isImm() &&
    6476           0 :         MI->getOperand(3).getImm() == 7 &&
    6477           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6478             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 7)
    6479             :       AsmString = "fmovdu $\x02, $\x03, $\x01";
    6480             :       break;
    6481             :     }
    6482           0 :     if (MI->getNumOperands() == 4 &&
    6483           0 :         MI->getOperand(0).isReg() &&
    6484           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6485           0 :         MI->getOperand(1).isReg() &&
    6486           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6487           0 :         MI->getOperand(2).isReg() &&
    6488           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6489           0 :         MI->getOperand(3).isImm() &&
    6490           0 :         MI->getOperand(3).getImm() == 6 &&
    6491           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6492             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 6)
    6493             :       AsmString = "fmovdg $\x02, $\x03, $\x01";
    6494             :       break;
    6495             :     }
    6496           0 :     if (MI->getNumOperands() == 4 &&
    6497           0 :         MI->getOperand(0).isReg() &&
    6498           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6499           0 :         MI->getOperand(1).isReg() &&
    6500           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6501           0 :         MI->getOperand(2).isReg() &&
    6502           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6503           0 :         MI->getOperand(3).isImm() &&
    6504           0 :         MI->getOperand(3).getImm() == 5 &&
    6505           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6506             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 5)
    6507             :       AsmString = "fmovdug $\x02, $\x03, $\x01";
    6508             :       break;
    6509             :     }
    6510           0 :     if (MI->getNumOperands() == 4 &&
    6511           0 :         MI->getOperand(0).isReg() &&
    6512           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6513           0 :         MI->getOperand(1).isReg() &&
    6514           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6515           0 :         MI->getOperand(2).isReg() &&
    6516           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6517           0 :         MI->getOperand(3).isImm() &&
    6518           0 :         MI->getOperand(3).getImm() == 4 &&
    6519           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6520             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 4)
    6521             :       AsmString = "fmovdl $\x02, $\x03, $\x01";
    6522             :       break;
    6523             :     }
    6524           0 :     if (MI->getNumOperands() == 4 &&
    6525           0 :         MI->getOperand(0).isReg() &&
    6526           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6527           0 :         MI->getOperand(1).isReg() &&
    6528           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6529           0 :         MI->getOperand(2).isReg() &&
    6530           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6531           0 :         MI->getOperand(3).isImm() &&
    6532           0 :         MI->getOperand(3).getImm() == 3 &&
    6533           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6534             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 3)
    6535             :       AsmString = "fmovdul $\x02, $\x03, $\x01";
    6536             :       break;
    6537             :     }
    6538           0 :     if (MI->getNumOperands() == 4 &&
    6539           0 :         MI->getOperand(0).isReg() &&
    6540           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6541           0 :         MI->getOperand(1).isReg() &&
    6542           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6543           0 :         MI->getOperand(2).isReg() &&
    6544           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6545           0 :         MI->getOperand(3).isImm() &&
    6546           0 :         MI->getOperand(3).getImm() == 2 &&
    6547           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6548             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 2)
    6549             :       AsmString = "fmovdlg $\x02, $\x03, $\x01";
    6550             :       break;
    6551             :     }
    6552           0 :     if (MI->getNumOperands() == 4 &&
    6553           0 :         MI->getOperand(0).isReg() &&
    6554           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6555           0 :         MI->getOperand(1).isReg() &&
    6556           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6557           0 :         MI->getOperand(2).isReg() &&
    6558           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6559           0 :         MI->getOperand(3).isImm() &&
    6560           0 :         MI->getOperand(3).getImm() == 1 &&
    6561           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6562             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 1)
    6563             :       AsmString = "fmovdne $\x02, $\x03, $\x01";
    6564             :       break;
    6565             :     }
    6566           0 :     if (MI->getNumOperands() == 4 &&
    6567           0 :         MI->getOperand(0).isReg() &&
    6568           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6569           0 :         MI->getOperand(1).isReg() &&
    6570           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6571           0 :         MI->getOperand(2).isReg() &&
    6572           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6573           0 :         MI->getOperand(3).isImm() &&
    6574           0 :         MI->getOperand(3).getImm() == 9 &&
    6575           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6576             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 9)
    6577             :       AsmString = "fmovde $\x02, $\x03, $\x01";
    6578             :       break;
    6579             :     }
    6580           0 :     if (MI->getNumOperands() == 4 &&
    6581           0 :         MI->getOperand(0).isReg() &&
    6582           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6583           0 :         MI->getOperand(1).isReg() &&
    6584           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6585           0 :         MI->getOperand(2).isReg() &&
    6586           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6587           0 :         MI->getOperand(3).isImm() &&
    6588           0 :         MI->getOperand(3).getImm() == 10 &&
    6589           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6590             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 10)
    6591             :       AsmString = "fmovdue $\x02, $\x03, $\x01";
    6592             :       break;
    6593             :     }
    6594           0 :     if (MI->getNumOperands() == 4 &&
    6595           0 :         MI->getOperand(0).isReg() &&
    6596           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6597           0 :         MI->getOperand(1).isReg() &&
    6598           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6599           0 :         MI->getOperand(2).isReg() &&
    6600           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6601           0 :         MI->getOperand(3).isImm() &&
    6602           0 :         MI->getOperand(3).getImm() == 11 &&
    6603           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6604             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 11)
    6605             :       AsmString = "fmovdge $\x02, $\x03, $\x01";
    6606             :       break;
    6607             :     }
    6608           0 :     if (MI->getNumOperands() == 4 &&
    6609           0 :         MI->getOperand(0).isReg() &&
    6610           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6611           0 :         MI->getOperand(1).isReg() &&
    6612           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6613           0 :         MI->getOperand(2).isReg() &&
    6614           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6615           0 :         MI->getOperand(3).isImm() &&
    6616           0 :         MI->getOperand(3).getImm() == 12 &&
    6617           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6618             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 12)
    6619             :       AsmString = "fmovduge $\x02, $\x03, $\x01";
    6620             :       break;
    6621             :     }
    6622           0 :     if (MI->getNumOperands() == 4 &&
    6623           0 :         MI->getOperand(0).isReg() &&
    6624           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6625           0 :         MI->getOperand(1).isReg() &&
    6626           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6627           0 :         MI->getOperand(2).isReg() &&
    6628           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6629           0 :         MI->getOperand(3).isImm() &&
    6630           0 :         MI->getOperand(3).getImm() == 13 &&
    6631           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6632             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 13)
    6633             :       AsmString = "fmovdle $\x02, $\x03, $\x01";
    6634             :       break;
    6635             :     }
    6636           0 :     if (MI->getNumOperands() == 4 &&
    6637           0 :         MI->getOperand(0).isReg() &&
    6638           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6639           0 :         MI->getOperand(1).isReg() &&
    6640           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6641           0 :         MI->getOperand(2).isReg() &&
    6642           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6643           0 :         MI->getOperand(3).isImm() &&
    6644           0 :         MI->getOperand(3).getImm() == 14 &&
    6645           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6646             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 14)
    6647             :       AsmString = "fmovdule $\x02, $\x03, $\x01";
    6648             :       break;
    6649             :     }
    6650           0 :     if (MI->getNumOperands() == 4 &&
    6651           0 :         MI->getOperand(0).isReg() &&
    6652           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6653           0 :         MI->getOperand(1).isReg() &&
    6654           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6655           0 :         MI->getOperand(2).isReg() &&
    6656           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6657           0 :         MI->getOperand(3).isImm() &&
    6658           0 :         MI->getOperand(3).getImm() == 15 &&
    6659           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6660             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 15)
    6661             :       AsmString = "fmovdo $\x02, $\x03, $\x01";
    6662             :       break;
    6663             :     }
    6664             :     return false;
    6665           0 :   case SP::V9FMOVQ_FCC:
    6666           0 :     if (MI->getNumOperands() == 4 &&
    6667           0 :         MI->getOperand(0).isReg() &&
    6668           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6669           0 :         MI->getOperand(1).isReg() &&
    6670           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6671           0 :         MI->getOperand(2).isReg() &&
    6672           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6673           0 :         MI->getOperand(3).isImm() &&
    6674           0 :         MI->getOperand(3).getImm() == 8 &&
    6675           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6676             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 8)
    6677             :       AsmString = "fmovqa $\x02, $\x03, $\x01";
    6678             :       break;
    6679             :     }
    6680           0 :     if (MI->getNumOperands() == 4 &&
    6681           0 :         MI->getOperand(0).isReg() &&
    6682           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6683           0 :         MI->getOperand(1).isReg() &&
    6684           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6685           0 :         MI->getOperand(2).isReg() &&
    6686           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6687           0 :         MI->getOperand(3).isImm() &&
    6688           0 :         MI->getOperand(3).getImm() == 0 &&
    6689           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6690             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 0)
    6691             :       AsmString = "fmovqn $\x02, $\x03, $\x01";
    6692             :       break;
    6693             :     }
    6694           0 :     if (MI->getNumOperands() == 4 &&
    6695           0 :         MI->getOperand(0).isReg() &&
    6696           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6697           0 :         MI->getOperand(1).isReg() &&
    6698           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6699           0 :         MI->getOperand(2).isReg() &&
    6700           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6701           0 :         MI->getOperand(3).isImm() &&
    6702           0 :         MI->getOperand(3).getImm() == 7 &&
    6703           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6704             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 7)
    6705             :       AsmString = "fmovqu $\x02, $\x03, $\x01";
    6706             :       break;
    6707             :     }
    6708           0 :     if (MI->getNumOperands() == 4 &&
    6709           0 :         MI->getOperand(0).isReg() &&
    6710           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6711           0 :         MI->getOperand(1).isReg() &&
    6712           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6713           0 :         MI->getOperand(2).isReg() &&
    6714           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6715           0 :         MI->getOperand(3).isImm() &&
    6716           0 :         MI->getOperand(3).getImm() == 6 &&
    6717           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6718             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 6)
    6719             :       AsmString = "fmovqg $\x02, $\x03, $\x01";
    6720             :       break;
    6721             :     }
    6722           0 :     if (MI->getNumOperands() == 4 &&
    6723           0 :         MI->getOperand(0).isReg() &&
    6724           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6725           0 :         MI->getOperand(1).isReg() &&
    6726           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6727           0 :         MI->getOperand(2).isReg() &&
    6728           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6729           0 :         MI->getOperand(3).isImm() &&
    6730           0 :         MI->getOperand(3).getImm() == 5 &&
    6731           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6732             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 5)
    6733             :       AsmString = "fmovqug $\x02, $\x03, $\x01";
    6734             :       break;
    6735             :     }
    6736           0 :     if (MI->getNumOperands() == 4 &&
    6737           0 :         MI->getOperand(0).isReg() &&
    6738           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6739           0 :         MI->getOperand(1).isReg() &&
    6740           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6741           0 :         MI->getOperand(2).isReg() &&
    6742           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6743           0 :         MI->getOperand(3).isImm() &&
    6744           0 :         MI->getOperand(3).getImm() == 4 &&
    6745           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6746             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 4)
    6747             :       AsmString = "fmovql $\x02, $\x03, $\x01";
    6748             :       break;
    6749             :     }
    6750           0 :     if (MI->getNumOperands() == 4 &&
    6751           0 :         MI->getOperand(0).isReg() &&
    6752           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6753           0 :         MI->getOperand(1).isReg() &&
    6754           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6755           0 :         MI->getOperand(2).isReg() &&
    6756           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6757           0 :         MI->getOperand(3).isImm() &&
    6758           0 :         MI->getOperand(3).getImm() == 3 &&
    6759           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6760             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 3)
    6761             :       AsmString = "fmovqul $\x02, $\x03, $\x01";
    6762             :       break;
    6763             :     }
    6764           0 :     if (MI->getNumOperands() == 4 &&
    6765           0 :         MI->getOperand(0).isReg() &&
    6766           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6767           0 :         MI->getOperand(1).isReg() &&
    6768           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6769           0 :         MI->getOperand(2).isReg() &&
    6770           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6771           0 :         MI->getOperand(3).isImm() &&
    6772           0 :         MI->getOperand(3).getImm() == 2 &&
    6773           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6774             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 2)
    6775             :       AsmString = "fmovqlg $\x02, $\x03, $\x01";
    6776             :       break;
    6777             :     }
    6778           0 :     if (MI->getNumOperands() == 4 &&
    6779           0 :         MI->getOperand(0).isReg() &&
    6780           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6781           0 :         MI->getOperand(1).isReg() &&
    6782           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6783           0 :         MI->getOperand(2).isReg() &&
    6784           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6785           0 :         MI->getOperand(3).isImm() &&
    6786           0 :         MI->getOperand(3).getImm() == 1 &&
    6787           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6788             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 1)
    6789             :       AsmString = "fmovqne $\x02, $\x03, $\x01";
    6790             :       break;
    6791             :     }
    6792           0 :     if (MI->getNumOperands() == 4 &&
    6793           0 :         MI->getOperand(0).isReg() &&
    6794           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6795           0 :         MI->getOperand(1).isReg() &&
    6796           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6797           0 :         MI->getOperand(2).isReg() &&
    6798           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6799           0 :         MI->getOperand(3).isImm() &&
    6800           0 :         MI->getOperand(3).getImm() == 9 &&
    6801           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6802             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 9)
    6803             :       AsmString = "fmovqe $\x02, $\x03, $\x01";
    6804             :       break;
    6805             :     }
    6806           0 :     if (MI->getNumOperands() == 4 &&
    6807           0 :         MI->getOperand(0).isReg() &&
    6808           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6809           0 :         MI->getOperand(1).isReg() &&
    6810           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6811           0 :         MI->getOperand(2).isReg() &&
    6812           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6813           0 :         MI->getOperand(3).isImm() &&
    6814           0 :         MI->getOperand(3).getImm() == 10 &&
    6815           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6816             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 10)
    6817             :       AsmString = "fmovque $\x02, $\x03, $\x01";
    6818             :       break;
    6819             :     }
    6820           0 :     if (MI->getNumOperands() == 4 &&
    6821           0 :         MI->getOperand(0).isReg() &&
    6822           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6823           0 :         MI->getOperand(1).isReg() &&
    6824           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6825           0 :         MI->getOperand(2).isReg() &&
    6826           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6827           0 :         MI->getOperand(3).isImm() &&
    6828           0 :         MI->getOperand(3).getImm() == 11 &&
    6829           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6830             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 11)
    6831             :       AsmString = "fmovqge $\x02, $\x03, $\x01";
    6832             :       break;
    6833             :     }
    6834           0 :     if (MI->getNumOperands() == 4 &&
    6835           0 :         MI->getOperand(0).isReg() &&
    6836           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6837           0 :         MI->getOperand(1).isReg() &&
    6838           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6839           0 :         MI->getOperand(2).isReg() &&
    6840           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6841           0 :         MI->getOperand(3).isImm() &&
    6842           0 :         MI->getOperand(3).getImm() == 12 &&
    6843           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6844             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 12)
    6845             :       AsmString = "fmovquge $\x02, $\x03, $\x01";
    6846             :       break;
    6847             :     }
    6848           0 :     if (MI->getNumOperands() == 4 &&
    6849           0 :         MI->getOperand(0).isReg() &&
    6850           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6851           0 :         MI->getOperand(1).isReg() &&
    6852           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6853           0 :         MI->getOperand(2).isReg() &&
    6854           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6855           0 :         MI->getOperand(3).isImm() &&
    6856           0 :         MI->getOperand(3).getImm() == 13 &&
    6857           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6858             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 13)
    6859             :       AsmString = "fmovqle $\x02, $\x03, $\x01";
    6860             :       break;
    6861             :     }
    6862           0 :     if (MI->getNumOperands() == 4 &&
    6863           0 :         MI->getOperand(0).isReg() &&
    6864           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6865           0 :         MI->getOperand(1).isReg() &&
    6866           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6867           0 :         MI->getOperand(2).isReg() &&
    6868           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6869           0 :         MI->getOperand(3).isImm() &&
    6870           0 :         MI->getOperand(3).getImm() == 14 &&
    6871           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6872             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 14)
    6873             :       AsmString = "fmovqule $\x02, $\x03, $\x01";
    6874             :       break;
    6875             :     }
    6876           0 :     if (MI->getNumOperands() == 4 &&
    6877           0 :         MI->getOperand(0).isReg() &&
    6878           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6879           0 :         MI->getOperand(1).isReg() &&
    6880           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6881           0 :         MI->getOperand(2).isReg() &&
    6882           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6883           0 :         MI->getOperand(3).isImm() &&
    6884           0 :         MI->getOperand(3).getImm() == 15 &&
    6885           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6886             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 15)
    6887             :       AsmString = "fmovqo $\x02, $\x03, $\x01";
    6888             :       break;
    6889             :     }
    6890             :     return false;
    6891          15 :   case SP::V9FMOVS_FCC:
    6892          15 :     if (MI->getNumOperands() == 4 &&
    6893           0 :         MI->getOperand(0).isReg() &&
    6894           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6895           0 :         MI->getOperand(1).isReg() &&
    6896           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6897           0 :         MI->getOperand(2).isReg() &&
    6898           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6899           0 :         MI->getOperand(3).isImm() &&
    6900          15 :         MI->getOperand(3).getImm() == 8 &&
    6901           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6902             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 8)
    6903             :       AsmString = "fmovsa $\x02, $\x03, $\x01";
    6904             :       break;
    6905             :     }
    6906          15 :     if (MI->getNumOperands() == 4 &&
    6907           0 :         MI->getOperand(0).isReg() &&
    6908           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6909           0 :         MI->getOperand(1).isReg() &&
    6910           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6911           0 :         MI->getOperand(2).isReg() &&
    6912           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6913           0 :         MI->getOperand(3).isImm() &&
    6914          15 :         MI->getOperand(3).getImm() == 0 &&
    6915           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6916             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 0)
    6917             :       AsmString = "fmovsn $\x02, $\x03, $\x01";
    6918             :       break;
    6919             :     }
    6920          15 :     if (MI->getNumOperands() == 4 &&
    6921           0 :         MI->getOperand(0).isReg() &&
    6922           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6923           0 :         MI->getOperand(1).isReg() &&
    6924           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6925           0 :         MI->getOperand(2).isReg() &&
    6926           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6927           0 :         MI->getOperand(3).isImm() &&
    6928          15 :         MI->getOperand(3).getImm() == 7 &&
    6929           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6930             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 7)
    6931             :       AsmString = "fmovsu $\x02, $\x03, $\x01";
    6932             :       break;
    6933             :     }
    6934          15 :     if (MI->getNumOperands() == 4 &&
    6935           0 :         MI->getOperand(0).isReg() &&
    6936           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6937           0 :         MI->getOperand(1).isReg() &&
    6938           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6939           0 :         MI->getOperand(2).isReg() &&
    6940           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6941           0 :         MI->getOperand(3).isImm() &&
    6942          15 :         MI->getOperand(3).getImm() == 6 &&
    6943           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6944             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 6)
    6945             :       AsmString = "fmovsg $\x02, $\x03, $\x01";
    6946             :       break;
    6947             :     }
    6948          15 :     if (MI->getNumOperands() == 4 &&
    6949           0 :         MI->getOperand(0).isReg() &&
    6950           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6951           0 :         MI->getOperand(1).isReg() &&
    6952           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6953           0 :         MI->getOperand(2).isReg() &&
    6954           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6955           0 :         MI->getOperand(3).isImm() &&
    6956          15 :         MI->getOperand(3).getImm() == 5 &&
    6957           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6958             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 5)
    6959             :       AsmString = "fmovsug $\x02, $\x03, $\x01";
    6960             :       break;
    6961             :     }
    6962          15 :     if (MI->getNumOperands() == 4 &&
    6963           0 :         MI->getOperand(0).isReg() &&
    6964           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6965           0 :         MI->getOperand(1).isReg() &&
    6966           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6967           0 :         MI->getOperand(2).isReg() &&
    6968           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6969           0 :         MI->getOperand(3).isImm() &&
    6970          15 :         MI->getOperand(3).getImm() == 4 &&
    6971           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6972             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 4)
    6973             :       AsmString = "fmovsl $\x02, $\x03, $\x01";
    6974             :       break;
    6975             :     }
    6976          15 :     if (MI->getNumOperands() == 4 &&
    6977           0 :         MI->getOperand(0).isReg() &&
    6978           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6979           0 :         MI->getOperand(1).isReg() &&
    6980           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6981           0 :         MI->getOperand(2).isReg() &&
    6982           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6983           0 :         MI->getOperand(3).isImm() &&
    6984          15 :         MI->getOperand(3).getImm() == 3 &&
    6985           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6986             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 3)
    6987             :       AsmString = "fmovsul $\x02, $\x03, $\x01";
    6988             :       break;
    6989             :     }
    6990          15 :     if (MI->getNumOperands() == 4 &&
    6991           0 :         MI->getOperand(0).isReg() &&
    6992           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6993           0 :         MI->getOperand(1).isReg() &&
    6994           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6995           0 :         MI->getOperand(2).isReg() &&
    6996           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6997           0 :         MI->getOperand(3).isImm() &&
    6998          15 :         MI->getOperand(3).getImm() == 2 &&
    6999           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7000             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 2)
    7001             :       AsmString = "fmovslg $\x02, $\x03, $\x01";
    7002             :       break;
    7003             :     }
    7004          15 :     if (MI->getNumOperands() == 4 &&
    7005           0 :         MI->getOperand(0).isReg() &&
    7006           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7007           0 :         MI->getOperand(1).isReg() &&
    7008           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7009           0 :         MI->getOperand(2).isReg() &&
    7010           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7011           0 :         MI->getOperand(3).isImm() &&
    7012          15 :         MI->getOperand(3).getImm() == 1 &&
    7013           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7014             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 1)
    7015             :       AsmString = "fmovsne $\x02, $\x03, $\x01";
    7016             :       break;
    7017             :     }
    7018          15 :     if (MI->getNumOperands() == 4 &&
    7019           0 :         MI->getOperand(0).isReg() &&
    7020           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7021           0 :         MI->getOperand(1).isReg() &&
    7022           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7023           0 :         MI->getOperand(2).isReg() &&
    7024           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7025           0 :         MI->getOperand(3).isImm() &&
    7026          15 :         MI->getOperand(3).getImm() == 9 &&
    7027           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7028             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 9)
    7029             :       AsmString = "fmovse $\x02, $\x03, $\x01";
    7030             :       break;
    7031             :     }
    7032          15 :     if (MI->getNumOperands() == 4 &&
    7033           0 :         MI->getOperand(0).isReg() &&
    7034           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7035           0 :         MI->getOperand(1).isReg() &&
    7036           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7037           0 :         MI->getOperand(2).isReg() &&
    7038           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7039           0 :         MI->getOperand(3).isImm() &&
    7040          15 :         MI->getOperand(3).getImm() == 10 &&
    7041           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7042             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 10)
    7043             :       AsmString = "fmovsue $\x02, $\x03, $\x01";
    7044             :       break;
    7045             :     }
    7046          15 :     if (MI->getNumOperands() == 4 &&
    7047           0 :         MI->getOperand(0).isReg() &&
    7048           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7049           0 :         MI->getOperand(1).isReg() &&
    7050           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7051           0 :         MI->getOperand(2).isReg() &&
    7052           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7053           0 :         MI->getOperand(3).isImm() &&
    7054          15 :         MI->getOperand(3).getImm() == 11 &&
    7055           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7056             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 11)
    7057             :       AsmString = "fmovsge $\x02, $\x03, $\x01";
    7058             :       break;
    7059             :     }
    7060          15 :     if (MI->getNumOperands() == 4 &&
    7061           0 :         MI->getOperand(0).isReg() &&
    7062           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7063           0 :         MI->getOperand(1).isReg() &&
    7064           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7065           0 :         MI->getOperand(2).isReg() &&
    7066           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7067           0 :         MI->getOperand(3).isImm() &&
    7068          15 :         MI->getOperand(3).getImm() == 12 &&
    7069           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7070             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 12)
    7071             :       AsmString = "fmovsuge $\x02, $\x03, $\x01";
    7072             :       break;
    7073             :     }
    7074          15 :     if (MI->getNumOperands() == 4 &&
    7075           0 :         MI->getOperand(0).isReg() &&
    7076           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7077           0 :         MI->getOperand(1).isReg() &&
    7078           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7079           0 :         MI->getOperand(2).isReg() &&
    7080           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7081           0 :         MI->getOperand(3).isImm() &&
    7082          15 :         MI->getOperand(3).getImm() == 13 &&
    7083           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7084             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 13)
    7085             :       AsmString = "fmovsle $\x02, $\x03, $\x01";
    7086             :       break;
    7087             :     }
    7088          15 :     if (MI->getNumOperands() == 4 &&
    7089           0 :         MI->getOperand(0).isReg() &&
    7090           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7091           0 :         MI->getOperand(1).isReg() &&
    7092           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7093           0 :         MI->getOperand(2).isReg() &&
    7094           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7095           0 :         MI->getOperand(3).isImm() &&
    7096          15 :         MI->getOperand(3).getImm() == 14 &&
    7097           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7098             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 14)
    7099             :       AsmString = "fmovsule $\x02, $\x03, $\x01";
    7100             :       break;
    7101             :     }
    7102          15 :     if (MI->getNumOperands() == 4 &&
    7103           0 :         MI->getOperand(0).isReg() &&
    7104           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7105           0 :         MI->getOperand(1).isReg() &&
    7106           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7107           0 :         MI->getOperand(2).isReg() &&
    7108           0 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7109           0 :         MI->getOperand(3).isImm() &&
    7110          15 :         MI->getOperand(3).getImm() == 15 &&
    7111           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7112             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 15)
    7113             :       AsmString = "fmovso $\x02, $\x03, $\x01";
    7114             :       break;
    7115             :     }
    7116             :     return false;
    7117           0 :   case SP::V9MOVFCCri:
    7118           0 :     if (MI->getNumOperands() == 4 &&
    7119           0 :         MI->getOperand(0).isReg() &&
    7120           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7121           0 :         MI->getOperand(1).isReg() &&
    7122           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7123           0 :         MI->getOperand(3).isImm() &&
    7124           0 :         MI->getOperand(3).getImm() == 8 &&
    7125           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7126             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 8)
    7127             :       AsmString = "mova $\x02, $\x03, $\x01";
    7128             :       break;
    7129             :     }
    7130           0 :     if (MI->getNumOperands() == 4 &&
    7131           0 :         MI->getOperand(0).isReg() &&
    7132           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7133           0 :         MI->getOperand(1).isReg() &&
    7134           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7135           0 :         MI->getOperand(3).isImm() &&
    7136           0 :         MI->getOperand(3).getImm() == 0 &&
    7137           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7138             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 0)
    7139             :       AsmString = "movn $\x02, $\x03, $\x01";
    7140             :       break;
    7141             :     }
    7142           0 :     if (MI->getNumOperands() == 4 &&
    7143           0 :         MI->getOperand(0).isReg() &&
    7144           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7145           0 :         MI->getOperand(1).isReg() &&
    7146           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7147           0 :         MI->getOperand(3).isImm() &&
    7148           0 :         MI->getOperand(3).getImm() == 7 &&
    7149           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7150             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 7)
    7151             :       AsmString = "movu $\x02, $\x03, $\x01";
    7152             :       break;
    7153             :     }
    7154           0 :     if (MI->getNumOperands() == 4 &&
    7155           0 :         MI->getOperand(0).isReg() &&
    7156           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7157           0 :         MI->getOperand(1).isReg() &&
    7158           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7159           0 :         MI->getOperand(3).isImm() &&
    7160           0 :         MI->getOperand(3).getImm() == 6 &&
    7161           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7162             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 6)
    7163             :       AsmString = "movg $\x02, $\x03, $\x01";
    7164             :       break;
    7165             :     }
    7166           0 :     if (MI->getNumOperands() == 4 &&
    7167           0 :         MI->getOperand(0).isReg() &&
    7168           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7169           0 :         MI->getOperand(1).isReg() &&
    7170           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7171           0 :         MI->getOperand(3).isImm() &&
    7172           0 :         MI->getOperand(3).getImm() == 5 &&
    7173           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7174             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 5)
    7175             :       AsmString = "movug $\x02, $\x03, $\x01";
    7176             :       break;
    7177             :     }
    7178           0 :     if (MI->getNumOperands() == 4 &&
    7179           0 :         MI->getOperand(0).isReg() &&
    7180           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7181           0 :         MI->getOperand(1).isReg() &&
    7182           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7183           0 :         MI->getOperand(3).isImm() &&
    7184           0 :         MI->getOperand(3).getImm() == 4 &&
    7185           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7186             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 4)
    7187             :       AsmString = "movl $\x02, $\x03, $\x01";
    7188             :       break;
    7189             :     }
    7190           0 :     if (MI->getNumOperands() == 4 &&
    7191           0 :         MI->getOperand(0).isReg() &&
    7192           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7193           0 :         MI->getOperand(1).isReg() &&
    7194           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7195           0 :         MI->getOperand(3).isImm() &&
    7196           0 :         MI->getOperand(3).getImm() == 3 &&
    7197           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7198             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 3)
    7199             :       AsmString = "movul $\x02, $\x03, $\x01";
    7200             :       break;
    7201             :     }
    7202           0 :     if (MI->getNumOperands() == 4 &&
    7203           0 :         MI->getOperand(0).isReg() &&
    7204           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7205           0 :         MI->getOperand(1).isReg() &&
    7206           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7207           0 :         MI->getOperand(3).isImm() &&
    7208           0 :         MI->getOperand(3).getImm() == 2 &&
    7209           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7210             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 2)
    7211             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7212             :       break;
    7213             :     }
    7214           0 :     if (MI->getNumOperands() == 4 &&
    7215           0 :         MI->getOperand(0).isReg() &&
    7216           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7217           0 :         MI->getOperand(1).isReg() &&
    7218           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7219           0 :         MI->getOperand(3).isImm() &&
    7220           0 :         MI->getOperand(3).getImm() == 1 &&
    7221           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7222             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 1)
    7223             :       AsmString = "movne $\x02, $\x03, $\x01";
    7224             :       break;
    7225             :     }
    7226           0 :     if (MI->getNumOperands() == 4 &&
    7227           0 :         MI->getOperand(0).isReg() &&
    7228           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7229           0 :         MI->getOperand(1).isReg() &&
    7230           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7231           0 :         MI->getOperand(3).isImm() &&
    7232           0 :         MI->getOperand(3).getImm() == 9 &&
    7233           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7234             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 9)
    7235             :       AsmString = "move $\x02, $\x03, $\x01";
    7236             :       break;
    7237             :     }
    7238           0 :     if (MI->getNumOperands() == 4 &&
    7239           0 :         MI->getOperand(0).isReg() &&
    7240           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7241           0 :         MI->getOperand(1).isReg() &&
    7242           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7243           0 :         MI->getOperand(3).isImm() &&
    7244           0 :         MI->getOperand(3).getImm() == 10 &&
    7245           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7246             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 10)
    7247             :       AsmString = "movue $\x02, $\x03, $\x01";
    7248             :       break;
    7249             :     }
    7250           0 :     if (MI->getNumOperands() == 4 &&
    7251           0 :         MI->getOperand(0).isReg() &&
    7252           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7253           0 :         MI->getOperand(1).isReg() &&
    7254           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7255           0 :         MI->getOperand(3).isImm() &&
    7256           0 :         MI->getOperand(3).getImm() == 11 &&
    7257           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7258             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 11)
    7259             :       AsmString = "movge $\x02, $\x03, $\x01";
    7260             :       break;
    7261             :     }
    7262           0 :     if (MI->getNumOperands() == 4 &&
    7263           0 :         MI->getOperand(0).isReg() &&
    7264           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7265           0 :         MI->getOperand(1).isReg() &&
    7266           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7267           0 :         MI->getOperand(3).isImm() &&
    7268           0 :         MI->getOperand(3).getImm() == 12 &&
    7269           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7270             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 12)
    7271             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7272             :       break;
    7273             :     }
    7274           0 :     if (MI->getNumOperands() == 4 &&
    7275           0 :         MI->getOperand(0).isReg() &&
    7276           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7277           0 :         MI->getOperand(1).isReg() &&
    7278           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7279           0 :         MI->getOperand(3).isImm() &&
    7280           0 :         MI->getOperand(3).getImm() == 13 &&
    7281           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7282             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 13)
    7283             :       AsmString = "movle $\x02, $\x03, $\x01";
    7284             :       break;
    7285             :     }
    7286           0 :     if (MI->getNumOperands() == 4 &&
    7287           0 :         MI->getOperand(0).isReg() &&
    7288           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7289           0 :         MI->getOperand(1).isReg() &&
    7290           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7291           0 :         MI->getOperand(3).isImm() &&
    7292           0 :         MI->getOperand(3).getImm() == 14 &&
    7293           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7294             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 14)
    7295             :       AsmString = "movule $\x02, $\x03, $\x01";
    7296             :       break;
    7297             :     }
    7298           0 :     if (MI->getNumOperands() == 4 &&
    7299           0 :         MI->getOperand(0).isReg() &&
    7300           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7301           0 :         MI->getOperand(1).isReg() &&
    7302           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7303           0 :         MI->getOperand(3).isImm() &&
    7304           0 :         MI->getOperand(3).getImm() == 15 &&
    7305           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7306             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 15)
    7307             :       AsmString = "movo $\x02, $\x03, $\x01";
    7308             :       break;
    7309             :     }
    7310             :     return false;
    7311          15 :   case SP::V9MOVFCCrr:
    7312          15 :     if (MI->getNumOperands() == 4 &&
    7313           0 :         MI->getOperand(0).isReg() &&
    7314           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7315           0 :         MI->getOperand(1).isReg() &&
    7316           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7317           0 :         MI->getOperand(2).isReg() &&
    7318           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7319           0 :         MI->getOperand(3).isImm() &&
    7320          15 :         MI->getOperand(3).getImm() == 8 &&
    7321           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7322             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 8)
    7323             :       AsmString = "mova $\x02, $\x03, $\x01";
    7324             :       break;
    7325             :     }
    7326          15 :     if (MI->getNumOperands() == 4 &&
    7327           0 :         MI->getOperand(0).isReg() &&
    7328           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7329           0 :         MI->getOperand(1).isReg() &&
    7330           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7331           0 :         MI->getOperand(2).isReg() &&
    7332           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7333           0 :         MI->getOperand(3).isImm() &&
    7334          15 :         MI->getOperand(3).getImm() == 0 &&
    7335           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7336             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 0)
    7337             :       AsmString = "movn $\x02, $\x03, $\x01";
    7338             :       break;
    7339             :     }
    7340          15 :     if (MI->getNumOperands() == 4 &&
    7341           0 :         MI->getOperand(0).isReg() &&
    7342           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7343           0 :         MI->getOperand(1).isReg() &&
    7344           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7345           0 :         MI->getOperand(2).isReg() &&
    7346           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7347           0 :         MI->getOperand(3).isImm() &&
    7348          15 :         MI->getOperand(3).getImm() == 7 &&
    7349           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7350             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 7)
    7351             :       AsmString = "movu $\x02, $\x03, $\x01";
    7352             :       break;
    7353             :     }
    7354          15 :     if (MI->getNumOperands() == 4 &&
    7355           0 :         MI->getOperand(0).isReg() &&
    7356           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7357           0 :         MI->getOperand(1).isReg() &&
    7358           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7359           0 :         MI->getOperand(2).isReg() &&
    7360           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7361           0 :         MI->getOperand(3).isImm() &&
    7362          15 :         MI->getOperand(3).getImm() == 6 &&
    7363           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7364             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 6)
    7365             :       AsmString = "movg $\x02, $\x03, $\x01";
    7366             :       break;
    7367             :     }
    7368          15 :     if (MI->getNumOperands() == 4 &&
    7369           0 :         MI->getOperand(0).isReg() &&
    7370           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7371           0 :         MI->getOperand(1).isReg() &&
    7372           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7373           0 :         MI->getOperand(2).isReg() &&
    7374           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7375           0 :         MI->getOperand(3).isImm() &&
    7376          15 :         MI->getOperand(3).getImm() == 5 &&
    7377           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7378             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 5)
    7379             :       AsmString = "movug $\x02, $\x03, $\x01";
    7380             :       break;
    7381             :     }
    7382          15 :     if (MI->getNumOperands() == 4 &&
    7383           0 :         MI->getOperand(0).isReg() &&
    7384           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7385           0 :         MI->getOperand(1).isReg() &&
    7386           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7387           0 :         MI->getOperand(2).isReg() &&
    7388           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7389           0 :         MI->getOperand(3).isImm() &&
    7390          15 :         MI->getOperand(3).getImm() == 4 &&
    7391           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7392             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 4)
    7393             :       AsmString = "movl $\x02, $\x03, $\x01";
    7394             :       break;
    7395             :     }
    7396          15 :     if (MI->getNumOperands() == 4 &&
    7397           0 :         MI->getOperand(0).isReg() &&
    7398           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7399           0 :         MI->getOperand(1).isReg() &&
    7400           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7401           0 :         MI->getOperand(2).isReg() &&
    7402           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7403           0 :         MI->getOperand(3).isImm() &&
    7404          15 :         MI->getOperand(3).getImm() == 3 &&
    7405           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7406             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 3)
    7407             :       AsmString = "movul $\x02, $\x03, $\x01";
    7408             :       break;
    7409             :     }
    7410          15 :     if (MI->getNumOperands() == 4 &&
    7411           0 :         MI->getOperand(0).isReg() &&
    7412           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7413           0 :         MI->getOperand(1).isReg() &&
    7414           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7415           0 :         MI->getOperand(2).isReg() &&
    7416           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7417           0 :         MI->getOperand(3).isImm() &&
    7418          15 :         MI->getOperand(3).getImm() == 2 &&
    7419           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7420             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 2)
    7421             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7422             :       break;
    7423             :     }
    7424          15 :     if (MI->getNumOperands() == 4 &&
    7425           0 :         MI->getOperand(0).isReg() &&
    7426           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7427           0 :         MI->getOperand(1).isReg() &&
    7428           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7429           0 :         MI->getOperand(2).isReg() &&
    7430           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7431           0 :         MI->getOperand(3).isImm() &&
    7432          15 :         MI->getOperand(3).getImm() == 1 &&
    7433           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7434             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 1)
    7435             :       AsmString = "movne $\x02, $\x03, $\x01";
    7436             :       break;
    7437             :     }
    7438          15 :     if (MI->getNumOperands() == 4 &&
    7439           0 :         MI->getOperand(0).isReg() &&
    7440           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7441           0 :         MI->getOperand(1).isReg() &&
    7442           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7443           0 :         MI->getOperand(2).isReg() &&
    7444           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7445           0 :         MI->getOperand(3).isImm() &&
    7446          15 :         MI->getOperand(3).getImm() == 9 &&
    7447           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7448             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 9)
    7449             :       AsmString = "move $\x02, $\x03, $\x01";
    7450             :       break;
    7451             :     }
    7452          15 :     if (MI->getNumOperands() == 4 &&
    7453           0 :         MI->getOperand(0).isReg() &&
    7454           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7455           0 :         MI->getOperand(1).isReg() &&
    7456           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7457           0 :         MI->getOperand(2).isReg() &&
    7458           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7459           0 :         MI->getOperand(3).isImm() &&
    7460          15 :         MI->getOperand(3).getImm() == 10 &&
    7461           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7462             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 10)
    7463             :       AsmString = "movue $\x02, $\x03, $\x01";
    7464             :       break;
    7465             :     }
    7466          15 :     if (MI->getNumOperands() == 4 &&
    7467           0 :         MI->getOperand(0).isReg() &&
    7468           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7469           0 :         MI->getOperand(1).isReg() &&
    7470           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7471           0 :         MI->getOperand(2).isReg() &&
    7472           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7473           0 :         MI->getOperand(3).isImm() &&
    7474          15 :         MI->getOperand(3).getImm() == 11 &&
    7475           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7476             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 11)
    7477             :       AsmString = "movge $\x02, $\x03, $\x01";
    7478             :       break;
    7479             :     }
    7480          15 :     if (MI->getNumOperands() == 4 &&
    7481           0 :         MI->getOperand(0).isReg() &&
    7482           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7483           0 :         MI->getOperand(1).isReg() &&
    7484           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7485           0 :         MI->getOperand(2).isReg() &&
    7486           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7487           0 :         MI->getOperand(3).isImm() &&
    7488          15 :         MI->getOperand(3).getImm() == 12 &&
    7489           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7490             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 12)
    7491             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7492             :       break;
    7493             :     }
    7494          15 :     if (MI->getNumOperands() == 4 &&
    7495           0 :         MI->getOperand(0).isReg() &&
    7496           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7497           0 :         MI->getOperand(1).isReg() &&
    7498           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7499           0 :         MI->getOperand(2).isReg() &&
    7500           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7501           0 :         MI->getOperand(3).isImm() &&
    7502          15 :         MI->getOperand(3).getImm() == 13 &&
    7503           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7504             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 13)
    7505             :       AsmString = "movle $\x02, $\x03, $\x01";
    7506             :       break;
    7507             :     }
    7508          15 :     if (MI->getNumOperands() == 4 &&
    7509           0 :         MI->getOperand(0).isReg() &&
    7510           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7511           0 :         MI->getOperand(1).isReg() &&
    7512           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7513           0 :         MI->getOperand(2).isReg() &&
    7514           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7515           0 :         MI->getOperand(3).isImm() &&
    7516          15 :         MI->getOperand(3).getImm() == 14 &&
    7517           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7518             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 14)
    7519             :       AsmString = "movule $\x02, $\x03, $\x01";
    7520             :       break;
    7521             :     }
    7522          15 :     if (MI->getNumOperands() == 4 &&
    7523           0 :         MI->getOperand(0).isReg() &&
    7524           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7525           0 :         MI->getOperand(1).isReg() &&
    7526           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7527           0 :         MI->getOperand(2).isReg() &&
    7528           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7529           0 :         MI->getOperand(3).isImm() &&
    7530          15 :         MI->getOperand(3).getImm() == 15 &&
    7531           0 :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7532             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 15)
    7533             :       AsmString = "movo $\x02, $\x03, $\x01";
    7534             :       break;
    7535             :     }
    7536             :     return false;
    7537             :   }
    7538             : 
    7539        2381 :   unsigned I = 0;
    7540       30338 :   while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
    7541       21326 :          AsmString[I] != '$' && AsmString[I] != '\0')
    7542        9012 :     ++I;
    7543        4762 :   OS << '\t' << StringRef(AsmString, I);
    7544        2381 :   if (AsmString[I] != '\0') {
    7545        1460 :     if (AsmString[I] == ' ' || AsmString[I] == '\t')      OS << '\t';
    7546             :     do {
    7547        7591 :       if (AsmString[I] == '$') {
    7548        2524 :         ++I;
    7549        2524 :         if (AsmString[I] == (char)0xff) {
    7550           0 :           ++I;
    7551           0 :           int OpIdx = AsmString[I++] - 1;
    7552           0 :           int PrintMethodIdx = AsmString[I++] - 1;
    7553           0 :           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
    7554             :         } else
    7555        2524 :           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
    7556             :       } else {
    7557        5067 :         OS << AsmString[I++];
    7558             :       }
    7559        7591 :     } while (AsmString[I] != '\0');
    7560             :   }
    7561             : 
    7562             :   return true;
    7563             : }
    7564             : 
    7565           0 : void SparcInstPrinter::printCustomAliasOperand(
    7566             :          const MCInst *MI, unsigned OpIdx,
    7567             :          unsigned PrintMethodIdx,
    7568             :          const MCSubtargetInfo &STI,
    7569             :          raw_ostream &OS) {
    7570           0 :   llvm_unreachable("Unknown PrintMethod kind");
    7571             : }
    7572             : 
    7573             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13