LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/Sparc - SparcGenAsmWriter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 2608 3509 74.3 %
Date: 2018-02-23 15:42:53 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        7915 : 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_ATOMIC_CMPXCHG_WITH_SUCCESS
     417             :     0U, // G_ATOMIC_CMPXCHG
     418             :     0U, // G_ATOMICRMW_XCHG
     419             :     0U, // G_ATOMICRMW_ADD
     420             :     0U, // G_ATOMICRMW_SUB
     421             :     0U, // G_ATOMICRMW_AND
     422             :     0U, // G_ATOMICRMW_NAND
     423             :     0U, // G_ATOMICRMW_OR
     424             :     0U, // G_ATOMICRMW_XOR
     425             :     0U, // G_ATOMICRMW_MAX
     426             :     0U, // G_ATOMICRMW_MIN
     427             :     0U, // G_ATOMICRMW_UMAX
     428             :     0U, // G_ATOMICRMW_UMIN
     429             :     0U, // G_BRCOND
     430             :     0U, // G_BRINDIRECT
     431             :     0U, // G_INTRINSIC
     432             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     433             :     0U, // G_ANYEXT
     434             :     0U, // G_TRUNC
     435             :     0U, // G_CONSTANT
     436             :     0U, // G_FCONSTANT
     437             :     0U, // G_VASTART
     438             :     0U, // G_VAARG
     439             :     0U, // G_SEXT
     440             :     0U, // G_ZEXT
     441             :     0U, // G_SHL
     442             :     0U, // G_LSHR
     443             :     0U, // G_ASHR
     444             :     0U, // G_ICMP
     445             :     0U, // G_FCMP
     446             :     0U, // G_SELECT
     447             :     0U, // G_UADDE
     448             :     0U, // G_USUBE
     449             :     0U, // G_SADDO
     450             :     0U, // G_SSUBO
     451             :     0U, // G_UMULO
     452             :     0U, // G_SMULO
     453             :     0U, // G_UMULH
     454             :     0U, // G_SMULH
     455             :     0U, // G_FADD
     456             :     0U, // G_FSUB
     457             :     0U, // G_FMUL
     458             :     0U, // G_FMA
     459             :     0U, // G_FDIV
     460             :     0U, // G_FREM
     461             :     0U, // G_FPOW
     462             :     0U, // G_FEXP
     463             :     0U, // G_FEXP2
     464             :     0U, // G_FLOG
     465             :     0U, // G_FLOG2
     466             :     0U, // G_FNEG
     467             :     0U, // G_FPEXT
     468             :     0U, // G_FPTRUNC
     469             :     0U, // G_FPTOSI
     470             :     0U, // G_FPTOUI
     471             :     0U, // G_SITOFP
     472             :     0U, // G_UITOFP
     473             :     0U, // G_GEP
     474             :     0U, // G_PTR_MASK
     475             :     0U, // G_BR
     476             :     0U, // G_INSERT_VECTOR_ELT
     477             :     0U, // G_EXTRACT_VECTOR_ELT
     478             :     0U, // G_SHUFFLE_VECTOR
     479             :     0U, // G_BSWAP
     480             :     4747U,      // ADDCCri
     481             :     4747U,      // ADDCCrr
     482             :     6020U,      // ADDCri
     483             :     6020U,      // ADDCrr
     484             :     4839U,      // ADDEri
     485             :     4839U,      // ADDErr
     486             :     4853U,      // ADDXC
     487             :     4737U,      // ADDXCCC
     488             :     4875U,      // ADDXri
     489             :     4875U,      // ADDXrr
     490             :     4875U,      // ADDri
     491             :     4875U,      // ADDrr
     492             :     2105804U,   // ADJCALLSTACKDOWN
     493             :     74207U,     // ADJCALLSTACKUP
     494             :     5575U,      // ALIGNADDR
     495             :     5205U,      // ALIGNADDRL
     496             :     4754U,      // ANDCCri
     497             :     4754U,      // ANDCCrr
     498             :     4777U,      // ANDNCCri
     499             :     4777U,      // ANDNCCrr
     500             :     5260U,      // ANDNri
     501             :     5260U,      // ANDNrr
     502             :     5260U,      // ANDXNrr
     503             :     4943U,      // ANDXri
     504             :     4943U,      // ANDXrr
     505             :     4943U,      // ANDri
     506             :     4943U,      // ANDrr
     507             :     4524U,      // ARRAY16
     508             :     4277U,      // ARRAY32
     509             :     4548U,      // ARRAY8
     510             :     74295U,     // BA
     511             :     4340628U,   // BCOND
     512             :     4406164U,   // BCONDA
     513             :     83273U,     // BINDri
     514             :     83273U,     // BINDrr
     515             :     5143U,      // BMASK
     516             :     146326U,    // BPFCC
     517             :     211862U,    // BPFCCA
     518             :     277398U,    // BPFCCANT
     519             :     342934U,    // BPFCCNT
     520             :     2106543U,   // BPGEZapn
     521             :     2105860U,   // BPGEZapt
     522             :     2106610U,   // BPGEZnapn
     523             :     2107383U,   // BPGEZnapt
     524             :     2106567U,   // BPGZapn
     525             :     2105878U,   // BPGZapt
     526             :     2106630U,   // BPGZnapn
     527             :     2107479U,   // BPGZnapt
     528             :     4602772U,   // BPICC
     529             :     474004U,    // BPICCA
     530             :     539540U,    // BPICCANT
     531             :     605076U,    // BPICCNT
     532             :     2106555U,   // BPLEZapn
     533             :     2105869U,   // BPLEZapt
     534             :     2106620U,   // BPLEZnapn
     535             :     2107432U,   // BPLEZnapt
     536             :     2106578U,   // BPLZapn
     537             :     2105886U,   // BPLZapt
     538             :     2106639U,   // BPLZnapn
     539             :     2107523U,   // BPLZnapt
     540             :     2106589U,   // BPNZapn
     541             :     2105894U,   // BPNZapt
     542             :     2106648U,   // BPNZnapn
     543             :     2107567U,   // BPNZnapt
     544             :     4864916U,   // BPXCC
     545             :     736148U,    // BPXCCA
     546             :     801684U,    // BPXCCANT
     547             :     867220U,    // BPXCCNT
     548             :     2106600U,   // BPZapn
     549             :     2105902U,   // BPZapt
     550             :     2106657U,   // BPZnapn
     551             :     2107600U,   // BPZnapt
     552             :     5054U,      // BSHUFFLE
     553             :     74820U,     // CALL
     554             :     83012U,     // CALLri
     555             :     83012U,     // CALLrr
     556             :     924469U,    // CASAasi10
     557             :     7281461U,   // CASArr
     558             :     1055628U,   // CASXrr
     559             :     1055609U,   // CASrr
     560             :     4340627U,   // CBCOND
     561             :     4406163U,   // CBCONDA
     562             :     74023U,     // CMASK16
     563             :     73855U,     // CMASK32
     564             :     74172U,     // CMASK8
     565             :     2106685U,   // CMPri
     566             :     2106685U,   // CMPrr
     567             :     4354U,      // EDGE16
     568             :     5159U,      // EDGE16L
     569             :     5276U,      // EDGE16LN
     570             :     5243U,      // EDGE16N
     571             :     4186U,      // EDGE32
     572             :     5150U,      // EDGE32L
     573             :     5266U,      // EDGE32LN
     574             :     5234U,      // EDGE32N
     575             :     4533U,      // EDGE8
     576             :     5168U,      // EDGE8L
     577             :     5286U,      // EDGE8LN
     578             :     5252U,      // EDGE8N
     579             :     2651U,      // EH_SJLJ_LONGJMP32ri
     580             :     2651U,      // EH_SJLJ_LONGJMP32rr
     581             :     2670U,      // EH_SJLJ_SETJMP32ri
     582             :     2670U,      // EH_SJLJ_SETJMP32rr
     583             :     4199315U,   // FABSD
     584             :     4199837U,   // FABSQ
     585             :     4200194U,   // FABSS
     586             :     4880U,      // FADDD
     587             :     5461U,      // FADDQ
     588             :     5735U,      // FADDS
     589             :     4690U,      // FALIGNADATA
     590             :     4942U,      // FAND
     591             :     4134U,      // FANDNOT1
     592             :     5634U,      // FANDNOT1S
     593             :     4293U,      // FANDNOT2
     594             :     5681U,      // FANDNOT2S
     595             :     5767U,      // FANDS
     596             :     4340630U,   // FBCOND
     597             :     4406166U,   // FBCONDA
     598             :     4416U,      // FCHKSM16
     599             :     2106240U,   // FCMPD
     600             :     4435U,      // FCMPEQ16
     601             :     4248U,      // FCMPEQ32
     602             :     4454U,      // FCMPGT16
     603             :     4267U,      // FCMPGT32
     604             :     4362U,      // FCMPLE16
     605             :     4194U,      // FCMPLE32
     606             :     4372U,      // FCMPNE16
     607             :     4204U,      // FCMPNE32
     608             :     2106774U,   // FCMPQ
     609             :     2107095U,   // FCMPS
     610             :     5031U,      // FDIVD
     611             :     5553U,      // FDIVQ
     612             :     5905U,      // FDIVS
     613             :     5483U,      // FDMULQ
     614             :     4199426U,   // FDTOI
     615             :     4199802U,   // FDTOQ
     616             :     4200123U,   // FDTOS
     617             :     4200359U,   // FDTOX
     618             :     4199259U,   // FEXPAND
     619             :     4887U,      // FHADDD
     620             :     5742U,      // FHADDS
     621             :     4867U,      // FHSUBD
     622             :     5727U,      // FHSUBS
     623             :     4199268U,   // FITOD
     624             :     4199809U,   // FITOQ
     625             :     4200130U,   // FITOS
     626             :     18883463U,  // FLCMPD
     627             :     18884318U,  // FLCMPS
     628             :     2641U,      // FLUSH
     629             :     3031U,      // FLUSHW
     630             :     82909U,     // FLUSHri
     631             :     82909U,     // FLUSHrr
     632             :     4426U,      // FMEAN16
     633             :     4199342U,   // FMOVD
     634             :     1137561U,   // FMOVD_FCC
     635             :     153508761U, // FMOVD_ICC
     636             :     153770905U, // FMOVD_XCC
     637             :     4199864U,   // FMOVQ
     638             :     1137599U,   // FMOVQ_FCC
     639             :     153508799U, // FMOVQ_ICC
     640             :     153770943U, // FMOVQ_XCC
     641             :     6113U,      // FMOVRGEZD
     642             :     6124U,      // FMOVRGEZQ
     643             :     6151U,      // FMOVRGEZS
     644             :     6211U,      // FMOVRGZD
     645             :     6221U,      // FMOVRGZQ
     646             :     6245U,      // FMOVRGZS
     647             :     6162U,      // FMOVRLEZD
     648             :     6173U,      // FMOVRLEZQ
     649             :     6200U,      // FMOVRLEZS
     650             :     6255U,      // FMOVRLZD
     651             :     6265U,      // FMOVRLZQ
     652             :     6289U,      // FMOVRLZS
     653             :     6299U,      // FMOVRNZD
     654             :     6309U,      // FMOVRNZQ
     655             :     6333U,      // FMOVRNZS
     656             :     6104U,      // FMOVRZD
     657             :     6343U,      // FMOVRZQ
     658             :     6364U,      // FMOVRZS
     659             :     4200216U,   // FMOVS
     660             :     1137611U,   // FMOVS_FCC
     661             :     153508811U, // FMOVS_ICC
     662             :     153770955U, // FMOVS_XCC
     663             :     4512U,      // FMUL8SUX16
     664             :     4487U,      // FMUL8ULX16
     665             :     4464U,      // FMUL8X16
     666             :     5176U,      // FMUL8X16AL
     667             :     5944U,      // FMUL8X16AU
     668             :     4927U,      // FMULD
     669             :     4499U,      // FMULD8SUX16
     670             :     4474U,      // FMULD8ULX16
     671             :     5491U,      // FMULQ
     672             :     5804U,      // FMULS
     673             :     4904U,      // FNADDD
     674             :     5759U,      // FNADDS
     675             :     4948U,      // FNAND
     676             :     5774U,      // FNANDS
     677             :     4199224U,   // FNEGD
     678             :     4199780U,   // FNEGQ
     679             :     4200101U,   // FNEGS
     680             :     4895U,      // FNHADDD
     681             :     5750U,      // FNHADDS
     682             :     4895U,      // FNMULD
     683             :     5750U,      // FNMULS
     684             :     5591U,      // FNOR
     685             :     5868U,      // FNORS
     686             :     4198448U,   // FNOT1
     687             :     4199949U,   // FNOT1S
     688             :     4198607U,   // FNOT2
     689             :     4199996U,   // FNOT2S
     690             :     5750U,      // FNSMULD
     691             :     74696U,     // FONE
     692             :     75414U,     // FONES
     693             :     5586U,      // FOR
     694             :     4151U,      // FORNOT1
     695             :     5653U,      // FORNOT1S
     696             :     4310U,      // FORNOT2
     697             :     5700U,      // FORNOT2S
     698             :     5862U,      // FORS
     699             :     4198686U,   // FPACK16
     700             :     4214U,      // FPACK32
     701             :     4200330U,   // FPACKFIX
     702             :     4345U,      // FPADD16
     703             :     5710U,      // FPADD16S
     704             :     4177U,      // FPADD32
     705             :     5663U,      // FPADD32S
     706             :     4319U,      // FPADD64
     707             :     5045U,      // FPMERGE
     708             :     4336U,      // FPSUB16
     709             :     4602U,      // FPSUB16S
     710             :     4168U,      // FPSUB32
     711             :     4592U,      // FPSUB32S
     712             :     4199275U,   // FQTOD
     713             :     4199433U,   // FQTOI
     714             :     4200137U,   // FQTOS
     715             :     4200375U,   // FQTOX
     716             :     4445U,      // FSLAS16
     717             :     4258U,      // FSLAS32
     718             :     4400U,      // FSLL16
     719             :     4232U,      // FSLL32
     720             :     4934U,      // FSMULD
     721             :     4199322U,   // FSQRTD
     722             :     4199844U,   // FSQRTQ
     723             :     4200201U,   // FSQRTS
     724             :     4328U,      // FSRA16
     725             :     4160U,      // FSRA32
     726             :     4198431U,   // FSRC1
     727             :     4199930U,   // FSRC1S
     728             :     4198590U,   // FSRC2
     729             :     4199977U,   // FSRC2S
     730             :     4408U,      // FSRL16
     731             :     4240U,      // FSRL32
     732             :     4199282U,   // FSTOD
     733             :     4199440U,   // FSTOI
     734             :     4199816U,   // FSTOQ
     735             :     4200382U,   // FSTOX
     736             :     4860U,      // FSUBD
     737             :     5454U,      // FSUBQ
     738             :     5720U,      // FSUBS
     739             :     5597U,      // FXNOR
     740             :     5875U,      // FXNORS
     741             :     5604U,      // FXOR
     742             :     5883U,      // FXORS
     743             :     4199289U,   // FXTOD
     744             :     4199823U,   // FXTOQ
     745             :     4200144U,   // FXTOS
     746             :     75062U,     // FZERO
     747             :     75443U,     // FZEROS
     748             :     24586U,     // GETPCX
     749             :     4224079U,   // JMPLri
     750             :     4224079U,   // JMPLrr
     751             :     160398096U, // LDArr
     752             :     1198937U,   // LDCSRri
     753             :     1198937U,   // LDCSRrr
     754             :     5274457U,   // LDCri
     755             :     5274457U,   // LDCrr
     756             :     160398089U, // LDDArr
     757             :     5274451U,   // LDDCri
     758             :     5274451U,   // LDDCrr
     759             :     160398089U, // LDDFArr
     760             :     5274451U,   // LDDFri
     761             :     5274451U,   // LDDFrr
     762             :     5274451U,   // LDDri
     763             :     5274451U,   // LDDrr
     764             :     160398096U, // LDFArr
     765             :     1264473U,   // LDFSRri
     766             :     1264473U,   // LDFSRrr
     767             :     5274457U,   // LDFri
     768             :     5274457U,   // LDFrr
     769             :     160398126U, // LDQFArr
     770             :     5274483U,   // LDQFri
     771             :     5274483U,   // LDQFrr
     772             :     160398063U, // LDSBArr
     773             :     5274428U,   // LDSBri
     774             :     5274428U,   // LDSBrr
     775             :     160398102U, // LDSHArr
     776             :     5274462U,   // LDSHri
     777             :     5274462U,   // LDSHrr
     778             :     160398079U, // LDSTUBArr
     779             :     5274442U,   // LDSTUBri
     780             :     5274442U,   // LDSTUBrr
     781             :     5274495U,   // LDSWri
     782             :     5274495U,   // LDSWrr
     783             :     160398071U, // LDUBArr
     784             :     5274435U,   // LDUBri
     785             :     5274435U,   // LDUBrr
     786             :     160398110U, // LDUHArr
     787             :     5274469U,   // LDUHri
     788             :     5274469U,   // LDUHrr
     789             :     1264518U,   // LDXFSRri
     790             :     1264518U,   // LDXFSRrr
     791             :     5274502U,   // LDXri
     792             :     5274502U,   // LDXrr
     793             :     5274457U,   // LDri
     794             :     5274457U,   // LDrr
     795             :     33547U,     // LEAX_ADDri
     796             :     33547U,     // LEA_ADDri
     797             :     4200228U,   // LZCNT
     798             :     75199U,     // MEMBARi
     799             :     4200366U,   // MOVDTOX
     800             :     1137619U,   // MOVFCCri
     801             :     1137619U,   // MOVFCCrr
     802             :     153508819U, // MOVICCri
     803             :     153508819U, // MOVICCrr
     804             :     6142U,      // MOVRGEZri
     805             :     6142U,      // MOVRGEZrr
     806             :     6237U,      // MOVRGZri
     807             :     6237U,      // MOVRGZrr
     808             :     6191U,      // MOVRLEZri
     809             :     6191U,      // MOVRLEZrr
     810             :     6281U,      // MOVRLZri
     811             :     6281U,      // MOVRLZrr
     812             :     6325U,      // MOVRNZri
     813             :     6325U,      // MOVRNZrr
     814             :     6357U,      // MOVRRZri
     815             :     6357U,      // MOVRRZrr
     816             :     4200292U,   // MOVSTOSW
     817             :     4200302U,   // MOVSTOUW
     818             :     4200366U,   // MOVWTOS
     819             :     153770963U, // MOVXCCri
     820             :     153770963U, // MOVXCCrr
     821             :     4200366U,   // MOVXTOD
     822             :     4807U,      // MULSCCri
     823             :     4807U,      // MULSCCrr
     824             :     6049U,      // MULXri
     825             :     6049U,      // MULXrr
     826             :     3003U,      // NOP
     827             :     4794U,      // ORCCri
     828             :     4794U,      // ORCCrr
     829             :     4785U,      // ORNCCri
     830             :     4785U,      // ORNCCrr
     831             :     5417U,      // ORNri
     832             :     5417U,      // ORNrr
     833             :     5417U,      // ORXNrr
     834             :     5587U,      // ORXri
     835             :     5587U,      // ORXrr
     836             :     5587U,      // ORri
     837             :     5587U,      // ORrr
     838             :     5931U,      // PDIST
     839             :     5422U,      // PDISTN
     840             :     4199151U,   // POPCrr
     841             :     4199311U,   // RDASR
     842             :     4199914U,   // RDPR
     843             :     73749U,     // RDPSR
     844             :     73739U,     // RDTBR
     845             :     73729U,     // RDWIM
     846             :     5070U,      // RESTOREri
     847             :     5070U,      // RESTORErr
     848             :     76227U,     // RET
     849             :     76236U,     // RETL
     850             :     83762U,     // RETTri
     851             :     83762U,     // RETTrr
     852             :     5079U,      // SAVEri
     853             :     5079U,      // SAVErr
     854             :     4815U,      // SDIVCCri
     855             :     4815U,      // SDIVCCrr
     856             :     6090U,      // SDIVXri
     857             :     6090U,      // SDIVXrr
     858             :     5956U,      // SDIVri
     859             :     5956U,      // SDIVrr
     860             :     2277U,      // SELECT_CC_DFP_FCC
     861             :     2388U,      // SELECT_CC_DFP_ICC
     862             :     2333U,      // SELECT_CC_FP_FCC
     863             :     2444U,      // SELECT_CC_FP_ICC
     864             :     2360U,      // SELECT_CC_Int_FCC
     865             :     2471U,      // SELECT_CC_Int_ICC
     866             :     2305U,      // SELECT_CC_QFP_FCC
     867             :     2416U,      // SELECT_CC_QFP_ICC
     868             :     4200223U,   // SET
     869             :     4199401U,   // SETHIXi
     870             :     4199401U,   // SETHIi
     871             :     2994U,      // SHUTDOWN
     872             :     2989U,      // SIAM
     873             :     6036U,      // SLLXri
     874             :     6036U,      // SLLXrr
     875             :     5194U,      // SLLri
     876             :     5194U,      // SLLrr
     877             :     4717U,      // SMACri
     878             :     4717U,      // SMACrr
     879             :     4761U,      // SMULCCri
     880             :     4761U,      // SMULCCrr
     881             :     5222U,      // SMULri
     882             :     5222U,      // SMULrr
     883             :     6008U,      // SRAXri
     884             :     6008U,      // SRAXrr
     885             :     4685U,      // SRAri
     886             :     4685U,      // SRArr
     887             :     6042U,      // SRLXri
     888             :     6042U,      // SRLXrr
     889             :     5217U,      // SRLri
     890             :     5217U,      // SRLrr
     891             :     9409118U,   // STArr
     892             :     3013U,      // STBAR
     893             :     9409077U,   // STBArr
     894             :     1348195U,   // STBri
     895             :     1348195U,   // STBrr
     896             :     1329869U,   // STCSRri
     897             :     1329869U,   // STCSRrr
     898             :     1349422U,   // STCri
     899             :     1349422U,   // STCrr
     900             :     9409083U,   // STDArr
     901             :     1329847U,   // STDCQri
     902             :     1329847U,   // STDCQrr
     903             :     1348514U,   // STDCri
     904             :     1348514U,   // STDCrr
     905             :     9409083U,   // STDFArr
     906             :     1329858U,   // STDFQri
     907             :     1329858U,   // STDFQrr
     908             :     1348514U,   // STDFri
     909             :     1348514U,   // STDFrr
     910             :     1348514U,   // STDri
     911             :     1348514U,   // STDrr
     912             :     9409118U,   // STFArr
     913             :     1329880U,   // STFSRri
     914             :     1329880U,   // STFSRrr
     915             :     1349422U,   // STFri
     916             :     1349422U,   // STFrr
     917             :     9409089U,   // STHArr
     918             :     1348580U,   // STHri
     919             :     1348580U,   // STHrr
     920             :     9409095U,   // STQFArr
     921             :     1349036U,   // STQFri
     922             :     1349036U,   // STQFrr
     923             :     1329891U,   // STXFSRri
     924             :     1329891U,   // STXFSRrr
     925             :     1349573U,   // STXri
     926             :     1349573U,   // STXrr
     927             :     1349422U,   // STri
     928             :     1349422U,   // STrr
     929             :     4730U,      // SUBCCri
     930             :     4730U,      // SUBCCrr
     931             :     6014U,      // SUBCri
     932             :     6014U,      // SUBCrr
     933             :     4831U,      // SUBEri
     934             :     4831U,      // SUBErr
     935             :     4712U,      // SUBXri
     936             :     4712U,      // SUBXrr
     937             :     4712U,      // SUBri
     938             :     4712U,      // SUBrr
     939             :     160398118U, // SWAPArr
     940             :     5274476U,   // SWAPri
     941             :     5274476U,   // SWAPrr
     942             :     2688U,      // TA3
     943             :     2693U,      // TA5
     944             :     5978U,      // TADDCCTVri
     945             :     5978U,      // TADDCCTVrr
     946             :     4746U,      // TADDCCri
     947             :     4746U,      // TADDCCrr
     948             :     38185937U,  // TICCri
     949             :     38185937U,  // TICCrr
     950             :     285217547U, // TLS_ADDXrr
     951             :     285217547U, // TLS_ADDrr
     952             :     2106436U,   // TLS_CALL
     953             :     290487174U, // TLS_LDXrr
     954             :     290487129U, // TLS_LDrr
     955             :     37923793U,  // TRAPri
     956             :     37923793U,  // TRAPrr
     957             :     5968U,      // TSUBCCTVri
     958             :     5968U,      // TSUBCCTVrr
     959             :     4729U,      // TSUBCCri
     960             :     4729U,      // TSUBCCrr
     961             :     38448081U,  // TXCCri
     962             :     38448081U,  // TXCCrr
     963             :     4823U,      // UDIVCCri
     964             :     4823U,      // UDIVCCrr
     965             :     6097U,      // UDIVXri
     966             :     6097U,      // UDIVXrr
     967             :     5962U,      // UDIVri
     968             :     5962U,      // UDIVrr
     969             :     4723U,      // UMACri
     970             :     4723U,      // UMACrr
     971             :     4769U,      // UMULCCri
     972             :     4769U,      // UMULCCrr
     973             :     5104U,      // UMULXHI
     974             :     5228U,      // UMULri
     975             :     5228U,      // UMULrr
     976             :     75074U,     // UNIMP
     977             :     18883456U,  // V9FCMPD
     978             :     18883376U,  // V9FCMPED
     979             :     18883932U,  // V9FCMPEQ
     980             :     18884253U,  // V9FCMPES
     981             :     18883990U,  // V9FCMPQ
     982             :     18884311U,  // V9FCMPS
     983             :     48025U,     // V9FMOVD_FCC
     984             :     48063U,     // V9FMOVQ_FCC
     985             :     48075U,     // V9FMOVS_FCC
     986             :     48083U,     // V9MOVFCCri
     987             :     48083U,     // V9MOVFCCrr
     988             :     5622U,      // WRASRri
     989             :     5622U,      // WRASRrr
     990             :     5616U,      // WRPRri
     991             :     5616U,      // WRPRrr
     992             :     52438518U,  // WRPSRri
     993             :     52438518U,  // WRPSRrr
     994             :     69215734U,  // WRTBRri
     995             :     69215734U,  // WRTBRrr
     996             :     85992950U,  // WRWIMri
     997             :     85992950U,  // WRWIMrr
     998             :     6048U,      // XMULX
     999             :     5113U,      // XMULXHI
    1000             :     4792U,      // XNORCCri
    1001             :     4792U,      // XNORCCrr
    1002             :     5598U,      // XNORXrr
    1003             :     5598U,      // XNORri
    1004             :     5598U,      // XNORrr
    1005             :     4800U,      // XORCCri
    1006             :     4800U,      // XORCCrr
    1007             :     5605U,      // XORXri
    1008             :     5605U,      // XORXrr
    1009             :     5605U,      // XORri
    1010             :     5605U,      // XORrr
    1011             :   };
    1012             : 
    1013        7915 :   O << "\t";
    1014             : 
    1015             :   // Emit the opcode for the instruction.
    1016             :   uint32_t Bits = 0;
    1017        7915 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
    1018             :   assert(Bits != 0 && "Cannot print this instruction.");
    1019        7915 :   O << AsmStrs+(Bits & 4095)-1;
    1020             : 
    1021             : 
    1022             :   // Fragment 0 encoded into 4 bits for 12 unique commands.
    1023        7915 :   switch ((Bits >> 12) & 15) {
    1024           0 :   default: llvm_unreachable("Invalid command number.");
    1025             :   case 0:
    1026             :     // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CALL, PATCHABL...
    1027             :     return;
    1028             :     break;
    1029        3170 :   case 1:
    1030             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1031        3170 :     printOperand(MI, 1, STI, O);
    1032        3170 :     break;
    1033         776 :   case 2:
    1034             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
    1035         776 :     printOperand(MI, 0, STI, O);
    1036         776 :     break;
    1037         369 :   case 3:
    1038             :     // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
    1039         369 :     printCCOperand(MI, 1, STI, O);
    1040         369 :     break;
    1041          56 :   case 4:
    1042             :     // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
    1043          56 :     printMemOperand(MI, 0, STI, O);
    1044          56 :     break;
    1045          13 :   case 5:
    1046             :     // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
    1047          13 :     printCCOperand(MI, 3, STI, O);
    1048          13 :     break;
    1049           0 :   case 6:
    1050             :     // GETPCX
    1051           0 :     printGetPCX(MI, 0, STI, O);
    1052           0 :     return;
    1053             :     break;
    1054        1278 :   case 7:
    1055             :     // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
    1056        1278 :     printMemOperand(MI, 1, STI, O);
    1057        1278 :     break;
    1058         124 :   case 8:
    1059             :     // LEAX_ADDri, LEA_ADDri
    1060         124 :     printMemOperand(MI, 1, STI, O, "arith");
    1061         124 :     O << ", ";
    1062         124 :     printOperand(MI, 0, STI, O);
    1063         124 :     return;
    1064             :     break;
    1065        1567 :   case 9:
    1066             :     // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
    1067        1567 :     printOperand(MI, 2, STI, O);
    1068        1567 :     O << ", [";
    1069        1567 :     printMemOperand(MI, 0, STI, O);
    1070        1567 :     break;
    1071           0 :   case 10:
    1072             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1073           0 :     printCCOperand(MI, 2, STI, O);
    1074           0 :     break;
    1075           0 :   case 11:
    1076             :     // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
    1077           0 :     printCCOperand(MI, 4, STI, O);
    1078             :     O << ' ';
    1079           0 :     printOperand(MI, 1, STI, O);
    1080           0 :     O << ", ";
    1081           0 :     printOperand(MI, 2, STI, O);
    1082           0 :     O << ", ";
    1083           0 :     printOperand(MI, 0, STI, O);
    1084           0 :     return;
    1085             :     break;
    1086             :   }
    1087             : 
    1088             : 
    1089             :   // Fragment 1 encoded into 5 bits for 21 unique commands.
    1090        7229 :   switch ((Bits >> 16) & 31) {
    1091           0 :   default: llvm_unreachable("Invalid command number.");
    1092        3402 :   case 0:
    1093             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1094        3402 :     O << ", ";
    1095        3402 :     break;
    1096             :   case 1:
    1097             :     // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
    1098             :     return;
    1099             :     break;
    1100             :   case 2:
    1101             :     // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
    1102             :     O << ' ';
    1103             :     break;
    1104         115 :   case 3:
    1105             :     // BCONDA, BPFCCA, CBCONDA, FBCONDA
    1106         115 :     O << ",a ";
    1107         115 :     break;
    1108           0 :   case 4:
    1109             :     // BPFCCANT
    1110           0 :     O << ",a,pn ";
    1111           0 :     printOperand(MI, 2, STI, O);
    1112           0 :     O << ", ";
    1113           0 :     printOperand(MI, 0, STI, O);
    1114           0 :     return;
    1115             :     break;
    1116           0 :   case 5:
    1117             :     // BPFCCNT
    1118           0 :     O << ",pn ";
    1119           0 :     printOperand(MI, 2, STI, O);
    1120           0 :     O << ", ";
    1121           0 :     printOperand(MI, 0, STI, O);
    1122           0 :     return;
    1123             :     break;
    1124          14 :   case 6:
    1125             :     // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
    1126          14 :     O << " %icc, ";
    1127          14 :     break;
    1128          25 :   case 7:
    1129             :     // BPICCA
    1130          25 :     O << ",a %icc, ";
    1131          25 :     printOperand(MI, 0, STI, O);
    1132          25 :     return;
    1133             :     break;
    1134           0 :   case 8:
    1135             :     // BPICCANT
    1136           0 :     O << ",a,pn %icc, ";
    1137           0 :     printOperand(MI, 0, STI, O);
    1138           0 :     return;
    1139             :     break;
    1140           0 :   case 9:
    1141             :     // BPICCNT
    1142           0 :     O << ",pn %icc, ";
    1143           0 :     printOperand(MI, 0, STI, O);
    1144           0 :     return;
    1145             :     break;
    1146          33 :   case 10:
    1147             :     // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
    1148          33 :     O << " %xcc, ";
    1149          33 :     break;
    1150          25 :   case 11:
    1151             :     // BPXCCA
    1152          25 :     O << ",a %xcc, ";
    1153          25 :     printOperand(MI, 0, STI, O);
    1154          25 :     return;
    1155             :     break;
    1156           0 :   case 12:
    1157             :     // BPXCCANT
    1158           0 :     O << ",a,pn %xcc, ";
    1159           0 :     printOperand(MI, 0, STI, O);
    1160           0 :     return;
    1161             :     break;
    1162           0 :   case 13:
    1163             :     // BPXCCNT
    1164           0 :     O << ",pn %xcc, ";
    1165           0 :     printOperand(MI, 0, STI, O);
    1166           0 :     return;
    1167             :     break;
    1168          19 :   case 14:
    1169             :     // CASAasi10
    1170          19 :     O << "] 10, ";
    1171          19 :     printOperand(MI, 2, STI, O);
    1172          19 :     O << ", ";
    1173          19 :     printOperand(MI, 0, STI, O);
    1174          19 :     return;
    1175             :     break;
    1176          45 :   case 15:
    1177             :     // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
    1178          45 :     O << "] ";
    1179          45 :     break;
    1180        1264 :   case 16:
    1181             :     // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
    1182        1264 :     O << "], ";
    1183        1264 :     break;
    1184          13 :   case 17:
    1185             :     // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
    1186          13 :     O << " %fcc0, ";
    1187          13 :     printOperand(MI, 1, STI, O);
    1188          13 :     O << ", ";
    1189          13 :     printOperand(MI, 0, STI, O);
    1190          13 :     return;
    1191             :     break;
    1192           3 :   case 18:
    1193             :     // LDCSRri, LDCSRrr
    1194           3 :     O << "], %csr";
    1195           3 :     return;
    1196             :     break;
    1197           6 :   case 19:
    1198             :     // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
    1199           6 :     O << "], %fsr";
    1200           6 :     return;
    1201             :     break;
    1202             :   case 20:
    1203             :     // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
    1204             :     O << ']';
    1205             :     return;
    1206             :     break;
    1207             :   }
    1208             : 
    1209             : 
    1210             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
    1211        5030 :   switch ((Bits >> 21) & 7) {
    1212           0 :   default: llvm_unreachable("Invalid command number.");
    1213        2475 :   case 0:
    1214             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1215        2475 :     printOperand(MI, 2, STI, O);
    1216        2475 :     O << ", ";
    1217        2475 :     printOperand(MI, 0, STI, O);
    1218        2475 :     break;
    1219         271 :   case 1:
    1220             :     // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
    1221         271 :     printOperand(MI, 1, STI, O);
    1222         271 :     break;
    1223        2239 :   case 2:
    1224             :     // BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS, FBC...
    1225        2239 :     printOperand(MI, 0, STI, O);
    1226        2239 :     break;
    1227          10 :   case 3:
    1228             :     // CASArr
    1229          10 :     printOperand(MI, 4, STI, O);
    1230          10 :     O << ", ";
    1231          10 :     printOperand(MI, 2, STI, O);
    1232          10 :     O << ", ";
    1233          10 :     printOperand(MI, 0, STI, O);
    1234          10 :     return;
    1235             :     break;
    1236          35 :   case 4:
    1237             :     // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
    1238          35 :     printOperand(MI, 3, STI, O);
    1239          35 :     break;
    1240             :   }
    1241             : 
    1242             : 
    1243             :   // Fragment 3 encoded into 3 bits for 6 unique commands.
    1244        5020 :   switch ((Bits >> 24) & 7) {
    1245           0 :   default: llvm_unreachable("Invalid command number.");
    1246             :   case 0:
    1247             :     // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
    1248             :     return;
    1249             :     break;
    1250          40 :   case 1:
    1251             :     // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
    1252          40 :     O << ", ";
    1253             :     break;
    1254           0 :   case 2:
    1255             :     // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
    1256           0 :     O << " + ";
    1257           0 :     printOperand(MI, 1, STI, O);
    1258           0 :     return;
    1259             :     break;
    1260          19 :   case 3:
    1261             :     // WRPSRri, WRPSRrr
    1262          19 :     O << ", %psr";
    1263          19 :     return;
    1264             :     break;
    1265          19 :   case 4:
    1266             :     // WRTBRri, WRTBRrr
    1267          19 :     O << ", %tbr";
    1268          19 :     return;
    1269             :     break;
    1270          19 :   case 5:
    1271             :     // WRWIMri, WRWIMrr
    1272          19 :     O << ", %wim";
    1273          19 :     return;
    1274             :     break;
    1275             :   }
    1276             : 
    1277             : 
    1278             :   // Fragment 4 encoded into 2 bits for 3 unique commands.
    1279          40 :   switch ((Bits >> 27) & 3) {
    1280           0 :   default: llvm_unreachable("Invalid command number.");
    1281           6 :   case 0:
    1282             :     // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
    1283           6 :     printOperand(MI, 2, STI, O);
    1284           6 :     return;
    1285             :     break;
    1286          24 :   case 1:
    1287             :     // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
    1288          24 :     printOperand(MI, 0, STI, O);
    1289          24 :     return;
    1290             :     break;
    1291          10 :   case 2:
    1292             :     // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
    1293          10 :     printOperand(MI, 3, STI, O);
    1294          10 :     return;
    1295             :     break;
    1296             :   }
    1297             : 
    1298             : }
    1299             : 
    1300             : 
    1301             : /// getRegisterName - This method is automatically generated by tblgen
    1302             : /// from the register set description.  This returns the assembler name
    1303             : /// for the specified register.
    1304       16300 : const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
    1305             :   assert(RegNo && RegNo < 236 && "Invalid register number!");
    1306             : 
    1307             :   static const char AsmStrs[] = {
    1308             :   /* 0 */ 'C', '1', '0', 0,
    1309             :   /* 4 */ 'F', '1', '0', 0,
    1310             :   /* 8 */ 'A', 'S', 'R', '1', '0', 0,
    1311             :   /* 14 */ 'C', '2', '0', 0,
    1312             :   /* 18 */ 'F', '2', '0', 0,
    1313             :   /* 22 */ 'A', 'S', 'R', '2', '0', 0,
    1314             :   /* 28 */ 'C', '3', '0', 0,
    1315             :   /* 32 */ 'F', '3', '0', 0,
    1316             :   /* 36 */ 'A', 'S', 'R', '3', '0', 0,
    1317             :   /* 42 */ 'F', '4', '0', 0,
    1318             :   /* 46 */ 'F', '5', '0', 0,
    1319             :   /* 50 */ 'F', '6', '0', 0,
    1320             :   /* 54 */ 'F', 'C', 'C', '0', 0,
    1321             :   /* 59 */ 'F', '0', 0,
    1322             :   /* 62 */ 'G', '0', 0,
    1323             :   /* 65 */ 'I', '0', 0,
    1324             :   /* 68 */ 'L', '0', 0,
    1325             :   /* 71 */ 'O', '0', 0,
    1326             :   /* 74 */ 'C', '1', '1', 0,
    1327             :   /* 78 */ 'F', '1', '1', 0,
    1328             :   /* 82 */ 'A', 'S', 'R', '1', '1', 0,
    1329             :   /* 88 */ 'C', '2', '1', 0,
    1330             :   /* 92 */ 'F', '2', '1', 0,
    1331             :   /* 96 */ 'A', 'S', 'R', '2', '1', 0,
    1332             :   /* 102 */ 'C', '3', '1', 0,
    1333             :   /* 106 */ 'F', '3', '1', 0,
    1334             :   /* 110 */ 'A', 'S', 'R', '3', '1', 0,
    1335             :   /* 116 */ 'F', 'C', 'C', '1', 0,
    1336             :   /* 121 */ 'F', '1', 0,
    1337             :   /* 124 */ 'G', '1', 0,
    1338             :   /* 127 */ 'I', '1', 0,
    1339             :   /* 130 */ 'L', '1', 0,
    1340             :   /* 133 */ 'O', '1', 0,
    1341             :   /* 136 */ 'A', 'S', 'R', '1', 0,
    1342             :   /* 141 */ 'C', '1', '2', 0,
    1343             :   /* 145 */ 'F', '1', '2', 0,
    1344             :   /* 149 */ 'A', 'S', 'R', '1', '2', 0,
    1345             :   /* 155 */ 'C', '2', '2', 0,
    1346             :   /* 159 */ 'F', '2', '2', 0,
    1347             :   /* 163 */ 'A', 'S', 'R', '2', '2', 0,
    1348             :   /* 169 */ 'F', '3', '2', 0,
    1349             :   /* 173 */ 'F', '4', '2', 0,
    1350             :   /* 177 */ 'F', '5', '2', 0,
    1351             :   /* 181 */ 'F', '6', '2', 0,
    1352             :   /* 185 */ 'F', 'C', 'C', '2', 0,
    1353             :   /* 190 */ 'F', '2', 0,
    1354             :   /* 193 */ 'G', '2', 0,
    1355             :   /* 196 */ 'I', '2', 0,
    1356             :   /* 199 */ 'L', '2', 0,
    1357             :   /* 202 */ 'O', '2', 0,
    1358             :   /* 205 */ 'A', 'S', 'R', '2', 0,
    1359             :   /* 210 */ 'C', '1', '3', 0,
    1360             :   /* 214 */ 'F', '1', '3', 0,
    1361             :   /* 218 */ 'A', 'S', 'R', '1', '3', 0,
    1362             :   /* 224 */ 'C', '2', '3', 0,
    1363             :   /* 228 */ 'F', '2', '3', 0,
    1364             :   /* 232 */ 'A', 'S', 'R', '2', '3', 0,
    1365             :   /* 238 */ 'F', 'C', 'C', '3', 0,
    1366             :   /* 243 */ 'F', '3', 0,
    1367             :   /* 246 */ 'G', '3', 0,
    1368             :   /* 249 */ 'I', '3', 0,
    1369             :   /* 252 */ 'L', '3', 0,
    1370             :   /* 255 */ 'O', '3', 0,
    1371             :   /* 258 */ 'A', 'S', 'R', '3', 0,
    1372             :   /* 263 */ 'C', '1', '4', 0,
    1373             :   /* 267 */ 'F', '1', '4', 0,
    1374             :   /* 271 */ 'A', 'S', 'R', '1', '4', 0,
    1375             :   /* 277 */ 'C', '2', '4', 0,
    1376             :   /* 281 */ 'F', '2', '4', 0,
    1377             :   /* 285 */ 'A', 'S', 'R', '2', '4', 0,
    1378             :   /* 291 */ 'F', '3', '4', 0,
    1379             :   /* 295 */ 'F', '4', '4', 0,
    1380             :   /* 299 */ 'F', '5', '4', 0,
    1381             :   /* 303 */ 'C', '4', 0,
    1382             :   /* 306 */ 'F', '4', 0,
    1383             :   /* 309 */ 'G', '4', 0,
    1384             :   /* 312 */ 'I', '4', 0,
    1385             :   /* 315 */ 'L', '4', 0,
    1386             :   /* 318 */ 'O', '4', 0,
    1387             :   /* 321 */ 'A', 'S', 'R', '4', 0,
    1388             :   /* 326 */ 'C', '1', '5', 0,
    1389             :   /* 330 */ 'F', '1', '5', 0,
    1390             :   /* 334 */ 'A', 'S', 'R', '1', '5', 0,
    1391             :   /* 340 */ 'C', '2', '5', 0,
    1392             :   /* 344 */ 'F', '2', '5', 0,
    1393             :   /* 348 */ 'A', 'S', 'R', '2', '5', 0,
    1394             :   /* 354 */ 'C', '5', 0,
    1395             :   /* 357 */ 'F', '5', 0,
    1396             :   /* 360 */ 'G', '5', 0,
    1397             :   /* 363 */ 'I', '5', 0,
    1398             :   /* 366 */ 'L', '5', 0,
    1399             :   /* 369 */ 'O', '5', 0,
    1400             :   /* 372 */ 'A', 'S', 'R', '5', 0,
    1401             :   /* 377 */ 'C', '1', '6', 0,
    1402             :   /* 381 */ 'F', '1', '6', 0,
    1403             :   /* 385 */ 'A', 'S', 'R', '1', '6', 0,
    1404             :   /* 391 */ 'C', '2', '6', 0,
    1405             :   /* 395 */ 'F', '2', '6', 0,
    1406             :   /* 399 */ 'A', 'S', 'R', '2', '6', 0,
    1407             :   /* 405 */ 'F', '3', '6', 0,
    1408             :   /* 409 */ 'F', '4', '6', 0,
    1409             :   /* 413 */ 'F', '5', '6', 0,
    1410             :   /* 417 */ 'C', '6', 0,
    1411             :   /* 420 */ 'F', '6', 0,
    1412             :   /* 423 */ 'G', '6', 0,
    1413             :   /* 426 */ 'I', '6', 0,
    1414             :   /* 429 */ 'L', '6', 0,
    1415             :   /* 432 */ 'O', '6', 0,
    1416             :   /* 435 */ 'A', 'S', 'R', '6', 0,
    1417             :   /* 440 */ 'C', '1', '7', 0,
    1418             :   /* 444 */ 'F', '1', '7', 0,
    1419             :   /* 448 */ 'A', 'S', 'R', '1', '7', 0,
    1420             :   /* 454 */ 'C', '2', '7', 0,
    1421             :   /* 458 */ 'F', '2', '7', 0,
    1422             :   /* 462 */ 'A', 'S', 'R', '2', '7', 0,
    1423             :   /* 468 */ 'C', '7', 0,
    1424             :   /* 471 */ 'F', '7', 0,
    1425             :   /* 474 */ 'G', '7', 0,
    1426             :   /* 477 */ 'I', '7', 0,
    1427             :   /* 480 */ 'L', '7', 0,
    1428             :   /* 483 */ 'O', '7', 0,
    1429             :   /* 486 */ 'A', 'S', 'R', '7', 0,
    1430             :   /* 491 */ 'C', '1', '8', 0,
    1431             :   /* 495 */ 'F', '1', '8', 0,
    1432             :   /* 499 */ 'A', 'S', 'R', '1', '8', 0,
    1433             :   /* 505 */ 'C', '2', '8', 0,
    1434             :   /* 509 */ 'F', '2', '8', 0,
    1435             :   /* 513 */ 'A', 'S', 'R', '2', '8', 0,
    1436             :   /* 519 */ 'F', '3', '8', 0,
    1437             :   /* 523 */ 'F', '4', '8', 0,
    1438             :   /* 527 */ 'F', '5', '8', 0,
    1439             :   /* 531 */ 'C', '8', 0,
    1440             :   /* 534 */ 'F', '8', 0,
    1441             :   /* 537 */ 'A', 'S', 'R', '8', 0,
    1442             :   /* 542 */ 'C', '1', '9', 0,
    1443             :   /* 546 */ 'F', '1', '9', 0,
    1444             :   /* 550 */ 'A', 'S', 'R', '1', '9', 0,
    1445             :   /* 556 */ 'C', '2', '9', 0,
    1446             :   /* 560 */ 'F', '2', '9', 0,
    1447             :   /* 564 */ 'A', 'S', 'R', '2', '9', 0,
    1448             :   /* 570 */ 'C', '9', 0,
    1449             :   /* 573 */ 'F', '9', 0,
    1450             :   /* 576 */ 'A', 'S', 'R', '9', 0,
    1451             :   /* 581 */ 'T', 'B', 'A', 0,
    1452             :   /* 585 */ 'I', 'C', 'C', 0,
    1453             :   /* 589 */ 'T', 'N', 'P', 'C', 0,
    1454             :   /* 594 */ 'T', 'P', 'C', 0,
    1455             :   /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
    1456             :   /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
    1457             :   /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
    1458             :   /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
    1459             :   /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
    1460             :   /* 638 */ 'T', 'I', 'C', 'K', 0,
    1461             :   /* 643 */ 'P', 'I', 'L', 0,
    1462             :   /* 647 */ 'T', 'L', 0,
    1463             :   /* 650 */ 'W', 'I', 'M', 0,
    1464             :   /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
    1465             :   /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
    1466             :   /* 672 */ 'F', 'P', 0,
    1467             :   /* 675 */ 'S', 'P', 0,
    1468             :   /* 678 */ 'C', 'W', 'P', 0,
    1469             :   /* 682 */ 'F', 'Q', 0,
    1470             :   /* 685 */ 'C', 'P', 'Q', 0,
    1471             :   /* 689 */ 'T', 'B', 'R', 0,
    1472             :   /* 693 */ 'F', 'S', 'R', 0,
    1473             :   /* 697 */ 'C', 'P', 'S', 'R', 0,
    1474             :   /* 702 */ 'T', 'T', 0,
    1475             :   /* 705 */ 'Y', 0,
    1476             :   };
    1477             : 
    1478             :   static const uint16_t RegAsmOffset[] = {
    1479             :     598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
    1480             :     689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
    1481             :     372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
    1482             :     550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
    1483             :     118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
    1484             :     326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
    1485             :     556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
    1486             :     159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
    1487             :     46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
    1488             :     471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
    1489             :     92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
    1490             :     238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
    1491             :     363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
    1492             :     255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
    1493             :     405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
    1494             :     263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
    1495             :     196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
    1496             :   };
    1497             : 
    1498             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
    1499             :           "Invalid alt name index for register!");
    1500       16300 :   return AsmStrs+RegAsmOffset[RegNo-1];
    1501             : }
    1502             : 
    1503             : #ifdef PRINT_ALIAS_INSTR
    1504             : #undef PRINT_ALIAS_INSTR
    1505             : 
    1506       10489 : bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
    1507             :   const char *AsmString;
    1508       10489 :   switch (MI->getOpcode()) {
    1509             :   default: return false;
    1510             :   case SP::BCOND:
    1511         167 :     if (MI->getNumOperands() == 2 &&
    1512         334 :         MI->getOperand(1).isImm() &&
    1513         167 :         MI->getOperand(1).getImm() == 8) {
    1514             :       // (BCOND brtarget:$imm, 8)
    1515             :       AsmString = "ba $\x01";
    1516             :       break;
    1517             :     }
    1518         161 :     if (MI->getNumOperands() == 2 &&
    1519         322 :         MI->getOperand(1).isImm() &&
    1520         161 :         MI->getOperand(1).getImm() == 0) {
    1521             :       // (BCOND brtarget:$imm, 0)
    1522             :       AsmString = "bn $\x01";
    1523             :       break;
    1524             :     }
    1525         157 :     if (MI->getNumOperands() == 2 &&
    1526         314 :         MI->getOperand(1).isImm() &&
    1527         157 :         MI->getOperand(1).getImm() == 9) {
    1528             :       // (BCOND brtarget:$imm, 9)
    1529             :       AsmString = "bne $\x01";
    1530             :       break;
    1531             :     }
    1532          90 :     if (MI->getNumOperands() == 2 &&
    1533         180 :         MI->getOperand(1).isImm() &&
    1534          90 :         MI->getOperand(1).getImm() == 1) {
    1535             :       // (BCOND brtarget:$imm, 1)
    1536             :       AsmString = "be $\x01";
    1537             :       break;
    1538             :     }
    1539          60 :     if (MI->getNumOperands() == 2 &&
    1540         120 :         MI->getOperand(1).isImm() &&
    1541          60 :         MI->getOperand(1).getImm() == 10) {
    1542             :       // (BCOND brtarget:$imm, 10)
    1543             :       AsmString = "bg $\x01";
    1544             :       break;
    1545             :     }
    1546          49 :     if (MI->getNumOperands() == 2 &&
    1547          98 :         MI->getOperand(1).isImm() &&
    1548          49 :         MI->getOperand(1).getImm() == 2) {
    1549             :       // (BCOND brtarget:$imm, 2)
    1550             :       AsmString = "ble $\x01";
    1551             :       break;
    1552             :     }
    1553          45 :     if (MI->getNumOperands() == 2 &&
    1554          90 :         MI->getOperand(1).isImm() &&
    1555          45 :         MI->getOperand(1).getImm() == 11) {
    1556             :       // (BCOND brtarget:$imm, 11)
    1557             :       AsmString = "bge $\x01";
    1558             :       break;
    1559             :     }
    1560          42 :     if (MI->getNumOperands() == 2 &&
    1561          84 :         MI->getOperand(1).isImm() &&
    1562          42 :         MI->getOperand(1).getImm() == 3) {
    1563             :       // (BCOND brtarget:$imm, 3)
    1564             :       AsmString = "bl $\x01";
    1565             :       break;
    1566             :     }
    1567          31 :     if (MI->getNumOperands() == 2 &&
    1568          62 :         MI->getOperand(1).isImm() &&
    1569          31 :         MI->getOperand(1).getImm() == 12) {
    1570             :       // (BCOND brtarget:$imm, 12)
    1571             :       AsmString = "bgu $\x01";
    1572             :       break;
    1573             :     }
    1574          27 :     if (MI->getNumOperands() == 2 &&
    1575          54 :         MI->getOperand(1).isImm() &&
    1576          27 :         MI->getOperand(1).getImm() == 4) {
    1577             :       // (BCOND brtarget:$imm, 4)
    1578             :       AsmString = "bleu $\x01";
    1579             :       break;
    1580             :     }
    1581          22 :     if (MI->getNumOperands() == 2 &&
    1582          44 :         MI->getOperand(1).isImm() &&
    1583          22 :         MI->getOperand(1).getImm() == 13) {
    1584             :       // (BCOND brtarget:$imm, 13)
    1585             :       AsmString = "bcc $\x01";
    1586             :       break;
    1587             :     }
    1588          17 :     if (MI->getNumOperands() == 2 &&
    1589          34 :         MI->getOperand(1).isImm() &&
    1590          17 :         MI->getOperand(1).getImm() == 5) {
    1591             :       // (BCOND brtarget:$imm, 5)
    1592             :       AsmString = "bcs $\x01";
    1593             :       break;
    1594             :     }
    1595          12 :     if (MI->getNumOperands() == 2 &&
    1596          24 :         MI->getOperand(1).isImm() &&
    1597          12 :         MI->getOperand(1).getImm() == 14) {
    1598             :       // (BCOND brtarget:$imm, 14)
    1599             :       AsmString = "bpos $\x01";
    1600             :       break;
    1601             :     }
    1602           9 :     if (MI->getNumOperands() == 2 &&
    1603          18 :         MI->getOperand(1).isImm() &&
    1604           9 :         MI->getOperand(1).getImm() == 6) {
    1605             :       // (BCOND brtarget:$imm, 6)
    1606             :       AsmString = "bneg $\x01";
    1607             :       break;
    1608             :     }
    1609           6 :     if (MI->getNumOperands() == 2 &&
    1610          12 :         MI->getOperand(1).isImm() &&
    1611           6 :         MI->getOperand(1).getImm() == 15) {
    1612             :       // (BCOND brtarget:$imm, 15)
    1613             :       AsmString = "bvc $\x01";
    1614             :       break;
    1615             :     }
    1616           3 :     if (MI->getNumOperands() == 2 &&
    1617           6 :         MI->getOperand(1).isImm() &&
    1618           3 :         MI->getOperand(1).getImm() == 7) {
    1619             :       // (BCOND brtarget:$imm, 7)
    1620             :       AsmString = "bvs $\x01";
    1621             :       break;
    1622             :     }
    1623             :     return false;
    1624             :   case SP::BCONDA:
    1625          30 :     if (MI->getNumOperands() == 2 &&
    1626          60 :         MI->getOperand(1).isImm() &&
    1627          30 :         MI->getOperand(1).getImm() == 8) {
    1628             :       // (BCONDA brtarget:$imm, 8)
    1629             :       AsmString = "ba,a $\x01";
    1630             :       break;
    1631             :     }
    1632          28 :     if (MI->getNumOperands() == 2 &&
    1633          56 :         MI->getOperand(1).isImm() &&
    1634          28 :         MI->getOperand(1).getImm() == 0) {
    1635             :       // (BCONDA brtarget:$imm, 0)
    1636             :       AsmString = "bn,a $\x01";
    1637             :       break;
    1638             :     }
    1639          28 :     if (MI->getNumOperands() == 2 &&
    1640          56 :         MI->getOperand(1).isImm() &&
    1641          28 :         MI->getOperand(1).getImm() == 9) {
    1642             :       // (BCONDA brtarget:$imm, 9)
    1643             :       AsmString = "bne,a $\x01";
    1644             :       break;
    1645             :     }
    1646          26 :     if (MI->getNumOperands() == 2 &&
    1647          52 :         MI->getOperand(1).isImm() &&
    1648          26 :         MI->getOperand(1).getImm() == 1) {
    1649             :       // (BCONDA brtarget:$imm, 1)
    1650             :       AsmString = "be,a $\x01";
    1651             :       break;
    1652             :     }
    1653          24 :     if (MI->getNumOperands() == 2 &&
    1654          48 :         MI->getOperand(1).isImm() &&
    1655          24 :         MI->getOperand(1).getImm() == 10) {
    1656             :       // (BCONDA brtarget:$imm, 10)
    1657             :       AsmString = "bg,a $\x01";
    1658             :       break;
    1659             :     }
    1660          22 :     if (MI->getNumOperands() == 2 &&
    1661          44 :         MI->getOperand(1).isImm() &&
    1662          22 :         MI->getOperand(1).getImm() == 2) {
    1663             :       // (BCONDA brtarget:$imm, 2)
    1664             :       AsmString = "ble,a $\x01";
    1665             :       break;
    1666             :     }
    1667          20 :     if (MI->getNumOperands() == 2 &&
    1668          40 :         MI->getOperand(1).isImm() &&
    1669          20 :         MI->getOperand(1).getImm() == 11) {
    1670             :       // (BCONDA brtarget:$imm, 11)
    1671             :       AsmString = "bge,a $\x01";
    1672             :       break;
    1673             :     }
    1674          18 :     if (MI->getNumOperands() == 2 &&
    1675          36 :         MI->getOperand(1).isImm() &&
    1676          18 :         MI->getOperand(1).getImm() == 3) {
    1677             :       // (BCONDA brtarget:$imm, 3)
    1678             :       AsmString = "bl,a $\x01";
    1679             :       break;
    1680             :     }
    1681          16 :     if (MI->getNumOperands() == 2 &&
    1682          32 :         MI->getOperand(1).isImm() &&
    1683          16 :         MI->getOperand(1).getImm() == 12) {
    1684             :       // (BCONDA brtarget:$imm, 12)
    1685             :       AsmString = "bgu,a $\x01";
    1686             :       break;
    1687             :     }
    1688          14 :     if (MI->getNumOperands() == 2 &&
    1689          28 :         MI->getOperand(1).isImm() &&
    1690          14 :         MI->getOperand(1).getImm() == 4) {
    1691             :       // (BCONDA brtarget:$imm, 4)
    1692             :       AsmString = "bleu,a $\x01";
    1693             :       break;
    1694             :     }
    1695          12 :     if (MI->getNumOperands() == 2 &&
    1696          24 :         MI->getOperand(1).isImm() &&
    1697          12 :         MI->getOperand(1).getImm() == 13) {
    1698             :       // (BCONDA brtarget:$imm, 13)
    1699             :       AsmString = "bcc,a $\x01";
    1700             :       break;
    1701             :     }
    1702          10 :     if (MI->getNumOperands() == 2 &&
    1703          20 :         MI->getOperand(1).isImm() &&
    1704          10 :         MI->getOperand(1).getImm() == 5) {
    1705             :       // (BCONDA brtarget:$imm, 5)
    1706             :       AsmString = "bcs,a $\x01";
    1707             :       break;
    1708             :     }
    1709           8 :     if (MI->getNumOperands() == 2 &&
    1710          16 :         MI->getOperand(1).isImm() &&
    1711           8 :         MI->getOperand(1).getImm() == 14) {
    1712             :       // (BCONDA brtarget:$imm, 14)
    1713             :       AsmString = "bpos,a $\x01";
    1714             :       break;
    1715             :     }
    1716           6 :     if (MI->getNumOperands() == 2 &&
    1717          12 :         MI->getOperand(1).isImm() &&
    1718           6 :         MI->getOperand(1).getImm() == 6) {
    1719             :       // (BCONDA brtarget:$imm, 6)
    1720             :       AsmString = "bneg,a $\x01";
    1721             :       break;
    1722             :     }
    1723           4 :     if (MI->getNumOperands() == 2 &&
    1724           8 :         MI->getOperand(1).isImm() &&
    1725           4 :         MI->getOperand(1).getImm() == 15) {
    1726             :       // (BCONDA brtarget:$imm, 15)
    1727             :       AsmString = "bvc,a $\x01";
    1728             :       break;
    1729             :     }
    1730           2 :     if (MI->getNumOperands() == 2 &&
    1731           4 :         MI->getOperand(1).isImm() &&
    1732           2 :         MI->getOperand(1).getImm() == 7) {
    1733             :       // (BCONDA brtarget:$imm, 7)
    1734             :       AsmString = "bvs,a $\x01";
    1735             :       break;
    1736             :     }
    1737             :     return false;
    1738             :   case SP::BPFCCANT:
    1739          15 :     if (MI->getNumOperands() == 3 &&
    1740          30 :         MI->getOperand(1).isImm() &&
    1741          15 :         MI->getOperand(1).getImm() == 8 &&
    1742           0 :         MI->getOperand(2).isReg() &&
    1743          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1744             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1745             :       // (BPFCCANT brtarget:$imm, 8, FCCRegs:$cc)
    1746             :       AsmString = "fba,a,pn $\x03, $\x01";
    1747             :       break;
    1748             :     }
    1749          15 :     if (MI->getNumOperands() == 3 &&
    1750          30 :         MI->getOperand(1).isImm() &&
    1751          15 :         MI->getOperand(1).getImm() == 0 &&
    1752           0 :         MI->getOperand(2).isReg() &&
    1753          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1754             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1755             :       // (BPFCCANT brtarget:$imm, 0, FCCRegs:$cc)
    1756             :       AsmString = "fbn,a,pn $\x03, $\x01";
    1757             :       break;
    1758             :     }
    1759          15 :     if (MI->getNumOperands() == 3 &&
    1760          30 :         MI->getOperand(1).isImm() &&
    1761          16 :         MI->getOperand(1).getImm() == 7 &&
    1762           2 :         MI->getOperand(2).isReg() &&
    1763          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1764             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1765             :       // (BPFCCANT brtarget:$imm, 7, FCCRegs:$cc)
    1766             :       AsmString = "fbu,a,pn $\x03, $\x01";
    1767             :       break;
    1768             :     }
    1769          14 :     if (MI->getNumOperands() == 3 &&
    1770          28 :         MI->getOperand(1).isImm() &&
    1771          15 :         MI->getOperand(1).getImm() == 6 &&
    1772           2 :         MI->getOperand(2).isReg() &&
    1773          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1774             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1775             :       // (BPFCCANT brtarget:$imm, 6, FCCRegs:$cc)
    1776             :       AsmString = "fbg,a,pn $\x03, $\x01";
    1777             :       break;
    1778             :     }
    1779          13 :     if (MI->getNumOperands() == 3 &&
    1780          26 :         MI->getOperand(1).isImm() &&
    1781          14 :         MI->getOperand(1).getImm() == 5 &&
    1782           2 :         MI->getOperand(2).isReg() &&
    1783          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1784             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1785             :       // (BPFCCANT brtarget:$imm, 5, FCCRegs:$cc)
    1786             :       AsmString = "fbug,a,pn $\x03, $\x01";
    1787             :       break;
    1788             :     }
    1789          12 :     if (MI->getNumOperands() == 3 &&
    1790          24 :         MI->getOperand(1).isImm() &&
    1791          13 :         MI->getOperand(1).getImm() == 4 &&
    1792           2 :         MI->getOperand(2).isReg() &&
    1793          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1794             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1795             :       // (BPFCCANT brtarget:$imm, 4, FCCRegs:$cc)
    1796             :       AsmString = "fbl,a,pn $\x03, $\x01";
    1797             :       break;
    1798             :     }
    1799          11 :     if (MI->getNumOperands() == 3 &&
    1800          22 :         MI->getOperand(1).isImm() &&
    1801          12 :         MI->getOperand(1).getImm() == 3 &&
    1802           2 :         MI->getOperand(2).isReg() &&
    1803          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1804             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1805             :       // (BPFCCANT brtarget:$imm, 3, FCCRegs:$cc)
    1806             :       AsmString = "fbul,a,pn $\x03, $\x01";
    1807             :       break;
    1808             :     }
    1809          10 :     if (MI->getNumOperands() == 3 &&
    1810          20 :         MI->getOperand(1).isImm() &&
    1811          11 :         MI->getOperand(1).getImm() == 2 &&
    1812           2 :         MI->getOperand(2).isReg() &&
    1813          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1814             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1815             :       // (BPFCCANT brtarget:$imm, 2, FCCRegs:$cc)
    1816             :       AsmString = "fblg,a,pn $\x03, $\x01";
    1817             :       break;
    1818             :     }
    1819           9 :     if (MI->getNumOperands() == 3 &&
    1820          18 :         MI->getOperand(1).isImm() &&
    1821          11 :         MI->getOperand(1).getImm() == 1 &&
    1822           4 :         MI->getOperand(2).isReg() &&
    1823          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1824             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1825             :       // (BPFCCANT brtarget:$imm, 1, FCCRegs:$cc)
    1826             :       AsmString = "fbne,a,pn $\x03, $\x01";
    1827             :       break;
    1828             :     }
    1829           7 :     if (MI->getNumOperands() == 3 &&
    1830          14 :         MI->getOperand(1).isImm() &&
    1831           8 :         MI->getOperand(1).getImm() == 9 &&
    1832           2 :         MI->getOperand(2).isReg() &&
    1833           9 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1834             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1835             :       // (BPFCCANT brtarget:$imm, 9, FCCRegs:$cc)
    1836             :       AsmString = "fbe,a,pn $\x03, $\x01";
    1837             :       break;
    1838             :     }
    1839           6 :     if (MI->getNumOperands() == 3 &&
    1840          12 :         MI->getOperand(1).isImm() &&
    1841           7 :         MI->getOperand(1).getImm() == 10 &&
    1842           2 :         MI->getOperand(2).isReg() &&
    1843           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1844             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1845             :       // (BPFCCANT brtarget:$imm, 10, FCCRegs:$cc)
    1846             :       AsmString = "fbue,a,pn $\x03, $\x01";
    1847             :       break;
    1848             :     }
    1849           5 :     if (MI->getNumOperands() == 3 &&
    1850          10 :         MI->getOperand(1).isImm() &&
    1851           6 :         MI->getOperand(1).getImm() == 11 &&
    1852           2 :         MI->getOperand(2).isReg() &&
    1853           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1854             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1855             :       // (BPFCCANT brtarget:$imm, 11, FCCRegs:$cc)
    1856             :       AsmString = "fbge,a,pn $\x03, $\x01";
    1857             :       break;
    1858             :     }
    1859           4 :     if (MI->getNumOperands() == 3 &&
    1860           8 :         MI->getOperand(1).isImm() &&
    1861           5 :         MI->getOperand(1).getImm() == 12 &&
    1862           2 :         MI->getOperand(2).isReg() &&
    1863           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1864             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1865             :       // (BPFCCANT brtarget:$imm, 12, FCCRegs:$cc)
    1866             :       AsmString = "fbuge,a,pn $\x03, $\x01";
    1867             :       break;
    1868             :     }
    1869           3 :     if (MI->getNumOperands() == 3 &&
    1870           6 :         MI->getOperand(1).isImm() &&
    1871           4 :         MI->getOperand(1).getImm() == 13 &&
    1872           2 :         MI->getOperand(2).isReg() &&
    1873           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1874             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1875             :       // (BPFCCANT brtarget:$imm, 13, FCCRegs:$cc)
    1876             :       AsmString = "fble,a,pn $\x03, $\x01";
    1877             :       break;
    1878             :     }
    1879           2 :     if (MI->getNumOperands() == 3 &&
    1880           4 :         MI->getOperand(1).isImm() &&
    1881           3 :         MI->getOperand(1).getImm() == 14 &&
    1882           2 :         MI->getOperand(2).isReg() &&
    1883           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1884             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1885             :       // (BPFCCANT brtarget:$imm, 14, FCCRegs:$cc)
    1886             :       AsmString = "fbule,a,pn $\x03, $\x01";
    1887             :       break;
    1888             :     }
    1889           1 :     if (MI->getNumOperands() == 3 &&
    1890           2 :         MI->getOperand(1).isImm() &&
    1891           2 :         MI->getOperand(1).getImm() == 15 &&
    1892           2 :         MI->getOperand(2).isReg() &&
    1893           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1894             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1895             :       // (BPFCCANT brtarget:$imm, 15, FCCRegs:$cc)
    1896             :       AsmString = "fbo,a,pn $\x03, $\x01";
    1897             :       break;
    1898             :     }
    1899             :     return false;
    1900             :   case SP::BPFCCNT:
    1901          15 :     if (MI->getNumOperands() == 3 &&
    1902          30 :         MI->getOperand(1).isImm() &&
    1903          15 :         MI->getOperand(1).getImm() == 8 &&
    1904           0 :         MI->getOperand(2).isReg() &&
    1905          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1906             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1907             :       // (BPFCCNT brtarget:$imm, 8, FCCRegs:$cc)
    1908             :       AsmString = "fba,pn $\x03, $\x01";
    1909             :       break;
    1910             :     }
    1911          15 :     if (MI->getNumOperands() == 3 &&
    1912          30 :         MI->getOperand(1).isImm() &&
    1913          15 :         MI->getOperand(1).getImm() == 0 &&
    1914           0 :         MI->getOperand(2).isReg() &&
    1915          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1916             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1917             :       // (BPFCCNT brtarget:$imm, 0, FCCRegs:$cc)
    1918             :       AsmString = "fbn,pn $\x03, $\x01";
    1919             :       break;
    1920             :     }
    1921          15 :     if (MI->getNumOperands() == 3 &&
    1922          30 :         MI->getOperand(1).isImm() &&
    1923          16 :         MI->getOperand(1).getImm() == 7 &&
    1924           2 :         MI->getOperand(2).isReg() &&
    1925          17 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1926             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1927             :       // (BPFCCNT brtarget:$imm, 7, FCCRegs:$cc)
    1928             :       AsmString = "fbu,pn $\x03, $\x01";
    1929             :       break;
    1930             :     }
    1931          14 :     if (MI->getNumOperands() == 3 &&
    1932          28 :         MI->getOperand(1).isImm() &&
    1933          15 :         MI->getOperand(1).getImm() == 6 &&
    1934           2 :         MI->getOperand(2).isReg() &&
    1935          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1936             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1937             :       // (BPFCCNT brtarget:$imm, 6, FCCRegs:$cc)
    1938             :       AsmString = "fbg,pn $\x03, $\x01";
    1939             :       break;
    1940             :     }
    1941          13 :     if (MI->getNumOperands() == 3 &&
    1942          26 :         MI->getOperand(1).isImm() &&
    1943          14 :         MI->getOperand(1).getImm() == 5 &&
    1944           2 :         MI->getOperand(2).isReg() &&
    1945          15 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1946             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1947             :       // (BPFCCNT brtarget:$imm, 5, FCCRegs:$cc)
    1948             :       AsmString = "fbug,pn $\x03, $\x01";
    1949             :       break;
    1950             :     }
    1951          12 :     if (MI->getNumOperands() == 3 &&
    1952          24 :         MI->getOperand(1).isImm() &&
    1953          13 :         MI->getOperand(1).getImm() == 4 &&
    1954           2 :         MI->getOperand(2).isReg() &&
    1955          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1956             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1957             :       // (BPFCCNT brtarget:$imm, 4, FCCRegs:$cc)
    1958             :       AsmString = "fbl,pn $\x03, $\x01";
    1959             :       break;
    1960             :     }
    1961          11 :     if (MI->getNumOperands() == 3 &&
    1962          22 :         MI->getOperand(1).isImm() &&
    1963          12 :         MI->getOperand(1).getImm() == 3 &&
    1964           2 :         MI->getOperand(2).isReg() &&
    1965          13 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1966             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1967             :       // (BPFCCNT brtarget:$imm, 3, FCCRegs:$cc)
    1968             :       AsmString = "fbul,pn $\x03, $\x01";
    1969             :       break;
    1970             :     }
    1971          10 :     if (MI->getNumOperands() == 3 &&
    1972          20 :         MI->getOperand(1).isImm() &&
    1973          11 :         MI->getOperand(1).getImm() == 2 &&
    1974           2 :         MI->getOperand(2).isReg() &&
    1975          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1977             :       // (BPFCCNT brtarget:$imm, 2, FCCRegs:$cc)
    1978             :       AsmString = "fblg,pn $\x03, $\x01";
    1979             :       break;
    1980             :     }
    1981           9 :     if (MI->getNumOperands() == 3 &&
    1982          18 :         MI->getOperand(1).isImm() &&
    1983          10 :         MI->getOperand(1).getImm() == 1 &&
    1984           2 :         MI->getOperand(2).isReg() &&
    1985          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1986             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1987             :       // (BPFCCNT brtarget:$imm, 1, FCCRegs:$cc)
    1988             :       AsmString = "fbne,pn $\x03, $\x01";
    1989             :       break;
    1990             :     }
    1991           8 :     if (MI->getNumOperands() == 3 &&
    1992          16 :         MI->getOperand(1).isImm() &&
    1993           9 :         MI->getOperand(1).getImm() == 9 &&
    1994           2 :         MI->getOperand(2).isReg() &&
    1995          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    1996             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    1997             :       // (BPFCCNT brtarget:$imm, 9, FCCRegs:$cc)
    1998             :       AsmString = "fbe,pn $\x03, $\x01";
    1999             :       break;
    2000             :     }
    2001           7 :     if (MI->getNumOperands() == 3 &&
    2002          14 :         MI->getOperand(1).isImm() &&
    2003           9 :         MI->getOperand(1).getImm() == 10 &&
    2004           4 :         MI->getOperand(2).isReg() &&
    2005          11 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2006             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2007             :       // (BPFCCNT brtarget:$imm, 10, FCCRegs:$cc)
    2008             :       AsmString = "fbue,pn $\x03, $\x01";
    2009             :       break;
    2010             :     }
    2011           5 :     if (MI->getNumOperands() == 3 &&
    2012          10 :         MI->getOperand(1).isImm() &&
    2013           6 :         MI->getOperand(1).getImm() == 11 &&
    2014           2 :         MI->getOperand(2).isReg() &&
    2015           7 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2016             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2017             :       // (BPFCCNT brtarget:$imm, 11, FCCRegs:$cc)
    2018             :       AsmString = "fbge,pn $\x03, $\x01";
    2019             :       break;
    2020             :     }
    2021           4 :     if (MI->getNumOperands() == 3 &&
    2022           8 :         MI->getOperand(1).isImm() &&
    2023           5 :         MI->getOperand(1).getImm() == 12 &&
    2024           2 :         MI->getOperand(2).isReg() &&
    2025           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2026             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2027             :       // (BPFCCNT brtarget:$imm, 12, FCCRegs:$cc)
    2028             :       AsmString = "fbuge,pn $\x03, $\x01";
    2029             :       break;
    2030             :     }
    2031           3 :     if (MI->getNumOperands() == 3 &&
    2032           6 :         MI->getOperand(1).isImm() &&
    2033           4 :         MI->getOperand(1).getImm() == 13 &&
    2034           2 :         MI->getOperand(2).isReg() &&
    2035           5 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2036             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2037             :       // (BPFCCNT brtarget:$imm, 13, FCCRegs:$cc)
    2038             :       AsmString = "fble,pn $\x03, $\x01";
    2039             :       break;
    2040             :     }
    2041           2 :     if (MI->getNumOperands() == 3 &&
    2042           4 :         MI->getOperand(1).isImm() &&
    2043           3 :         MI->getOperand(1).getImm() == 14 &&
    2044           2 :         MI->getOperand(2).isReg() &&
    2045           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2046             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2047             :       // (BPFCCNT brtarget:$imm, 14, FCCRegs:$cc)
    2048             :       AsmString = "fbule,pn $\x03, $\x01";
    2049             :       break;
    2050             :     }
    2051           1 :     if (MI->getNumOperands() == 3 &&
    2052           2 :         MI->getOperand(1).isImm() &&
    2053           2 :         MI->getOperand(1).getImm() == 15 &&
    2054           2 :         MI->getOperand(2).isReg() &&
    2055           3 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    2056             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2057             :       // (BPFCCNT brtarget:$imm, 15, FCCRegs:$cc)
    2058             :       AsmString = "fbo,pn $\x03, $\x01";
    2059             :       break;
    2060             :     }
    2061             :     return false;
    2062             :   case SP::BPICCANT:
    2063          14 :     if (MI->getNumOperands() == 2 &&
    2064          28 :         MI->getOperand(1).isImm() &&
    2065          28 :         MI->getOperand(1).getImm() == 8 &&
    2066             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2067             :       // (BPICCANT brtarget:$imm, 8)
    2068             :       AsmString = "ba,a,pn %icc, $\x01";
    2069             :       break;
    2070             :     }
    2071          14 :     if (MI->getNumOperands() == 2 &&
    2072          28 :         MI->getOperand(1).isImm() &&
    2073          28 :         MI->getOperand(1).getImm() == 0 &&
    2074             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2075             :       // (BPICCANT brtarget:$imm, 0)
    2076             :       AsmString = "bn,a,pn %icc, $\x01";
    2077             :       break;
    2078             :     }
    2079          14 :     if (MI->getNumOperands() == 2 &&
    2080          28 :         MI->getOperand(1).isImm() &&
    2081          29 :         MI->getOperand(1).getImm() == 9 &&
    2082             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2083             :       // (BPICCANT brtarget:$imm, 9)
    2084             :       AsmString = "bne,a,pn %icc, $\x01";
    2085             :       break;
    2086             :     }
    2087          13 :     if (MI->getNumOperands() == 2 &&
    2088          26 :         MI->getOperand(1).isImm() &&
    2089          27 :         MI->getOperand(1).getImm() == 1 &&
    2090             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2091             :       // (BPICCANT brtarget:$imm, 1)
    2092             :       AsmString = "be,a,pn %icc, $\x01";
    2093             :       break;
    2094             :     }
    2095          12 :     if (MI->getNumOperands() == 2 &&
    2096          24 :         MI->getOperand(1).isImm() &&
    2097          25 :         MI->getOperand(1).getImm() == 10 &&
    2098             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2099             :       // (BPICCANT brtarget:$imm, 10)
    2100             :       AsmString = "bg,a,pn %icc, $\x01";
    2101             :       break;
    2102             :     }
    2103          11 :     if (MI->getNumOperands() == 2 &&
    2104          22 :         MI->getOperand(1).isImm() &&
    2105          23 :         MI->getOperand(1).getImm() == 2 &&
    2106             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2107             :       // (BPICCANT brtarget:$imm, 2)
    2108             :       AsmString = "ble,a,pn %icc, $\x01";
    2109             :       break;
    2110             :     }
    2111          10 :     if (MI->getNumOperands() == 2 &&
    2112          20 :         MI->getOperand(1).isImm() &&
    2113          21 :         MI->getOperand(1).getImm() == 11 &&
    2114             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2115             :       // (BPICCANT brtarget:$imm, 11)
    2116             :       AsmString = "bge,a,pn %icc, $\x01";
    2117             :       break;
    2118             :     }
    2119           9 :     if (MI->getNumOperands() == 2 &&
    2120          18 :         MI->getOperand(1).isImm() &&
    2121          19 :         MI->getOperand(1).getImm() == 3 &&
    2122             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2123             :       // (BPICCANT brtarget:$imm, 3)
    2124             :       AsmString = "bl,a,pn %icc, $\x01";
    2125             :       break;
    2126             :     }
    2127           8 :     if (MI->getNumOperands() == 2 &&
    2128          16 :         MI->getOperand(1).isImm() &&
    2129          17 :         MI->getOperand(1).getImm() == 12 &&
    2130             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2131             :       // (BPICCANT brtarget:$imm, 12)
    2132             :       AsmString = "bgu,a,pn %icc, $\x01";
    2133             :       break;
    2134             :     }
    2135           7 :     if (MI->getNumOperands() == 2 &&
    2136          14 :         MI->getOperand(1).isImm() &&
    2137          15 :         MI->getOperand(1).getImm() == 4 &&
    2138             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2139             :       // (BPICCANT brtarget:$imm, 4)
    2140             :       AsmString = "bleu,a,pn %icc, $\x01";
    2141             :       break;
    2142             :     }
    2143           6 :     if (MI->getNumOperands() == 2 &&
    2144          12 :         MI->getOperand(1).isImm() &&
    2145          13 :         MI->getOperand(1).getImm() == 13 &&
    2146             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2147             :       // (BPICCANT brtarget:$imm, 13)
    2148             :       AsmString = "bcc,a,pn %icc, $\x01";
    2149             :       break;
    2150             :     }
    2151           5 :     if (MI->getNumOperands() == 2 &&
    2152          10 :         MI->getOperand(1).isImm() &&
    2153          11 :         MI->getOperand(1).getImm() == 5 &&
    2154             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2155             :       // (BPICCANT brtarget:$imm, 5)
    2156             :       AsmString = "bcs,a,pn %icc, $\x01";
    2157             :       break;
    2158             :     }
    2159           4 :     if (MI->getNumOperands() == 2 &&
    2160           8 :         MI->getOperand(1).isImm() &&
    2161           9 :         MI->getOperand(1).getImm() == 14 &&
    2162             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2163             :       // (BPICCANT brtarget:$imm, 14)
    2164             :       AsmString = "bpos,a,pn %icc, $\x01";
    2165             :       break;
    2166             :     }
    2167           3 :     if (MI->getNumOperands() == 2 &&
    2168           6 :         MI->getOperand(1).isImm() &&
    2169           7 :         MI->getOperand(1).getImm() == 6 &&
    2170             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2171             :       // (BPICCANT brtarget:$imm, 6)
    2172             :       AsmString = "bneg,a,pn %icc, $\x01";
    2173             :       break;
    2174             :     }
    2175           2 :     if (MI->getNumOperands() == 2 &&
    2176           4 :         MI->getOperand(1).isImm() &&
    2177           5 :         MI->getOperand(1).getImm() == 15 &&
    2178             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2179             :       // (BPICCANT brtarget:$imm, 15)
    2180             :       AsmString = "bvc,a,pn %icc, $\x01";
    2181             :       break;
    2182             :     }
    2183           1 :     if (MI->getNumOperands() == 2 &&
    2184           2 :         MI->getOperand(1).isImm() &&
    2185           3 :         MI->getOperand(1).getImm() == 7 &&
    2186             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2187             :       // (BPICCANT brtarget:$imm, 7)
    2188             :       AsmString = "bvs,a,pn %icc, $\x01";
    2189             :       break;
    2190             :     }
    2191             :     return false;
    2192             :   case SP::BPICCNT:
    2193          14 :     if (MI->getNumOperands() == 2 &&
    2194          28 :         MI->getOperand(1).isImm() &&
    2195          28 :         MI->getOperand(1).getImm() == 8 &&
    2196             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2197             :       // (BPICCNT brtarget:$imm, 8)
    2198             :       AsmString = "ba,pn %icc, $\x01";
    2199             :       break;
    2200             :     }
    2201          14 :     if (MI->getNumOperands() == 2 &&
    2202          28 :         MI->getOperand(1).isImm() &&
    2203          28 :         MI->getOperand(1).getImm() == 0 &&
    2204             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2205             :       // (BPICCNT brtarget:$imm, 0)
    2206             :       AsmString = "bn,pn %icc, $\x01";
    2207             :       break;
    2208             :     }
    2209          14 :     if (MI->getNumOperands() == 2 &&
    2210          28 :         MI->getOperand(1).isImm() &&
    2211          29 :         MI->getOperand(1).getImm() == 9 &&
    2212             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2213             :       // (BPICCNT brtarget:$imm, 9)
    2214             :       AsmString = "bne,pn %icc, $\x01";
    2215             :       break;
    2216             :     }
    2217          13 :     if (MI->getNumOperands() == 2 &&
    2218          26 :         MI->getOperand(1).isImm() &&
    2219          27 :         MI->getOperand(1).getImm() == 1 &&
    2220             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2221             :       // (BPICCNT brtarget:$imm, 1)
    2222             :       AsmString = "be,pn %icc, $\x01";
    2223             :       break;
    2224             :     }
    2225          12 :     if (MI->getNumOperands() == 2 &&
    2226          24 :         MI->getOperand(1).isImm() &&
    2227          25 :         MI->getOperand(1).getImm() == 10 &&
    2228             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2229             :       // (BPICCNT brtarget:$imm, 10)
    2230             :       AsmString = "bg,pn %icc, $\x01";
    2231             :       break;
    2232             :     }
    2233          11 :     if (MI->getNumOperands() == 2 &&
    2234          22 :         MI->getOperand(1).isImm() &&
    2235          23 :         MI->getOperand(1).getImm() == 2 &&
    2236             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2237             :       // (BPICCNT brtarget:$imm, 2)
    2238             :       AsmString = "ble,pn %icc, $\x01";
    2239             :       break;
    2240             :     }
    2241          10 :     if (MI->getNumOperands() == 2 &&
    2242          20 :         MI->getOperand(1).isImm() &&
    2243          21 :         MI->getOperand(1).getImm() == 11 &&
    2244             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2245             :       // (BPICCNT brtarget:$imm, 11)
    2246             :       AsmString = "bge,pn %icc, $\x01";
    2247             :       break;
    2248             :     }
    2249           9 :     if (MI->getNumOperands() == 2 &&
    2250          18 :         MI->getOperand(1).isImm() &&
    2251          19 :         MI->getOperand(1).getImm() == 3 &&
    2252             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2253             :       // (BPICCNT brtarget:$imm, 3)
    2254             :       AsmString = "bl,pn %icc, $\x01";
    2255             :       break;
    2256             :     }
    2257           8 :     if (MI->getNumOperands() == 2 &&
    2258          16 :         MI->getOperand(1).isImm() &&
    2259          17 :         MI->getOperand(1).getImm() == 12 &&
    2260             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2261             :       // (BPICCNT brtarget:$imm, 12)
    2262             :       AsmString = "bgu,pn %icc, $\x01";
    2263             :       break;
    2264             :     }
    2265           7 :     if (MI->getNumOperands() == 2 &&
    2266          14 :         MI->getOperand(1).isImm() &&
    2267          15 :         MI->getOperand(1).getImm() == 4 &&
    2268             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2269             :       // (BPICCNT brtarget:$imm, 4)
    2270             :       AsmString = "bleu,pn %icc, $\x01";
    2271             :       break;
    2272             :     }
    2273           6 :     if (MI->getNumOperands() == 2 &&
    2274          12 :         MI->getOperand(1).isImm() &&
    2275          13 :         MI->getOperand(1).getImm() == 13 &&
    2276             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2277             :       // (BPICCNT brtarget:$imm, 13)
    2278             :       AsmString = "bcc,pn %icc, $\x01";
    2279             :       break;
    2280             :     }
    2281           5 :     if (MI->getNumOperands() == 2 &&
    2282          10 :         MI->getOperand(1).isImm() &&
    2283          11 :         MI->getOperand(1).getImm() == 5 &&
    2284             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2285             :       // (BPICCNT brtarget:$imm, 5)
    2286             :       AsmString = "bcs,pn %icc, $\x01";
    2287             :       break;
    2288             :     }
    2289           4 :     if (MI->getNumOperands() == 2 &&
    2290           8 :         MI->getOperand(1).isImm() &&
    2291           9 :         MI->getOperand(1).getImm() == 14 &&
    2292             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2293             :       // (BPICCNT brtarget:$imm, 14)
    2294             :       AsmString = "bpos,pn %icc, $\x01";
    2295             :       break;
    2296             :     }
    2297           3 :     if (MI->getNumOperands() == 2 &&
    2298           6 :         MI->getOperand(1).isImm() &&
    2299           7 :         MI->getOperand(1).getImm() == 6 &&
    2300             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2301             :       // (BPICCNT brtarget:$imm, 6)
    2302             :       AsmString = "bneg,pn %icc, $\x01";
    2303             :       break;
    2304             :     }
    2305           2 :     if (MI->getNumOperands() == 2 &&
    2306           4 :         MI->getOperand(1).isImm() &&
    2307           5 :         MI->getOperand(1).getImm() == 15 &&
    2308             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2309             :       // (BPICCNT brtarget:$imm, 15)
    2310             :       AsmString = "bvc,pn %icc, $\x01";
    2311             :       break;
    2312             :     }
    2313           1 :     if (MI->getNumOperands() == 2 &&
    2314           2 :         MI->getOperand(1).isImm() &&
    2315           3 :         MI->getOperand(1).getImm() == 7 &&
    2316             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2317             :       // (BPICCNT brtarget:$imm, 7)
    2318             :       AsmString = "bvs,pn %icc, $\x01";
    2319             :       break;
    2320             :     }
    2321             :     return false;
    2322             :   case SP::BPXCCANT:
    2323          14 :     if (MI->getNumOperands() == 2 &&
    2324          28 :         MI->getOperand(1).isImm() &&
    2325          14 :         MI->getOperand(1).getImm() == 8) {
    2326             :       // (BPXCCANT brtarget:$imm, 8)
    2327             :       AsmString = "ba,a,pn %xcc, $\x01";
    2328             :       break;
    2329             :     }
    2330          14 :     if (MI->getNumOperands() == 2 &&
    2331          28 :         MI->getOperand(1).isImm() &&
    2332          14 :         MI->getOperand(1).getImm() == 0) {
    2333             :       // (BPXCCANT brtarget:$imm, 0)
    2334             :       AsmString = "bn,a,pn %xcc, $\x01";
    2335             :       break;
    2336             :     }
    2337          14 :     if (MI->getNumOperands() == 2 &&
    2338          28 :         MI->getOperand(1).isImm() &&
    2339          14 :         MI->getOperand(1).getImm() == 9) {
    2340             :       // (BPXCCANT brtarget:$imm, 9)
    2341             :       AsmString = "bne,a,pn %xcc, $\x01";
    2342             :       break;
    2343             :     }
    2344          13 :     if (MI->getNumOperands() == 2 &&
    2345          26 :         MI->getOperand(1).isImm() &&
    2346          13 :         MI->getOperand(1).getImm() == 1) {
    2347             :       // (BPXCCANT brtarget:$imm, 1)
    2348             :       AsmString = "be,a,pn %xcc, $\x01";
    2349             :       break;
    2350             :     }
    2351          12 :     if (MI->getNumOperands() == 2 &&
    2352          24 :         MI->getOperand(1).isImm() &&
    2353          12 :         MI->getOperand(1).getImm() == 10) {
    2354             :       // (BPXCCANT brtarget:$imm, 10)
    2355             :       AsmString = "bg,a,pn %xcc, $\x01";
    2356             :       break;
    2357             :     }
    2358          11 :     if (MI->getNumOperands() == 2 &&
    2359          22 :         MI->getOperand(1).isImm() &&
    2360          11 :         MI->getOperand(1).getImm() == 2) {
    2361             :       // (BPXCCANT brtarget:$imm, 2)
    2362             :       AsmString = "ble,a,pn %xcc, $\x01";
    2363             :       break;
    2364             :     }
    2365          10 :     if (MI->getNumOperands() == 2 &&
    2366          20 :         MI->getOperand(1).isImm() &&
    2367          10 :         MI->getOperand(1).getImm() == 11) {
    2368             :       // (BPXCCANT brtarget:$imm, 11)
    2369             :       AsmString = "bge,a,pn %xcc, $\x01";
    2370             :       break;
    2371             :     }
    2372           9 :     if (MI->getNumOperands() == 2 &&
    2373          18 :         MI->getOperand(1).isImm() &&
    2374           9 :         MI->getOperand(1).getImm() == 3) {
    2375             :       // (BPXCCANT brtarget:$imm, 3)
    2376             :       AsmString = "bl,a,pn %xcc, $\x01";
    2377             :       break;
    2378             :     }
    2379           8 :     if (MI->getNumOperands() == 2 &&
    2380          16 :         MI->getOperand(1).isImm() &&
    2381           8 :         MI->getOperand(1).getImm() == 12) {
    2382             :       // (BPXCCANT brtarget:$imm, 12)
    2383             :       AsmString = "bgu,a,pn %xcc, $\x01";
    2384             :       break;
    2385             :     }
    2386           7 :     if (MI->getNumOperands() == 2 &&
    2387          14 :         MI->getOperand(1).isImm() &&
    2388           7 :         MI->getOperand(1).getImm() == 4) {
    2389             :       // (BPXCCANT brtarget:$imm, 4)
    2390             :       AsmString = "bleu,a,pn %xcc, $\x01";
    2391             :       break;
    2392             :     }
    2393           6 :     if (MI->getNumOperands() == 2 &&
    2394          12 :         MI->getOperand(1).isImm() &&
    2395           6 :         MI->getOperand(1).getImm() == 13) {
    2396             :       // (BPXCCANT brtarget:$imm, 13)
    2397             :       AsmString = "bcc,a,pn %xcc, $\x01";
    2398             :       break;
    2399             :     }
    2400           5 :     if (MI->getNumOperands() == 2 &&
    2401          10 :         MI->getOperand(1).isImm() &&
    2402           5 :         MI->getOperand(1).getImm() == 5) {
    2403             :       // (BPXCCANT brtarget:$imm, 5)
    2404             :       AsmString = "bcs,a,pn %xcc, $\x01";
    2405             :       break;
    2406             :     }
    2407           4 :     if (MI->getNumOperands() == 2 &&
    2408           8 :         MI->getOperand(1).isImm() &&
    2409           4 :         MI->getOperand(1).getImm() == 14) {
    2410             :       // (BPXCCANT brtarget:$imm, 14)
    2411             :       AsmString = "bpos,a,pn %xcc, $\x01";
    2412             :       break;
    2413             :     }
    2414           3 :     if (MI->getNumOperands() == 2 &&
    2415           6 :         MI->getOperand(1).isImm() &&
    2416           3 :         MI->getOperand(1).getImm() == 6) {
    2417             :       // (BPXCCANT brtarget:$imm, 6)
    2418             :       AsmString = "bneg,a,pn %xcc, $\x01";
    2419             :       break;
    2420             :     }
    2421           2 :     if (MI->getNumOperands() == 2 &&
    2422           4 :         MI->getOperand(1).isImm() &&
    2423           2 :         MI->getOperand(1).getImm() == 15) {
    2424             :       // (BPXCCANT brtarget:$imm, 15)
    2425             :       AsmString = "bvc,a,pn %xcc, $\x01";
    2426             :       break;
    2427             :     }
    2428           1 :     if (MI->getNumOperands() == 2 &&
    2429           2 :         MI->getOperand(1).isImm() &&
    2430           1 :         MI->getOperand(1).getImm() == 7) {
    2431             :       // (BPXCCANT brtarget:$imm, 7)
    2432             :       AsmString = "bvs,a,pn %xcc, $\x01";
    2433             :       break;
    2434             :     }
    2435             :     return false;
    2436             :   case SP::BPXCCNT:
    2437          14 :     if (MI->getNumOperands() == 2 &&
    2438          28 :         MI->getOperand(1).isImm() &&
    2439          14 :         MI->getOperand(1).getImm() == 8) {
    2440             :       // (BPXCCNT brtarget:$imm, 8)
    2441             :       AsmString = "ba,pn %xcc, $\x01";
    2442             :       break;
    2443             :     }
    2444          14 :     if (MI->getNumOperands() == 2 &&
    2445          28 :         MI->getOperand(1).isImm() &&
    2446          14 :         MI->getOperand(1).getImm() == 0) {
    2447             :       // (BPXCCNT brtarget:$imm, 0)
    2448             :       AsmString = "bn,pn %xcc, $\x01";
    2449             :       break;
    2450             :     }
    2451          14 :     if (MI->getNumOperands() == 2 &&
    2452          28 :         MI->getOperand(1).isImm() &&
    2453          14 :         MI->getOperand(1).getImm() == 9) {
    2454             :       // (BPXCCNT brtarget:$imm, 9)
    2455             :       AsmString = "bne,pn %xcc, $\x01";
    2456             :       break;
    2457             :     }
    2458          13 :     if (MI->getNumOperands() == 2 &&
    2459          26 :         MI->getOperand(1).isImm() &&
    2460          13 :         MI->getOperand(1).getImm() == 1) {
    2461             :       // (BPXCCNT brtarget:$imm, 1)
    2462             :       AsmString = "be,pn %xcc, $\x01";
    2463             :       break;
    2464             :     }
    2465          12 :     if (MI->getNumOperands() == 2 &&
    2466          24 :         MI->getOperand(1).isImm() &&
    2467          12 :         MI->getOperand(1).getImm() == 10) {
    2468             :       // (BPXCCNT brtarget:$imm, 10)
    2469             :       AsmString = "bg,pn %xcc, $\x01";
    2470             :       break;
    2471             :     }
    2472          11 :     if (MI->getNumOperands() == 2 &&
    2473          22 :         MI->getOperand(1).isImm() &&
    2474          11 :         MI->getOperand(1).getImm() == 2) {
    2475             :       // (BPXCCNT brtarget:$imm, 2)
    2476             :       AsmString = "ble,pn %xcc, $\x01";
    2477             :       break;
    2478             :     }
    2479          10 :     if (MI->getNumOperands() == 2 &&
    2480          20 :         MI->getOperand(1).isImm() &&
    2481          10 :         MI->getOperand(1).getImm() == 11) {
    2482             :       // (BPXCCNT brtarget:$imm, 11)
    2483             :       AsmString = "bge,pn %xcc, $\x01";
    2484             :       break;
    2485             :     }
    2486           9 :     if (MI->getNumOperands() == 2 &&
    2487          18 :         MI->getOperand(1).isImm() &&
    2488           9 :         MI->getOperand(1).getImm() == 3) {
    2489             :       // (BPXCCNT brtarget:$imm, 3)
    2490             :       AsmString = "bl,pn %xcc, $\x01";
    2491             :       break;
    2492             :     }
    2493           8 :     if (MI->getNumOperands() == 2 &&
    2494          16 :         MI->getOperand(1).isImm() &&
    2495           8 :         MI->getOperand(1).getImm() == 12) {
    2496             :       // (BPXCCNT brtarget:$imm, 12)
    2497             :       AsmString = "bgu,pn %xcc, $\x01";
    2498             :       break;
    2499             :     }
    2500           7 :     if (MI->getNumOperands() == 2 &&
    2501          14 :         MI->getOperand(1).isImm() &&
    2502           7 :         MI->getOperand(1).getImm() == 4) {
    2503             :       // (BPXCCNT brtarget:$imm, 4)
    2504             :       AsmString = "bleu,pn %xcc, $\x01";
    2505             :       break;
    2506             :     }
    2507           6 :     if (MI->getNumOperands() == 2 &&
    2508          12 :         MI->getOperand(1).isImm() &&
    2509           6 :         MI->getOperand(1).getImm() == 13) {
    2510             :       // (BPXCCNT brtarget:$imm, 13)
    2511             :       AsmString = "bcc,pn %xcc, $\x01";
    2512             :       break;
    2513             :     }
    2514           5 :     if (MI->getNumOperands() == 2 &&
    2515          10 :         MI->getOperand(1).isImm() &&
    2516           5 :         MI->getOperand(1).getImm() == 5) {
    2517             :       // (BPXCCNT brtarget:$imm, 5)
    2518             :       AsmString = "bcs,pn %xcc, $\x01";
    2519             :       break;
    2520             :     }
    2521           4 :     if (MI->getNumOperands() == 2 &&
    2522           8 :         MI->getOperand(1).isImm() &&
    2523           4 :         MI->getOperand(1).getImm() == 14) {
    2524             :       // (BPXCCNT brtarget:$imm, 14)
    2525             :       AsmString = "bpos,pn %xcc, $\x01";
    2526             :       break;
    2527             :     }
    2528           3 :     if (MI->getNumOperands() == 2 &&
    2529           6 :         MI->getOperand(1).isImm() &&
    2530           3 :         MI->getOperand(1).getImm() == 6) {
    2531             :       // (BPXCCNT brtarget:$imm, 6)
    2532             :       AsmString = "bneg,pn %xcc, $\x01";
    2533             :       break;
    2534             :     }
    2535           2 :     if (MI->getNumOperands() == 2 &&
    2536           4 :         MI->getOperand(1).isImm() &&
    2537           2 :         MI->getOperand(1).getImm() == 15) {
    2538             :       // (BPXCCNT brtarget:$imm, 15)
    2539             :       AsmString = "bvc,pn %xcc, $\x01";
    2540             :       break;
    2541             :     }
    2542           1 :     if (MI->getNumOperands() == 2 &&
    2543           2 :         MI->getOperand(1).isImm() &&
    2544           1 :         MI->getOperand(1).getImm() == 7) {
    2545             :       // (BPXCCNT brtarget:$imm, 7)
    2546             :       AsmString = "bvs,pn %xcc, $\x01";
    2547             :       break;
    2548             :     }
    2549             :     return false;
    2550             :   case SP::FMOVD_ICC:
    2551           2 :     if (MI->getNumOperands() == 4 &&
    2552           4 :         MI->getOperand(0).isReg() &&
    2553           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2554           4 :         MI->getOperand(1).isReg() &&
    2555           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2556           4 :         MI->getOperand(3).isImm() &&
    2557           4 :         MI->getOperand(3).getImm() == 8 &&
    2558             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2559             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 8)
    2560             :       AsmString = "fmovda %icc, $\x02, $\x01";
    2561             :       break;
    2562             :     }
    2563           2 :     if (MI->getNumOperands() == 4 &&
    2564           4 :         MI->getOperand(0).isReg() &&
    2565           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2566           4 :         MI->getOperand(1).isReg() &&
    2567           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2568           4 :         MI->getOperand(3).isImm() &&
    2569           4 :         MI->getOperand(3).getImm() == 0 &&
    2570             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2571             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 0)
    2572             :       AsmString = "fmovdn %icc, $\x02, $\x01";
    2573             :       break;
    2574             :     }
    2575           2 :     if (MI->getNumOperands() == 4 &&
    2576           4 :         MI->getOperand(0).isReg() &&
    2577           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2578           4 :         MI->getOperand(1).isReg() &&
    2579           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2580           4 :         MI->getOperand(3).isImm() &&
    2581           4 :         MI->getOperand(3).getImm() == 9 &&
    2582             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2583             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 9)
    2584             :       AsmString = "fmovdne %icc, $\x02, $\x01";
    2585             :       break;
    2586             :     }
    2587           2 :     if (MI->getNumOperands() == 4 &&
    2588           4 :         MI->getOperand(0).isReg() &&
    2589           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2590           4 :         MI->getOperand(1).isReg() &&
    2591           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2592           4 :         MI->getOperand(3).isImm() &&
    2593           6 :         MI->getOperand(3).getImm() == 1 &&
    2594             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2595             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 1)
    2596             :       AsmString = "fmovde %icc, $\x02, $\x01";
    2597             :       break;
    2598             :     }
    2599           0 :     if (MI->getNumOperands() == 4 &&
    2600           0 :         MI->getOperand(0).isReg() &&
    2601           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2602           0 :         MI->getOperand(1).isReg() &&
    2603           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2604           0 :         MI->getOperand(3).isImm() &&
    2605           0 :         MI->getOperand(3).getImm() == 10 &&
    2606             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2607             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 10)
    2608             :       AsmString = "fmovdg %icc, $\x02, $\x01";
    2609             :       break;
    2610             :     }
    2611           0 :     if (MI->getNumOperands() == 4 &&
    2612           0 :         MI->getOperand(0).isReg() &&
    2613           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2614           0 :         MI->getOperand(1).isReg() &&
    2615           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2616           0 :         MI->getOperand(3).isImm() &&
    2617           0 :         MI->getOperand(3).getImm() == 2 &&
    2618             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2619             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 2)
    2620             :       AsmString = "fmovdle %icc, $\x02, $\x01";
    2621             :       break;
    2622             :     }
    2623           0 :     if (MI->getNumOperands() == 4 &&
    2624           0 :         MI->getOperand(0).isReg() &&
    2625           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2626           0 :         MI->getOperand(1).isReg() &&
    2627           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2628           0 :         MI->getOperand(3).isImm() &&
    2629           0 :         MI->getOperand(3).getImm() == 11 &&
    2630             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2631             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 11)
    2632             :       AsmString = "fmovdge %icc, $\x02, $\x01";
    2633             :       break;
    2634             :     }
    2635           0 :     if (MI->getNumOperands() == 4 &&
    2636           0 :         MI->getOperand(0).isReg() &&
    2637           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2638           0 :         MI->getOperand(1).isReg() &&
    2639           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2640           0 :         MI->getOperand(3).isImm() &&
    2641           0 :         MI->getOperand(3).getImm() == 3 &&
    2642             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2643             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 3)
    2644             :       AsmString = "fmovdl %icc, $\x02, $\x01";
    2645             :       break;
    2646             :     }
    2647           0 :     if (MI->getNumOperands() == 4 &&
    2648           0 :         MI->getOperand(0).isReg() &&
    2649           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2650           0 :         MI->getOperand(1).isReg() &&
    2651           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2652           0 :         MI->getOperand(3).isImm() &&
    2653           0 :         MI->getOperand(3).getImm() == 12 &&
    2654             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2655             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 12)
    2656             :       AsmString = "fmovdgu %icc, $\x02, $\x01";
    2657             :       break;
    2658             :     }
    2659           0 :     if (MI->getNumOperands() == 4 &&
    2660           0 :         MI->getOperand(0).isReg() &&
    2661           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2662           0 :         MI->getOperand(1).isReg() &&
    2663           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2664           0 :         MI->getOperand(3).isImm() &&
    2665           0 :         MI->getOperand(3).getImm() == 4 &&
    2666             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2667             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 4)
    2668             :       AsmString = "fmovdleu %icc, $\x02, $\x01";
    2669             :       break;
    2670             :     }
    2671           0 :     if (MI->getNumOperands() == 4 &&
    2672           0 :         MI->getOperand(0).isReg() &&
    2673           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2674           0 :         MI->getOperand(1).isReg() &&
    2675           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2676           0 :         MI->getOperand(3).isImm() &&
    2677           0 :         MI->getOperand(3).getImm() == 13 &&
    2678             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2679             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 13)
    2680             :       AsmString = "fmovdcc %icc, $\x02, $\x01";
    2681             :       break;
    2682             :     }
    2683           0 :     if (MI->getNumOperands() == 4 &&
    2684           0 :         MI->getOperand(0).isReg() &&
    2685           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2686           0 :         MI->getOperand(1).isReg() &&
    2687           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2688           0 :         MI->getOperand(3).isImm() &&
    2689           0 :         MI->getOperand(3).getImm() == 5 &&
    2690             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2691             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 5)
    2692             :       AsmString = "fmovdcs %icc, $\x02, $\x01";
    2693             :       break;
    2694             :     }
    2695           0 :     if (MI->getNumOperands() == 4 &&
    2696           0 :         MI->getOperand(0).isReg() &&
    2697           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2698           0 :         MI->getOperand(1).isReg() &&
    2699           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2700           0 :         MI->getOperand(3).isImm() &&
    2701           0 :         MI->getOperand(3).getImm() == 14 &&
    2702             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2703             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 14)
    2704             :       AsmString = "fmovdpos %icc, $\x02, $\x01";
    2705             :       break;
    2706             :     }
    2707           0 :     if (MI->getNumOperands() == 4 &&
    2708           0 :         MI->getOperand(0).isReg() &&
    2709           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2710           0 :         MI->getOperand(1).isReg() &&
    2711           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2712           0 :         MI->getOperand(3).isImm() &&
    2713           0 :         MI->getOperand(3).getImm() == 6 &&
    2714             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2715             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 6)
    2716             :       AsmString = "fmovdneg %icc, $\x02, $\x01";
    2717             :       break;
    2718             :     }
    2719           0 :     if (MI->getNumOperands() == 4 &&
    2720           0 :         MI->getOperand(0).isReg() &&
    2721           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2722           0 :         MI->getOperand(1).isReg() &&
    2723           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2724           0 :         MI->getOperand(3).isImm() &&
    2725           0 :         MI->getOperand(3).getImm() == 15 &&
    2726             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2727             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 15)
    2728             :       AsmString = "fmovdvc %icc, $\x02, $\x01";
    2729             :       break;
    2730             :     }
    2731           0 :     if (MI->getNumOperands() == 4 &&
    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           0 :         MI->getOperand(3).isImm() &&
    2737           0 :         MI->getOperand(3).getImm() == 7 &&
    2738             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2739             :       // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, 7)
    2740             :       AsmString = "fmovdvs %icc, $\x02, $\x01";
    2741             :       break;
    2742             :     }
    2743             :     return false;
    2744             :   case SP::FMOVD_XCC:
    2745           1 :     if (MI->getNumOperands() == 4 &&
    2746           2 :         MI->getOperand(0).isReg() &&
    2747           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2748           2 :         MI->getOperand(1).isReg() &&
    2749           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2750           3 :         MI->getOperand(3).isImm() &&
    2751           1 :         MI->getOperand(3).getImm() == 8) {
    2752             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 8)
    2753             :       AsmString = "fmovda %xcc, $\x02, $\x01";
    2754             :       break;
    2755             :     }
    2756           1 :     if (MI->getNumOperands() == 4 &&
    2757           2 :         MI->getOperand(0).isReg() &&
    2758           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2759           2 :         MI->getOperand(1).isReg() &&
    2760           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2761           3 :         MI->getOperand(3).isImm() &&
    2762           1 :         MI->getOperand(3).getImm() == 0) {
    2763             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 0)
    2764             :       AsmString = "fmovdn %xcc, $\x02, $\x01";
    2765             :       break;
    2766             :     }
    2767           1 :     if (MI->getNumOperands() == 4 &&
    2768           2 :         MI->getOperand(0).isReg() &&
    2769           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2770           2 :         MI->getOperand(1).isReg() &&
    2771           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2772           3 :         MI->getOperand(3).isImm() &&
    2773           1 :         MI->getOperand(3).getImm() == 9) {
    2774             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 9)
    2775             :       AsmString = "fmovdne %xcc, $\x02, $\x01";
    2776             :       break;
    2777             :     }
    2778           1 :     if (MI->getNumOperands() == 4 &&
    2779           2 :         MI->getOperand(0).isReg() &&
    2780           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2781           2 :         MI->getOperand(1).isReg() &&
    2782           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2783           3 :         MI->getOperand(3).isImm() &&
    2784           1 :         MI->getOperand(3).getImm() == 1) {
    2785             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 1)
    2786             :       AsmString = "fmovde %xcc, $\x02, $\x01";
    2787             :       break;
    2788             :     }
    2789           1 :     if (MI->getNumOperands() == 4 &&
    2790           2 :         MI->getOperand(0).isReg() &&
    2791           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2792           2 :         MI->getOperand(1).isReg() &&
    2793           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2794           3 :         MI->getOperand(3).isImm() &&
    2795           1 :         MI->getOperand(3).getImm() == 10) {
    2796             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 10)
    2797             :       AsmString = "fmovdg %xcc, $\x02, $\x01";
    2798             :       break;
    2799             :     }
    2800           0 :     if (MI->getNumOperands() == 4 &&
    2801           0 :         MI->getOperand(0).isReg() &&
    2802           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2803           0 :         MI->getOperand(1).isReg() &&
    2804           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2805           0 :         MI->getOperand(3).isImm() &&
    2806           0 :         MI->getOperand(3).getImm() == 2) {
    2807             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 2)
    2808             :       AsmString = "fmovdle %xcc, $\x02, $\x01";
    2809             :       break;
    2810             :     }
    2811           0 :     if (MI->getNumOperands() == 4 &&
    2812           0 :         MI->getOperand(0).isReg() &&
    2813           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2814           0 :         MI->getOperand(1).isReg() &&
    2815           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2816           0 :         MI->getOperand(3).isImm() &&
    2817           0 :         MI->getOperand(3).getImm() == 11) {
    2818             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 11)
    2819             :       AsmString = "fmovdge %xcc, $\x02, $\x01";
    2820             :       break;
    2821             :     }
    2822           0 :     if (MI->getNumOperands() == 4 &&
    2823           0 :         MI->getOperand(0).isReg() &&
    2824           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2825           0 :         MI->getOperand(1).isReg() &&
    2826           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2827           0 :         MI->getOperand(3).isImm() &&
    2828           0 :         MI->getOperand(3).getImm() == 3) {
    2829             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 3)
    2830             :       AsmString = "fmovdl %xcc, $\x02, $\x01";
    2831             :       break;
    2832             :     }
    2833           0 :     if (MI->getNumOperands() == 4 &&
    2834           0 :         MI->getOperand(0).isReg() &&
    2835           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2836           0 :         MI->getOperand(1).isReg() &&
    2837           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2838           0 :         MI->getOperand(3).isImm() &&
    2839           0 :         MI->getOperand(3).getImm() == 12) {
    2840             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 12)
    2841             :       AsmString = "fmovdgu %xcc, $\x02, $\x01";
    2842             :       break;
    2843             :     }
    2844           0 :     if (MI->getNumOperands() == 4 &&
    2845           0 :         MI->getOperand(0).isReg() &&
    2846           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2847           0 :         MI->getOperand(1).isReg() &&
    2848           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2849           0 :         MI->getOperand(3).isImm() &&
    2850           0 :         MI->getOperand(3).getImm() == 4) {
    2851             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 4)
    2852             :       AsmString = "fmovdleu %xcc, $\x02, $\x01";
    2853             :       break;
    2854             :     }
    2855           0 :     if (MI->getNumOperands() == 4 &&
    2856           0 :         MI->getOperand(0).isReg() &&
    2857           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2858           0 :         MI->getOperand(1).isReg() &&
    2859           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2860           0 :         MI->getOperand(3).isImm() &&
    2861           0 :         MI->getOperand(3).getImm() == 13) {
    2862             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 13)
    2863             :       AsmString = "fmovdcc %xcc, $\x02, $\x01";
    2864             :       break;
    2865             :     }
    2866           0 :     if (MI->getNumOperands() == 4 &&
    2867           0 :         MI->getOperand(0).isReg() &&
    2868           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2869           0 :         MI->getOperand(1).isReg() &&
    2870           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2871           0 :         MI->getOperand(3).isImm() &&
    2872           0 :         MI->getOperand(3).getImm() == 5) {
    2873             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 5)
    2874             :       AsmString = "fmovdcs %xcc, $\x02, $\x01";
    2875             :       break;
    2876             :     }
    2877           0 :     if (MI->getNumOperands() == 4 &&
    2878           0 :         MI->getOperand(0).isReg() &&
    2879           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2880           0 :         MI->getOperand(1).isReg() &&
    2881           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2882           0 :         MI->getOperand(3).isImm() &&
    2883           0 :         MI->getOperand(3).getImm() == 14) {
    2884             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 14)
    2885             :       AsmString = "fmovdpos %xcc, $\x02, $\x01";
    2886             :       break;
    2887             :     }
    2888           0 :     if (MI->getNumOperands() == 4 &&
    2889           0 :         MI->getOperand(0).isReg() &&
    2890           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2891           0 :         MI->getOperand(1).isReg() &&
    2892           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2893           0 :         MI->getOperand(3).isImm() &&
    2894           0 :         MI->getOperand(3).getImm() == 6) {
    2895             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 6)
    2896             :       AsmString = "fmovdneg %xcc, $\x02, $\x01";
    2897             :       break;
    2898             :     }
    2899           0 :     if (MI->getNumOperands() == 4 &&
    2900           0 :         MI->getOperand(0).isReg() &&
    2901           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2902           0 :         MI->getOperand(1).isReg() &&
    2903           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2904           0 :         MI->getOperand(3).isImm() &&
    2905           0 :         MI->getOperand(3).getImm() == 15) {
    2906             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 15)
    2907             :       AsmString = "fmovdvc %xcc, $\x02, $\x01";
    2908             :       break;
    2909             :     }
    2910           0 :     if (MI->getNumOperands() == 4 &&
    2911           0 :         MI->getOperand(0).isReg() &&
    2912           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2913           0 :         MI->getOperand(1).isReg() &&
    2914           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2915           0 :         MI->getOperand(3).isImm() &&
    2916           0 :         MI->getOperand(3).getImm() == 7) {
    2917             :       // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, 7)
    2918             :       AsmString = "fmovdvs %xcc, $\x02, $\x01";
    2919             :       break;
    2920             :     }
    2921             :     return false;
    2922             :   case SP::FMOVQ_ICC:
    2923           0 :     if (MI->getNumOperands() == 4 &&
    2924           0 :         MI->getOperand(0).isReg() &&
    2925           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2926           0 :         MI->getOperand(1).isReg() &&
    2927           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2928           0 :         MI->getOperand(3).isImm() &&
    2929           0 :         MI->getOperand(3).getImm() == 8 &&
    2930             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2931             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 8)
    2932             :       AsmString = "fmovqa %icc, $\x02, $\x01";
    2933             :       break;
    2934             :     }
    2935           0 :     if (MI->getNumOperands() == 4 &&
    2936           0 :         MI->getOperand(0).isReg() &&
    2937           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2938           0 :         MI->getOperand(1).isReg() &&
    2939           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2940           0 :         MI->getOperand(3).isImm() &&
    2941           0 :         MI->getOperand(3).getImm() == 0 &&
    2942             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2943             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 0)
    2944             :       AsmString = "fmovqn %icc, $\x02, $\x01";
    2945             :       break;
    2946             :     }
    2947           0 :     if (MI->getNumOperands() == 4 &&
    2948           0 :         MI->getOperand(0).isReg() &&
    2949           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2950           0 :         MI->getOperand(1).isReg() &&
    2951           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2952           0 :         MI->getOperand(3).isImm() &&
    2953           0 :         MI->getOperand(3).getImm() == 9 &&
    2954             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2955             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 9)
    2956             :       AsmString = "fmovqne %icc, $\x02, $\x01";
    2957             :       break;
    2958             :     }
    2959           0 :     if (MI->getNumOperands() == 4 &&
    2960           0 :         MI->getOperand(0).isReg() &&
    2961           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2962           0 :         MI->getOperand(1).isReg() &&
    2963           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2964           0 :         MI->getOperand(3).isImm() &&
    2965           0 :         MI->getOperand(3).getImm() == 1 &&
    2966             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2967             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 1)
    2968             :       AsmString = "fmovqe %icc, $\x02, $\x01";
    2969             :       break;
    2970             :     }
    2971           0 :     if (MI->getNumOperands() == 4 &&
    2972           0 :         MI->getOperand(0).isReg() &&
    2973           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2974           0 :         MI->getOperand(1).isReg() &&
    2975           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2976           0 :         MI->getOperand(3).isImm() &&
    2977           0 :         MI->getOperand(3).getImm() == 10 &&
    2978             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2979             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 10)
    2980             :       AsmString = "fmovqg %icc, $\x02, $\x01";
    2981             :       break;
    2982             :     }
    2983           0 :     if (MI->getNumOperands() == 4 &&
    2984           0 :         MI->getOperand(0).isReg() &&
    2985           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2986           0 :         MI->getOperand(1).isReg() &&
    2987           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    2988           0 :         MI->getOperand(3).isImm() &&
    2989           0 :         MI->getOperand(3).getImm() == 2 &&
    2990             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    2991             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 2)
    2992             :       AsmString = "fmovqle %icc, $\x02, $\x01";
    2993             :       break;
    2994             :     }
    2995           0 :     if (MI->getNumOperands() == 4 &&
    2996           0 :         MI->getOperand(0).isReg() &&
    2997           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    2998           0 :         MI->getOperand(1).isReg() &&
    2999           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3000           0 :         MI->getOperand(3).isImm() &&
    3001           0 :         MI->getOperand(3).getImm() == 11 &&
    3002             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3003             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 11)
    3004             :       AsmString = "fmovqge %icc, $\x02, $\x01";
    3005             :       break;
    3006             :     }
    3007           0 :     if (MI->getNumOperands() == 4 &&
    3008           0 :         MI->getOperand(0).isReg() &&
    3009           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3010           0 :         MI->getOperand(1).isReg() &&
    3011           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3012           0 :         MI->getOperand(3).isImm() &&
    3013           0 :         MI->getOperand(3).getImm() == 3 &&
    3014             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3015             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 3)
    3016             :       AsmString = "fmovql %icc, $\x02, $\x01";
    3017             :       break;
    3018             :     }
    3019           0 :     if (MI->getNumOperands() == 4 &&
    3020           0 :         MI->getOperand(0).isReg() &&
    3021           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3022           0 :         MI->getOperand(1).isReg() &&
    3023           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3024           0 :         MI->getOperand(3).isImm() &&
    3025           0 :         MI->getOperand(3).getImm() == 12 &&
    3026             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3027             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 12)
    3028             :       AsmString = "fmovqgu %icc, $\x02, $\x01";
    3029             :       break;
    3030             :     }
    3031           0 :     if (MI->getNumOperands() == 4 &&
    3032           0 :         MI->getOperand(0).isReg() &&
    3033           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3034           0 :         MI->getOperand(1).isReg() &&
    3035           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3036           0 :         MI->getOperand(3).isImm() &&
    3037           0 :         MI->getOperand(3).getImm() == 4 &&
    3038             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3039             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 4)
    3040             :       AsmString = "fmovqleu %icc, $\x02, $\x01";
    3041             :       break;
    3042             :     }
    3043           0 :     if (MI->getNumOperands() == 4 &&
    3044           0 :         MI->getOperand(0).isReg() &&
    3045           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3046           0 :         MI->getOperand(1).isReg() &&
    3047           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3048           0 :         MI->getOperand(3).isImm() &&
    3049           0 :         MI->getOperand(3).getImm() == 13 &&
    3050             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3051             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 13)
    3052             :       AsmString = "fmovqcc %icc, $\x02, $\x01";
    3053             :       break;
    3054             :     }
    3055           0 :     if (MI->getNumOperands() == 4 &&
    3056           0 :         MI->getOperand(0).isReg() &&
    3057           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3058           0 :         MI->getOperand(1).isReg() &&
    3059           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3060           0 :         MI->getOperand(3).isImm() &&
    3061           0 :         MI->getOperand(3).getImm() == 5 &&
    3062             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3063             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 5)
    3064             :       AsmString = "fmovqcs %icc, $\x02, $\x01";
    3065             :       break;
    3066             :     }
    3067           0 :     if (MI->getNumOperands() == 4 &&
    3068           0 :         MI->getOperand(0).isReg() &&
    3069           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3070           0 :         MI->getOperand(1).isReg() &&
    3071           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3072           0 :         MI->getOperand(3).isImm() &&
    3073           0 :         MI->getOperand(3).getImm() == 14 &&
    3074             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3075             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 14)
    3076             :       AsmString = "fmovqpos %icc, $\x02, $\x01";
    3077             :       break;
    3078             :     }
    3079           0 :     if (MI->getNumOperands() == 4 &&
    3080           0 :         MI->getOperand(0).isReg() &&
    3081           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3082           0 :         MI->getOperand(1).isReg() &&
    3083           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3084           0 :         MI->getOperand(3).isImm() &&
    3085           0 :         MI->getOperand(3).getImm() == 6 &&
    3086             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3087             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 6)
    3088             :       AsmString = "fmovqneg %icc, $\x02, $\x01";
    3089             :       break;
    3090             :     }
    3091           0 :     if (MI->getNumOperands() == 4 &&
    3092           0 :         MI->getOperand(0).isReg() &&
    3093           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3094           0 :         MI->getOperand(1).isReg() &&
    3095           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3096           0 :         MI->getOperand(3).isImm() &&
    3097           0 :         MI->getOperand(3).getImm() == 15 &&
    3098             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3099             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 15)
    3100             :       AsmString = "fmovqvc %icc, $\x02, $\x01";
    3101             :       break;
    3102             :     }
    3103           0 :     if (MI->getNumOperands() == 4 &&
    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(3).isImm() &&
    3109           0 :         MI->getOperand(3).getImm() == 7 &&
    3110             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3111             :       // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, 7)
    3112             :       AsmString = "fmovqvs %icc, $\x02, $\x01";
    3113             :       break;
    3114             :     }
    3115             :     return false;
    3116             :   case SP::FMOVQ_XCC:
    3117           0 :     if (MI->getNumOperands() == 4 &&
    3118           0 :         MI->getOperand(0).isReg() &&
    3119           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3120           0 :         MI->getOperand(1).isReg() &&
    3121           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3122           0 :         MI->getOperand(3).isImm() &&
    3123           0 :         MI->getOperand(3).getImm() == 8) {
    3124             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 8)
    3125             :       AsmString = "fmovqa %xcc, $\x02, $\x01";
    3126             :       break;
    3127             :     }
    3128           0 :     if (MI->getNumOperands() == 4 &&
    3129           0 :         MI->getOperand(0).isReg() &&
    3130           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3131           0 :         MI->getOperand(1).isReg() &&
    3132           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3133           0 :         MI->getOperand(3).isImm() &&
    3134           0 :         MI->getOperand(3).getImm() == 0) {
    3135             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 0)
    3136             :       AsmString = "fmovqn %xcc, $\x02, $\x01";
    3137             :       break;
    3138             :     }
    3139           0 :     if (MI->getNumOperands() == 4 &&
    3140           0 :         MI->getOperand(0).isReg() &&
    3141           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3142           0 :         MI->getOperand(1).isReg() &&
    3143           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3144           0 :         MI->getOperand(3).isImm() &&
    3145           0 :         MI->getOperand(3).getImm() == 9) {
    3146             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 9)
    3147             :       AsmString = "fmovqne %xcc, $\x02, $\x01";
    3148             :       break;
    3149             :     }
    3150           0 :     if (MI->getNumOperands() == 4 &&
    3151           0 :         MI->getOperand(0).isReg() &&
    3152           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3153           0 :         MI->getOperand(1).isReg() &&
    3154           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3155           0 :         MI->getOperand(3).isImm() &&
    3156           0 :         MI->getOperand(3).getImm() == 1) {
    3157             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 1)
    3158             :       AsmString = "fmovqe %xcc, $\x02, $\x01";
    3159             :       break;
    3160             :     }
    3161           0 :     if (MI->getNumOperands() == 4 &&
    3162           0 :         MI->getOperand(0).isReg() &&
    3163           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3164           0 :         MI->getOperand(1).isReg() &&
    3165           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3166           0 :         MI->getOperand(3).isImm() &&
    3167           0 :         MI->getOperand(3).getImm() == 10) {
    3168             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 10)
    3169             :       AsmString = "fmovqg %xcc, $\x02, $\x01";
    3170             :       break;
    3171             :     }
    3172           0 :     if (MI->getNumOperands() == 4 &&
    3173           0 :         MI->getOperand(0).isReg() &&
    3174           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3175           0 :         MI->getOperand(1).isReg() &&
    3176           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3177           0 :         MI->getOperand(3).isImm() &&
    3178           0 :         MI->getOperand(3).getImm() == 2) {
    3179             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 2)
    3180             :       AsmString = "fmovqle %xcc, $\x02, $\x01";
    3181             :       break;
    3182             :     }
    3183           0 :     if (MI->getNumOperands() == 4 &&
    3184           0 :         MI->getOperand(0).isReg() &&
    3185           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3186           0 :         MI->getOperand(1).isReg() &&
    3187           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3188           0 :         MI->getOperand(3).isImm() &&
    3189           0 :         MI->getOperand(3).getImm() == 11) {
    3190             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 11)
    3191             :       AsmString = "fmovqge %xcc, $\x02, $\x01";
    3192             :       break;
    3193             :     }
    3194           0 :     if (MI->getNumOperands() == 4 &&
    3195           0 :         MI->getOperand(0).isReg() &&
    3196           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3197           0 :         MI->getOperand(1).isReg() &&
    3198           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3199           0 :         MI->getOperand(3).isImm() &&
    3200           0 :         MI->getOperand(3).getImm() == 3) {
    3201             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 3)
    3202             :       AsmString = "fmovql %xcc, $\x02, $\x01";
    3203             :       break;
    3204             :     }
    3205           0 :     if (MI->getNumOperands() == 4 &&
    3206           0 :         MI->getOperand(0).isReg() &&
    3207           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3208           0 :         MI->getOperand(1).isReg() &&
    3209           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3210           0 :         MI->getOperand(3).isImm() &&
    3211           0 :         MI->getOperand(3).getImm() == 12) {
    3212             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 12)
    3213             :       AsmString = "fmovqgu %xcc, $\x02, $\x01";
    3214             :       break;
    3215             :     }
    3216           0 :     if (MI->getNumOperands() == 4 &&
    3217           0 :         MI->getOperand(0).isReg() &&
    3218           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3219           0 :         MI->getOperand(1).isReg() &&
    3220           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3221           0 :         MI->getOperand(3).isImm() &&
    3222           0 :         MI->getOperand(3).getImm() == 4) {
    3223             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 4)
    3224             :       AsmString = "fmovqleu %xcc, $\x02, $\x01";
    3225             :       break;
    3226             :     }
    3227           0 :     if (MI->getNumOperands() == 4 &&
    3228           0 :         MI->getOperand(0).isReg() &&
    3229           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3230           0 :         MI->getOperand(1).isReg() &&
    3231           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3232           0 :         MI->getOperand(3).isImm() &&
    3233           0 :         MI->getOperand(3).getImm() == 13) {
    3234             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 13)
    3235             :       AsmString = "fmovqcc %xcc, $\x02, $\x01";
    3236             :       break;
    3237             :     }
    3238           0 :     if (MI->getNumOperands() == 4 &&
    3239           0 :         MI->getOperand(0).isReg() &&
    3240           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3241           0 :         MI->getOperand(1).isReg() &&
    3242           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3243           0 :         MI->getOperand(3).isImm() &&
    3244           0 :         MI->getOperand(3).getImm() == 5) {
    3245             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 5)
    3246             :       AsmString = "fmovqcs %xcc, $\x02, $\x01";
    3247             :       break;
    3248             :     }
    3249           0 :     if (MI->getNumOperands() == 4 &&
    3250           0 :         MI->getOperand(0).isReg() &&
    3251           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3252           0 :         MI->getOperand(1).isReg() &&
    3253           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3254           0 :         MI->getOperand(3).isImm() &&
    3255           0 :         MI->getOperand(3).getImm() == 14) {
    3256             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 14)
    3257             :       AsmString = "fmovqpos %xcc, $\x02, $\x01";
    3258             :       break;
    3259             :     }
    3260           0 :     if (MI->getNumOperands() == 4 &&
    3261           0 :         MI->getOperand(0).isReg() &&
    3262           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3263           0 :         MI->getOperand(1).isReg() &&
    3264           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3265           0 :         MI->getOperand(3).isImm() &&
    3266           0 :         MI->getOperand(3).getImm() == 6) {
    3267             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 6)
    3268             :       AsmString = "fmovqneg %xcc, $\x02, $\x01";
    3269             :       break;
    3270             :     }
    3271           0 :     if (MI->getNumOperands() == 4 &&
    3272           0 :         MI->getOperand(0).isReg() &&
    3273           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3274           0 :         MI->getOperand(1).isReg() &&
    3275           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3276           0 :         MI->getOperand(3).isImm() &&
    3277           0 :         MI->getOperand(3).getImm() == 15) {
    3278             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 15)
    3279             :       AsmString = "fmovqvc %xcc, $\x02, $\x01";
    3280             :       break;
    3281             :     }
    3282           0 :     if (MI->getNumOperands() == 4 &&
    3283           0 :         MI->getOperand(0).isReg() &&
    3284           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3285           0 :         MI->getOperand(1).isReg() &&
    3286           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3287           0 :         MI->getOperand(3).isImm() &&
    3288           0 :         MI->getOperand(3).getImm() == 7) {
    3289             :       // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, 7)
    3290             :       AsmString = "fmovqvs %xcc, $\x02, $\x01";
    3291             :       break;
    3292             :     }
    3293             :     return false;
    3294             :   case SP::FMOVS_ICC:
    3295          16 :     if (MI->getNumOperands() == 4 &&
    3296          32 :         MI->getOperand(0).isReg() &&
    3297          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3298          32 :         MI->getOperand(1).isReg() &&
    3299          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3300          32 :         MI->getOperand(3).isImm() &&
    3301          32 :         MI->getOperand(3).getImm() == 8 &&
    3302             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3303             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 8)
    3304             :       AsmString = "fmovsa %icc, $\x02, $\x01";
    3305             :       break;
    3306             :     }
    3307          16 :     if (MI->getNumOperands() == 4 &&
    3308          32 :         MI->getOperand(0).isReg() &&
    3309          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3310          32 :         MI->getOperand(1).isReg() &&
    3311          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3312          32 :         MI->getOperand(3).isImm() &&
    3313          32 :         MI->getOperand(3).getImm() == 0 &&
    3314             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3315             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 0)
    3316             :       AsmString = "fmovsn %icc, $\x02, $\x01";
    3317             :       break;
    3318             :     }
    3319          16 :     if (MI->getNumOperands() == 4 &&
    3320          32 :         MI->getOperand(0).isReg() &&
    3321          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3322          32 :         MI->getOperand(1).isReg() &&
    3323          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3324          32 :         MI->getOperand(3).isImm() &&
    3325          33 :         MI->getOperand(3).getImm() == 9 &&
    3326             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3327             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 9)
    3328             :       AsmString = "fmovsne %icc, $\x02, $\x01";
    3329             :       break;
    3330             :     }
    3331          15 :     if (MI->getNumOperands() == 4 &&
    3332          30 :         MI->getOperand(0).isReg() &&
    3333          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3334          30 :         MI->getOperand(1).isReg() &&
    3335          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3336          30 :         MI->getOperand(3).isImm() &&
    3337          33 :         MI->getOperand(3).getImm() == 1 &&
    3338             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3339             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 1)
    3340             :       AsmString = "fmovse %icc, $\x02, $\x01";
    3341             :       break;
    3342             :     }
    3343          12 :     if (MI->getNumOperands() == 4 &&
    3344          24 :         MI->getOperand(0).isReg() &&
    3345          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3346          24 :         MI->getOperand(1).isReg() &&
    3347          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3348          24 :         MI->getOperand(3).isImm() &&
    3349          25 :         MI->getOperand(3).getImm() == 10 &&
    3350             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3351             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 10)
    3352             :       AsmString = "fmovsg %icc, $\x02, $\x01";
    3353             :       break;
    3354             :     }
    3355          11 :     if (MI->getNumOperands() == 4 &&
    3356          22 :         MI->getOperand(0).isReg() &&
    3357          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3358          22 :         MI->getOperand(1).isReg() &&
    3359          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3360          22 :         MI->getOperand(3).isImm() &&
    3361          23 :         MI->getOperand(3).getImm() == 2 &&
    3362             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3363             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 2)
    3364             :       AsmString = "fmovsle %icc, $\x02, $\x01";
    3365             :       break;
    3366             :     }
    3367          10 :     if (MI->getNumOperands() == 4 &&
    3368          20 :         MI->getOperand(0).isReg() &&
    3369          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3370          20 :         MI->getOperand(1).isReg() &&
    3371          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3372          20 :         MI->getOperand(3).isImm() &&
    3373          21 :         MI->getOperand(3).getImm() == 11 &&
    3374             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3375             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 11)
    3376             :       AsmString = "fmovsge %icc, $\x02, $\x01";
    3377             :       break;
    3378             :     }
    3379           9 :     if (MI->getNumOperands() == 4 &&
    3380          18 :         MI->getOperand(0).isReg() &&
    3381          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3382          18 :         MI->getOperand(1).isReg() &&
    3383          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3384          18 :         MI->getOperand(3).isImm() &&
    3385          19 :         MI->getOperand(3).getImm() == 3 &&
    3386             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3387             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 3)
    3388             :       AsmString = "fmovsl %icc, $\x02, $\x01";
    3389             :       break;
    3390             :     }
    3391           8 :     if (MI->getNumOperands() == 4 &&
    3392          16 :         MI->getOperand(0).isReg() &&
    3393          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3394          16 :         MI->getOperand(1).isReg() &&
    3395          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3396          16 :         MI->getOperand(3).isImm() &&
    3397          17 :         MI->getOperand(3).getImm() == 12 &&
    3398             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3399             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 12)
    3400             :       AsmString = "fmovsgu %icc, $\x02, $\x01";
    3401             :       break;
    3402             :     }
    3403           7 :     if (MI->getNumOperands() == 4 &&
    3404          14 :         MI->getOperand(0).isReg() &&
    3405          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3406          14 :         MI->getOperand(1).isReg() &&
    3407          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3408          14 :         MI->getOperand(3).isImm() &&
    3409          15 :         MI->getOperand(3).getImm() == 4 &&
    3410             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3411             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 4)
    3412             :       AsmString = "fmovsleu %icc, $\x02, $\x01";
    3413             :       break;
    3414             :     }
    3415           6 :     if (MI->getNumOperands() == 4 &&
    3416          12 :         MI->getOperand(0).isReg() &&
    3417          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3418          12 :         MI->getOperand(1).isReg() &&
    3419          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3420          12 :         MI->getOperand(3).isImm() &&
    3421          13 :         MI->getOperand(3).getImm() == 13 &&
    3422             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3423             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 13)
    3424             :       AsmString = "fmovscc %icc, $\x02, $\x01";
    3425             :       break;
    3426             :     }
    3427           5 :     if (MI->getNumOperands() == 4 &&
    3428          10 :         MI->getOperand(0).isReg() &&
    3429          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3430          10 :         MI->getOperand(1).isReg() &&
    3431          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3432          10 :         MI->getOperand(3).isImm() &&
    3433          11 :         MI->getOperand(3).getImm() == 5 &&
    3434             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3435             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 5)
    3436             :       AsmString = "fmovscs %icc, $\x02, $\x01";
    3437             :       break;
    3438             :     }
    3439           4 :     if (MI->getNumOperands() == 4 &&
    3440           8 :         MI->getOperand(0).isReg() &&
    3441           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3442           8 :         MI->getOperand(1).isReg() &&
    3443           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3444           8 :         MI->getOperand(3).isImm() &&
    3445           9 :         MI->getOperand(3).getImm() == 14 &&
    3446             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3447             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 14)
    3448             :       AsmString = "fmovspos %icc, $\x02, $\x01";
    3449             :       break;
    3450             :     }
    3451           3 :     if (MI->getNumOperands() == 4 &&
    3452           6 :         MI->getOperand(0).isReg() &&
    3453           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3454           6 :         MI->getOperand(1).isReg() &&
    3455           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3456           6 :         MI->getOperand(3).isImm() &&
    3457           7 :         MI->getOperand(3).getImm() == 6 &&
    3458             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3459             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 6)
    3460             :       AsmString = "fmovsneg %icc, $\x02, $\x01";
    3461             :       break;
    3462             :     }
    3463           2 :     if (MI->getNumOperands() == 4 &&
    3464           4 :         MI->getOperand(0).isReg() &&
    3465           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3466           4 :         MI->getOperand(1).isReg() &&
    3467           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3468           4 :         MI->getOperand(3).isImm() &&
    3469           5 :         MI->getOperand(3).getImm() == 15 &&
    3470             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3471             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 15)
    3472             :       AsmString = "fmovsvc %icc, $\x02, $\x01";
    3473             :       break;
    3474             :     }
    3475           1 :     if (MI->getNumOperands() == 4 &&
    3476           2 :         MI->getOperand(0).isReg() &&
    3477           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3478           2 :         MI->getOperand(1).isReg() &&
    3479           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3480           2 :         MI->getOperand(3).isImm() &&
    3481           3 :         MI->getOperand(3).getImm() == 7 &&
    3482             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3483             :       // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, 7)
    3484             :       AsmString = "fmovsvs %icc, $\x02, $\x01";
    3485             :       break;
    3486             :     }
    3487             :     return false;
    3488             :   case SP::FMOVS_XCC:
    3489          16 :     if (MI->getNumOperands() == 4 &&
    3490          32 :         MI->getOperand(0).isReg() &&
    3491          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3492          32 :         MI->getOperand(1).isReg() &&
    3493          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3494          48 :         MI->getOperand(3).isImm() &&
    3495          16 :         MI->getOperand(3).getImm() == 8) {
    3496             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 8)
    3497             :       AsmString = "fmovsa %xcc, $\x02, $\x01";
    3498             :       break;
    3499             :     }
    3500          16 :     if (MI->getNumOperands() == 4 &&
    3501          32 :         MI->getOperand(0).isReg() &&
    3502          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3503          32 :         MI->getOperand(1).isReg() &&
    3504          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3505          48 :         MI->getOperand(3).isImm() &&
    3506          16 :         MI->getOperand(3).getImm() == 0) {
    3507             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 0)
    3508             :       AsmString = "fmovsn %xcc, $\x02, $\x01";
    3509             :       break;
    3510             :     }
    3511          16 :     if (MI->getNumOperands() == 4 &&
    3512          32 :         MI->getOperand(0).isReg() &&
    3513          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3514          32 :         MI->getOperand(1).isReg() &&
    3515          32 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3516          48 :         MI->getOperand(3).isImm() &&
    3517          16 :         MI->getOperand(3).getImm() == 9) {
    3518             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 9)
    3519             :       AsmString = "fmovsne %xcc, $\x02, $\x01";
    3520             :       break;
    3521             :     }
    3522          15 :     if (MI->getNumOperands() == 4 &&
    3523          30 :         MI->getOperand(0).isReg() &&
    3524          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3525          30 :         MI->getOperand(1).isReg() &&
    3526          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3527          45 :         MI->getOperand(3).isImm() &&
    3528          15 :         MI->getOperand(3).getImm() == 1) {
    3529             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 1)
    3530             :       AsmString = "fmovse %xcc, $\x02, $\x01";
    3531             :       break;
    3532             :     }
    3533          14 :     if (MI->getNumOperands() == 4 &&
    3534          28 :         MI->getOperand(0).isReg() &&
    3535          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3536          28 :         MI->getOperand(1).isReg() &&
    3537          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3538          42 :         MI->getOperand(3).isImm() &&
    3539          14 :         MI->getOperand(3).getImm() == 10) {
    3540             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 10)
    3541             :       AsmString = "fmovsg %xcc, $\x02, $\x01";
    3542             :       break;
    3543             :     }
    3544          12 :     if (MI->getNumOperands() == 4 &&
    3545          24 :         MI->getOperand(0).isReg() &&
    3546          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3547          24 :         MI->getOperand(1).isReg() &&
    3548          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3549          36 :         MI->getOperand(3).isImm() &&
    3550          12 :         MI->getOperand(3).getImm() == 2) {
    3551             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 2)
    3552             :       AsmString = "fmovsle %xcc, $\x02, $\x01";
    3553             :       break;
    3554             :     }
    3555          11 :     if (MI->getNumOperands() == 4 &&
    3556          22 :         MI->getOperand(0).isReg() &&
    3557          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3558          22 :         MI->getOperand(1).isReg() &&
    3559          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3560          33 :         MI->getOperand(3).isImm() &&
    3561          11 :         MI->getOperand(3).getImm() == 11) {
    3562             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 11)
    3563             :       AsmString = "fmovsge %xcc, $\x02, $\x01";
    3564             :       break;
    3565             :     }
    3566          10 :     if (MI->getNumOperands() == 4 &&
    3567          20 :         MI->getOperand(0).isReg() &&
    3568          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3569          20 :         MI->getOperand(1).isReg() &&
    3570          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3571          30 :         MI->getOperand(3).isImm() &&
    3572          10 :         MI->getOperand(3).getImm() == 3) {
    3573             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 3)
    3574             :       AsmString = "fmovsl %xcc, $\x02, $\x01";
    3575             :       break;
    3576             :     }
    3577           8 :     if (MI->getNumOperands() == 4 &&
    3578          16 :         MI->getOperand(0).isReg() &&
    3579          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3580          16 :         MI->getOperand(1).isReg() &&
    3581          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3582          24 :         MI->getOperand(3).isImm() &&
    3583           8 :         MI->getOperand(3).getImm() == 12) {
    3584             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 12)
    3585             :       AsmString = "fmovsgu %xcc, $\x02, $\x01";
    3586             :       break;
    3587             :     }
    3588           7 :     if (MI->getNumOperands() == 4 &&
    3589          14 :         MI->getOperand(0).isReg() &&
    3590          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3591          14 :         MI->getOperand(1).isReg() &&
    3592          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3593          21 :         MI->getOperand(3).isImm() &&
    3594           7 :         MI->getOperand(3).getImm() == 4) {
    3595             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 4)
    3596             :       AsmString = "fmovsleu %xcc, $\x02, $\x01";
    3597             :       break;
    3598             :     }
    3599           6 :     if (MI->getNumOperands() == 4 &&
    3600          12 :         MI->getOperand(0).isReg() &&
    3601          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3602          12 :         MI->getOperand(1).isReg() &&
    3603          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3604          18 :         MI->getOperand(3).isImm() &&
    3605           6 :         MI->getOperand(3).getImm() == 13) {
    3606             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 13)
    3607             :       AsmString = "fmovscc %xcc, $\x02, $\x01";
    3608             :       break;
    3609             :     }
    3610           5 :     if (MI->getNumOperands() == 4 &&
    3611          10 :         MI->getOperand(0).isReg() &&
    3612          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3613          10 :         MI->getOperand(1).isReg() &&
    3614          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3615          15 :         MI->getOperand(3).isImm() &&
    3616           5 :         MI->getOperand(3).getImm() == 5) {
    3617             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 5)
    3618             :       AsmString = "fmovscs %xcc, $\x02, $\x01";
    3619             :       break;
    3620             :     }
    3621           4 :     if (MI->getNumOperands() == 4 &&
    3622           8 :         MI->getOperand(0).isReg() &&
    3623           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3624           8 :         MI->getOperand(1).isReg() &&
    3625           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3626          12 :         MI->getOperand(3).isImm() &&
    3627           4 :         MI->getOperand(3).getImm() == 14) {
    3628             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 14)
    3629             :       AsmString = "fmovspos %xcc, $\x02, $\x01";
    3630             :       break;
    3631             :     }
    3632           3 :     if (MI->getNumOperands() == 4 &&
    3633           6 :         MI->getOperand(0).isReg() &&
    3634           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3635           6 :         MI->getOperand(1).isReg() &&
    3636           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3637           9 :         MI->getOperand(3).isImm() &&
    3638           3 :         MI->getOperand(3).getImm() == 6) {
    3639             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 6)
    3640             :       AsmString = "fmovsneg %xcc, $\x02, $\x01";
    3641             :       break;
    3642             :     }
    3643           2 :     if (MI->getNumOperands() == 4 &&
    3644           4 :         MI->getOperand(0).isReg() &&
    3645           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3646           4 :         MI->getOperand(1).isReg() &&
    3647           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3648           6 :         MI->getOperand(3).isImm() &&
    3649           2 :         MI->getOperand(3).getImm() == 15) {
    3650             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 15)
    3651             :       AsmString = "fmovsvc %xcc, $\x02, $\x01";
    3652             :       break;
    3653             :     }
    3654           1 :     if (MI->getNumOperands() == 4 &&
    3655           2 :         MI->getOperand(0).isReg() &&
    3656           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3657           2 :         MI->getOperand(1).isReg() &&
    3658           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3659           3 :         MI->getOperand(3).isImm() &&
    3660           1 :         MI->getOperand(3).getImm() == 7) {
    3661             :       // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, 7)
    3662             :       AsmString = "fmovsvs %xcc, $\x02, $\x01";
    3663             :       break;
    3664             :     }
    3665             :     return false;
    3666             :   case SP::MOVICCri:
    3667          13 :     if (MI->getNumOperands() == 4 &&
    3668          26 :         MI->getOperand(0).isReg() &&
    3669          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3670          26 :         MI->getOperand(3).isImm() &&
    3671          26 :         MI->getOperand(3).getImm() == 8 &&
    3672             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3673             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 8)
    3674             :       AsmString = "mova %icc, $\x02, $\x01";
    3675             :       break;
    3676             :     }
    3677          13 :     if (MI->getNumOperands() == 4 &&
    3678          26 :         MI->getOperand(0).isReg() &&
    3679          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3680          26 :         MI->getOperand(3).isImm() &&
    3681          26 :         MI->getOperand(3).getImm() == 0 &&
    3682             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3683             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 0)
    3684             :       AsmString = "movn %icc, $\x02, $\x01";
    3685             :       break;
    3686             :     }
    3687          13 :     if (MI->getNumOperands() == 4 &&
    3688          26 :         MI->getOperand(0).isReg() &&
    3689          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3690          26 :         MI->getOperand(3).isImm() &&
    3691          26 :         MI->getOperand(3).getImm() == 9 &&
    3692             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3693             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 9)
    3694             :       AsmString = "movne %icc, $\x02, $\x01";
    3695             :       break;
    3696             :     }
    3697          13 :     if (MI->getNumOperands() == 4 &&
    3698          26 :         MI->getOperand(0).isReg() &&
    3699          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3700          26 :         MI->getOperand(3).isImm() &&
    3701          37 :         MI->getOperand(3).getImm() == 1 &&
    3702             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3703             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 1)
    3704             :       AsmString = "move %icc, $\x02, $\x01";
    3705             :       break;
    3706             :     }
    3707           2 :     if (MI->getNumOperands() == 4 &&
    3708           4 :         MI->getOperand(0).isReg() &&
    3709           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3710           4 :         MI->getOperand(3).isImm() &&
    3711           4 :         MI->getOperand(3).getImm() == 10 &&
    3712             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3713             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 10)
    3714             :       AsmString = "movg %icc, $\x02, $\x01";
    3715             :       break;
    3716             :     }
    3717           2 :     if (MI->getNumOperands() == 4 &&
    3718           4 :         MI->getOperand(0).isReg() &&
    3719           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3720           4 :         MI->getOperand(3).isImm() &&
    3721           4 :         MI->getOperand(3).getImm() == 2 &&
    3722             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3723             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 2)
    3724             :       AsmString = "movle %icc, $\x02, $\x01";
    3725             :       break;
    3726             :     }
    3727           2 :     if (MI->getNumOperands() == 4 &&
    3728           4 :         MI->getOperand(0).isReg() &&
    3729           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3730           4 :         MI->getOperand(3).isImm() &&
    3731           4 :         MI->getOperand(3).getImm() == 11 &&
    3732             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3733             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 11)
    3734             :       AsmString = "movge %icc, $\x02, $\x01";
    3735             :       break;
    3736             :     }
    3737           2 :     if (MI->getNumOperands() == 4 &&
    3738           4 :         MI->getOperand(0).isReg() &&
    3739           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3740           4 :         MI->getOperand(3).isImm() &&
    3741           4 :         MI->getOperand(3).getImm() == 3 &&
    3742             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3743             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 3)
    3744             :       AsmString = "movl %icc, $\x02, $\x01";
    3745             :       break;
    3746             :     }
    3747           2 :     if (MI->getNumOperands() == 4 &&
    3748           4 :         MI->getOperand(0).isReg() &&
    3749           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3750           4 :         MI->getOperand(3).isImm() &&
    3751           6 :         MI->getOperand(3).getImm() == 12 &&
    3752             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3753             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 12)
    3754             :       AsmString = "movgu %icc, $\x02, $\x01";
    3755             :       break;
    3756             :     }
    3757           0 :     if (MI->getNumOperands() == 4 &&
    3758           0 :         MI->getOperand(0).isReg() &&
    3759           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3760           0 :         MI->getOperand(3).isImm() &&
    3761           0 :         MI->getOperand(3).getImm() == 4 &&
    3762             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3763             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 4)
    3764             :       AsmString = "movleu %icc, $\x02, $\x01";
    3765             :       break;
    3766             :     }
    3767           0 :     if (MI->getNumOperands() == 4 &&
    3768           0 :         MI->getOperand(0).isReg() &&
    3769           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3770           0 :         MI->getOperand(3).isImm() &&
    3771           0 :         MI->getOperand(3).getImm() == 13 &&
    3772             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3773             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 13)
    3774             :       AsmString = "movcc %icc, $\x02, $\x01";
    3775             :       break;
    3776             :     }
    3777           0 :     if (MI->getNumOperands() == 4 &&
    3778           0 :         MI->getOperand(0).isReg() &&
    3779           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3780           0 :         MI->getOperand(3).isImm() &&
    3781           0 :         MI->getOperand(3).getImm() == 5 &&
    3782             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3783             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 5)
    3784             :       AsmString = "movcs %icc, $\x02, $\x01";
    3785             :       break;
    3786             :     }
    3787           0 :     if (MI->getNumOperands() == 4 &&
    3788           0 :         MI->getOperand(0).isReg() &&
    3789           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3790           0 :         MI->getOperand(3).isImm() &&
    3791           0 :         MI->getOperand(3).getImm() == 14 &&
    3792             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3793             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 14)
    3794             :       AsmString = "movpos %icc, $\x02, $\x01";
    3795             :       break;
    3796             :     }
    3797           0 :     if (MI->getNumOperands() == 4 &&
    3798           0 :         MI->getOperand(0).isReg() &&
    3799           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3800           0 :         MI->getOperand(3).isImm() &&
    3801           0 :         MI->getOperand(3).getImm() == 6 &&
    3802             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3803             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 6)
    3804             :       AsmString = "movneg %icc, $\x02, $\x01";
    3805             :       break;
    3806             :     }
    3807           0 :     if (MI->getNumOperands() == 4 &&
    3808           0 :         MI->getOperand(0).isReg() &&
    3809           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3810           0 :         MI->getOperand(3).isImm() &&
    3811           0 :         MI->getOperand(3).getImm() == 15 &&
    3812             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3813             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 15)
    3814             :       AsmString = "movvc %icc, $\x02, $\x01";
    3815             :       break;
    3816             :     }
    3817           0 :     if (MI->getNumOperands() == 4 &&
    3818           0 :         MI->getOperand(0).isReg() &&
    3819           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3820           0 :         MI->getOperand(3).isImm() &&
    3821           0 :         MI->getOperand(3).getImm() == 7 &&
    3822             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3823             :       // (MOVICCri IntRegs:$rd, i32imm:$simm11, 7)
    3824             :       AsmString = "movvs %icc, $\x02, $\x01";
    3825             :       break;
    3826             :     }
    3827             :     return false;
    3828             :   case SP::MOVICCrr:
    3829          19 :     if (MI->getNumOperands() == 4 &&
    3830          38 :         MI->getOperand(0).isReg() &&
    3831          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3832          38 :         MI->getOperand(1).isReg() &&
    3833          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3834          38 :         MI->getOperand(3).isImm() &&
    3835          38 :         MI->getOperand(3).getImm() == 8 &&
    3836             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3837             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 8)
    3838             :       AsmString = "mova %icc, $\x02, $\x01";
    3839             :       break;
    3840             :     }
    3841          19 :     if (MI->getNumOperands() == 4 &&
    3842          38 :         MI->getOperand(0).isReg() &&
    3843          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3844          38 :         MI->getOperand(1).isReg() &&
    3845          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3846          38 :         MI->getOperand(3).isImm() &&
    3847          38 :         MI->getOperand(3).getImm() == 0 &&
    3848             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3849             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 0)
    3850             :       AsmString = "movn %icc, $\x02, $\x01";
    3851             :       break;
    3852             :     }
    3853          19 :     if (MI->getNumOperands() == 4 &&
    3854          38 :         MI->getOperand(0).isReg() &&
    3855          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3856          38 :         MI->getOperand(1).isReg() &&
    3857          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3858          38 :         MI->getOperand(3).isImm() &&
    3859          39 :         MI->getOperand(3).getImm() == 9 &&
    3860             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3861             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 9)
    3862             :       AsmString = "movne %icc, $\x02, $\x01";
    3863             :       break;
    3864             :     }
    3865          18 :     if (MI->getNumOperands() == 4 &&
    3866          36 :         MI->getOperand(0).isReg() &&
    3867          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3868          36 :         MI->getOperand(1).isReg() &&
    3869          36 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3870          36 :         MI->getOperand(3).isImm() &&
    3871          40 :         MI->getOperand(3).getImm() == 1 &&
    3872             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3873             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 1)
    3874             :       AsmString = "move %icc, $\x02, $\x01";
    3875             :       break;
    3876             :     }
    3877          14 :     if (MI->getNumOperands() == 4 &&
    3878          28 :         MI->getOperand(0).isReg() &&
    3879          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3880          28 :         MI->getOperand(1).isReg() &&
    3881          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3882          28 :         MI->getOperand(3).isImm() &&
    3883          30 :         MI->getOperand(3).getImm() == 10 &&
    3884             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3885             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 10)
    3886             :       AsmString = "movg %icc, $\x02, $\x01";
    3887             :       break;
    3888             :     }
    3889          12 :     if (MI->getNumOperands() == 4 &&
    3890          24 :         MI->getOperand(0).isReg() &&
    3891          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3892          24 :         MI->getOperand(1).isReg() &&
    3893          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3894          24 :         MI->getOperand(3).isImm() &&
    3895          25 :         MI->getOperand(3).getImm() == 2 &&
    3896             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3897             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 2)
    3898             :       AsmString = "movle %icc, $\x02, $\x01";
    3899             :       break;
    3900             :     }
    3901          11 :     if (MI->getNumOperands() == 4 &&
    3902          22 :         MI->getOperand(0).isReg() &&
    3903          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3904          22 :         MI->getOperand(1).isReg() &&
    3905          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3906          22 :         MI->getOperand(3).isImm() &&
    3907          23 :         MI->getOperand(3).getImm() == 11 &&
    3908             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3909             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 11)
    3910             :       AsmString = "movge %icc, $\x02, $\x01";
    3911             :       break;
    3912             :     }
    3913          10 :     if (MI->getNumOperands() == 4 &&
    3914          20 :         MI->getOperand(0).isReg() &&
    3915          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3916          20 :         MI->getOperand(1).isReg() &&
    3917          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3918          20 :         MI->getOperand(3).isImm() &&
    3919          21 :         MI->getOperand(3).getImm() == 3 &&
    3920             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3921             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 3)
    3922             :       AsmString = "movl %icc, $\x02, $\x01";
    3923             :       break;
    3924             :     }
    3925           9 :     if (MI->getNumOperands() == 4 &&
    3926          18 :         MI->getOperand(0).isReg() &&
    3927          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3928          18 :         MI->getOperand(1).isReg() &&
    3929          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3930          18 :         MI->getOperand(3).isImm() &&
    3931          19 :         MI->getOperand(3).getImm() == 12 &&
    3932             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3933             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 12)
    3934             :       AsmString = "movgu %icc, $\x02, $\x01";
    3935             :       break;
    3936             :     }
    3937           8 :     if (MI->getNumOperands() == 4 &&
    3938          16 :         MI->getOperand(0).isReg() &&
    3939          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3940          16 :         MI->getOperand(1).isReg() &&
    3941          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3942          16 :         MI->getOperand(3).isImm() &&
    3943          18 :         MI->getOperand(3).getImm() == 4 &&
    3944             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3945             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 4)
    3946             :       AsmString = "movleu %icc, $\x02, $\x01";
    3947             :       break;
    3948             :     }
    3949           6 :     if (MI->getNumOperands() == 4 &&
    3950          12 :         MI->getOperand(0).isReg() &&
    3951          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3952          12 :         MI->getOperand(1).isReg() &&
    3953          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3954          12 :         MI->getOperand(3).isImm() &&
    3955          13 :         MI->getOperand(3).getImm() == 13 &&
    3956             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3957             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 13)
    3958             :       AsmString = "movcc %icc, $\x02, $\x01";
    3959             :       break;
    3960             :     }
    3961           5 :     if (MI->getNumOperands() == 4 &&
    3962          10 :         MI->getOperand(0).isReg() &&
    3963          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3964          10 :         MI->getOperand(1).isReg() &&
    3965          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3966          10 :         MI->getOperand(3).isImm() &&
    3967          11 :         MI->getOperand(3).getImm() == 5 &&
    3968             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3969             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 5)
    3970             :       AsmString = "movcs %icc, $\x02, $\x01";
    3971             :       break;
    3972             :     }
    3973           4 :     if (MI->getNumOperands() == 4 &&
    3974           8 :         MI->getOperand(0).isReg() &&
    3975           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3976           8 :         MI->getOperand(1).isReg() &&
    3977           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3978           8 :         MI->getOperand(3).isImm() &&
    3979           9 :         MI->getOperand(3).getImm() == 14 &&
    3980             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3981             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 14)
    3982             :       AsmString = "movpos %icc, $\x02, $\x01";
    3983             :       break;
    3984             :     }
    3985           3 :     if (MI->getNumOperands() == 4 &&
    3986           6 :         MI->getOperand(0).isReg() &&
    3987           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    3988           6 :         MI->getOperand(1).isReg() &&
    3989           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    3990           6 :         MI->getOperand(3).isImm() &&
    3991           7 :         MI->getOperand(3).getImm() == 6 &&
    3992             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    3993             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 6)
    3994             :       AsmString = "movneg %icc, $\x02, $\x01";
    3995             :       break;
    3996             :     }
    3997           2 :     if (MI->getNumOperands() == 4 &&
    3998           4 :         MI->getOperand(0).isReg() &&
    3999           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4000           4 :         MI->getOperand(1).isReg() &&
    4001           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4002           4 :         MI->getOperand(3).isImm() &&
    4003           5 :         MI->getOperand(3).getImm() == 15 &&
    4004             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4005             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 15)
    4006             :       AsmString = "movvc %icc, $\x02, $\x01";
    4007             :       break;
    4008             :     }
    4009           1 :     if (MI->getNumOperands() == 4 &&
    4010           2 :         MI->getOperand(0).isReg() &&
    4011           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4012           2 :         MI->getOperand(1).isReg() &&
    4013           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4014           2 :         MI->getOperand(3).isImm() &&
    4015           3 :         MI->getOperand(3).getImm() == 7 &&
    4016             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4017             :       // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, 7)
    4018             :       AsmString = "movvs %icc, $\x02, $\x01";
    4019             :       break;
    4020             :     }
    4021             :     return false;
    4022             :   case SP::MOVXCCri:
    4023          10 :     if (MI->getNumOperands() == 4 &&
    4024          20 :         MI->getOperand(0).isReg() &&
    4025          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4026          30 :         MI->getOperand(3).isImm() &&
    4027          10 :         MI->getOperand(3).getImm() == 8) {
    4028             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 8)
    4029             :       AsmString = "mova %xcc, $\x02, $\x01";
    4030             :       break;
    4031             :     }
    4032          10 :     if (MI->getNumOperands() == 4 &&
    4033          20 :         MI->getOperand(0).isReg() &&
    4034          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4035          30 :         MI->getOperand(3).isImm() &&
    4036          10 :         MI->getOperand(3).getImm() == 0) {
    4037             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 0)
    4038             :       AsmString = "movn %xcc, $\x02, $\x01";
    4039             :       break;
    4040             :     }
    4041          10 :     if (MI->getNumOperands() == 4 &&
    4042          20 :         MI->getOperand(0).isReg() &&
    4043          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4044          30 :         MI->getOperand(3).isImm() &&
    4045          10 :         MI->getOperand(3).getImm() == 9) {
    4046             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 9)
    4047             :       AsmString = "movne %xcc, $\x02, $\x01";
    4048             :       break;
    4049             :     }
    4050           9 :     if (MI->getNumOperands() == 4 &&
    4051          18 :         MI->getOperand(0).isReg() &&
    4052          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4053          27 :         MI->getOperand(3).isImm() &&
    4054           9 :         MI->getOperand(3).getImm() == 1) {
    4055             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 1)
    4056             :       AsmString = "move %xcc, $\x02, $\x01";
    4057             :       break;
    4058             :     }
    4059           6 :     if (MI->getNumOperands() == 4 &&
    4060          12 :         MI->getOperand(0).isReg() &&
    4061          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4062          18 :         MI->getOperand(3).isImm() &&
    4063           6 :         MI->getOperand(3).getImm() == 10) {
    4064             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 10)
    4065             :       AsmString = "movg %xcc, $\x02, $\x01";
    4066             :       break;
    4067             :     }
    4068           5 :     if (MI->getNumOperands() == 4 &&
    4069          10 :         MI->getOperand(0).isReg() &&
    4070          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4071          15 :         MI->getOperand(3).isImm() &&
    4072           5 :         MI->getOperand(3).getImm() == 2) {
    4073             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 2)
    4074             :       AsmString = "movle %xcc, $\x02, $\x01";
    4075             :       break;
    4076             :     }
    4077           5 :     if (MI->getNumOperands() == 4 &&
    4078          10 :         MI->getOperand(0).isReg() &&
    4079          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4080          15 :         MI->getOperand(3).isImm() &&
    4081           5 :         MI->getOperand(3).getImm() == 11) {
    4082             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 11)
    4083             :       AsmString = "movge %xcc, $\x02, $\x01";
    4084             :       break;
    4085             :     }
    4086           5 :     if (MI->getNumOperands() == 4 &&
    4087          10 :         MI->getOperand(0).isReg() &&
    4088          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4089          15 :         MI->getOperand(3).isImm() &&
    4090           5 :         MI->getOperand(3).getImm() == 3) {
    4091             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 3)
    4092             :       AsmString = "movl %xcc, $\x02, $\x01";
    4093             :       break;
    4094             :     }
    4095           3 :     if (MI->getNumOperands() == 4 &&
    4096           6 :         MI->getOperand(0).isReg() &&
    4097           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4098           9 :         MI->getOperand(3).isImm() &&
    4099           3 :         MI->getOperand(3).getImm() == 12) {
    4100             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 12)
    4101             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4102             :       break;
    4103             :     }
    4104           2 :     if (MI->getNumOperands() == 4 &&
    4105           4 :         MI->getOperand(0).isReg() &&
    4106           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4107           6 :         MI->getOperand(3).isImm() &&
    4108           2 :         MI->getOperand(3).getImm() == 4) {
    4109             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 4)
    4110             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4111             :       break;
    4112             :     }
    4113           2 :     if (MI->getNumOperands() == 4 &&
    4114           4 :         MI->getOperand(0).isReg() &&
    4115           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4116           6 :         MI->getOperand(3).isImm() &&
    4117           2 :         MI->getOperand(3).getImm() == 13) {
    4118             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 13)
    4119             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4120             :       break;
    4121             :     }
    4122           2 :     if (MI->getNumOperands() == 4 &&
    4123           4 :         MI->getOperand(0).isReg() &&
    4124           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4125           6 :         MI->getOperand(3).isImm() &&
    4126           2 :         MI->getOperand(3).getImm() == 5) {
    4127             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 5)
    4128             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4129             :       break;
    4130             :     }
    4131           0 :     if (MI->getNumOperands() == 4 &&
    4132           0 :         MI->getOperand(0).isReg() &&
    4133           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4134           0 :         MI->getOperand(3).isImm() &&
    4135           0 :         MI->getOperand(3).getImm() == 14) {
    4136             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 14)
    4137             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4138             :       break;
    4139             :     }
    4140           0 :     if (MI->getNumOperands() == 4 &&
    4141           0 :         MI->getOperand(0).isReg() &&
    4142           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4143           0 :         MI->getOperand(3).isImm() &&
    4144           0 :         MI->getOperand(3).getImm() == 6) {
    4145             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 6)
    4146             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4147             :       break;
    4148             :     }
    4149           0 :     if (MI->getNumOperands() == 4 &&
    4150           0 :         MI->getOperand(0).isReg() &&
    4151           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4152           0 :         MI->getOperand(3).isImm() &&
    4153           0 :         MI->getOperand(3).getImm() == 15) {
    4154             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 15)
    4155             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4156             :       break;
    4157             :     }
    4158           0 :     if (MI->getNumOperands() == 4 &&
    4159           0 :         MI->getOperand(0).isReg() &&
    4160           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4161           0 :         MI->getOperand(3).isImm() &&
    4162           0 :         MI->getOperand(3).getImm() == 7) {
    4163             :       // (MOVXCCri IntRegs:$rd, i32imm:$simm11, 7)
    4164             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4165             :       break;
    4166             :     }
    4167             :     return false;
    4168             :   case SP::MOVXCCrr:
    4169          17 :     if (MI->getNumOperands() == 4 &&
    4170          34 :         MI->getOperand(0).isReg() &&
    4171          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4172          34 :         MI->getOperand(1).isReg() &&
    4173          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4174          51 :         MI->getOperand(3).isImm() &&
    4175          17 :         MI->getOperand(3).getImm() == 8) {
    4176             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 8)
    4177             :       AsmString = "mova %xcc, $\x02, $\x01";
    4178             :       break;
    4179             :     }
    4180          17 :     if (MI->getNumOperands() == 4 &&
    4181          34 :         MI->getOperand(0).isReg() &&
    4182          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4183          34 :         MI->getOperand(1).isReg() &&
    4184          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4185          51 :         MI->getOperand(3).isImm() &&
    4186          17 :         MI->getOperand(3).getImm() == 0) {
    4187             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 0)
    4188             :       AsmString = "movn %xcc, $\x02, $\x01";
    4189             :       break;
    4190             :     }
    4191          17 :     if (MI->getNumOperands() == 4 &&
    4192          34 :         MI->getOperand(0).isReg() &&
    4193          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4194          34 :         MI->getOperand(1).isReg() &&
    4195          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4196          51 :         MI->getOperand(3).isImm() &&
    4197          17 :         MI->getOperand(3).getImm() == 9) {
    4198             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 9)
    4199             :       AsmString = "movne %xcc, $\x02, $\x01";
    4200             :       break;
    4201             :     }
    4202          16 :     if (MI->getNumOperands() == 4 &&
    4203          32 :         MI->getOperand(0).isReg() &&
    4204          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4205          32 :         MI->getOperand(1).isReg() &&
    4206          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4207          48 :         MI->getOperand(3).isImm() &&
    4208          16 :         MI->getOperand(3).getImm() == 1) {
    4209             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 1)
    4210             :       AsmString = "move %xcc, $\x02, $\x01";
    4211             :       break;
    4212             :     }
    4213          15 :     if (MI->getNumOperands() == 4 &&
    4214          30 :         MI->getOperand(0).isReg() &&
    4215          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4216          30 :         MI->getOperand(1).isReg() &&
    4217          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4218          45 :         MI->getOperand(3).isImm() &&
    4219          15 :         MI->getOperand(3).getImm() == 10) {
    4220             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 10)
    4221             :       AsmString = "movg %xcc, $\x02, $\x01";
    4222             :       break;
    4223             :     }
    4224          11 :     if (MI->getNumOperands() == 4 &&
    4225          22 :         MI->getOperand(0).isReg() &&
    4226          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4227          22 :         MI->getOperand(1).isReg() &&
    4228          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4229          33 :         MI->getOperand(3).isImm() &&
    4230          11 :         MI->getOperand(3).getImm() == 2) {
    4231             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 2)
    4232             :       AsmString = "movle %xcc, $\x02, $\x01";
    4233             :       break;
    4234             :     }
    4235          10 :     if (MI->getNumOperands() == 4 &&
    4236          20 :         MI->getOperand(0).isReg() &&
    4237          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4238          20 :         MI->getOperand(1).isReg() &&
    4239          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4240          30 :         MI->getOperand(3).isImm() &&
    4241          10 :         MI->getOperand(3).getImm() == 11) {
    4242             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 11)
    4243             :       AsmString = "movge %xcc, $\x02, $\x01";
    4244             :       break;
    4245             :     }
    4246           9 :     if (MI->getNumOperands() == 4 &&
    4247          18 :         MI->getOperand(0).isReg() &&
    4248          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4249          18 :         MI->getOperand(1).isReg() &&
    4250          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4251          27 :         MI->getOperand(3).isImm() &&
    4252           9 :         MI->getOperand(3).getImm() == 3) {
    4253             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 3)
    4254             :       AsmString = "movl %xcc, $\x02, $\x01";
    4255             :       break;
    4256             :     }
    4257           8 :     if (MI->getNumOperands() == 4 &&
    4258          16 :         MI->getOperand(0).isReg() &&
    4259          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4260          16 :         MI->getOperand(1).isReg() &&
    4261          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4262          24 :         MI->getOperand(3).isImm() &&
    4263           8 :         MI->getOperand(3).getImm() == 12) {
    4264             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 12)
    4265             :       AsmString = "movgu %xcc, $\x02, $\x01";
    4266             :       break;
    4267             :     }
    4268           7 :     if (MI->getNumOperands() == 4 &&
    4269          14 :         MI->getOperand(0).isReg() &&
    4270          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4271          14 :         MI->getOperand(1).isReg() &&
    4272          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4273          21 :         MI->getOperand(3).isImm() &&
    4274           7 :         MI->getOperand(3).getImm() == 4) {
    4275             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 4)
    4276             :       AsmString = "movleu %xcc, $\x02, $\x01";
    4277             :       break;
    4278             :     }
    4279           6 :     if (MI->getNumOperands() == 4 &&
    4280          12 :         MI->getOperand(0).isReg() &&
    4281          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4282          12 :         MI->getOperand(1).isReg() &&
    4283          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4284          18 :         MI->getOperand(3).isImm() &&
    4285           6 :         MI->getOperand(3).getImm() == 13) {
    4286             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 13)
    4287             :       AsmString = "movcc %xcc, $\x02, $\x01";
    4288             :       break;
    4289             :     }
    4290           5 :     if (MI->getNumOperands() == 4 &&
    4291          10 :         MI->getOperand(0).isReg() &&
    4292          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4293          10 :         MI->getOperand(1).isReg() &&
    4294          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4295          15 :         MI->getOperand(3).isImm() &&
    4296           5 :         MI->getOperand(3).getImm() == 5) {
    4297             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 5)
    4298             :       AsmString = "movcs %xcc, $\x02, $\x01";
    4299             :       break;
    4300             :     }
    4301           4 :     if (MI->getNumOperands() == 4 &&
    4302           8 :         MI->getOperand(0).isReg() &&
    4303           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4304           8 :         MI->getOperand(1).isReg() &&
    4305           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4306          12 :         MI->getOperand(3).isImm() &&
    4307           4 :         MI->getOperand(3).getImm() == 14) {
    4308             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 14)
    4309             :       AsmString = "movpos %xcc, $\x02, $\x01";
    4310             :       break;
    4311             :     }
    4312           3 :     if (MI->getNumOperands() == 4 &&
    4313           6 :         MI->getOperand(0).isReg() &&
    4314           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4315           6 :         MI->getOperand(1).isReg() &&
    4316           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4317           9 :         MI->getOperand(3).isImm() &&
    4318           3 :         MI->getOperand(3).getImm() == 6) {
    4319             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 6)
    4320             :       AsmString = "movneg %xcc, $\x02, $\x01";
    4321             :       break;
    4322             :     }
    4323           2 :     if (MI->getNumOperands() == 4 &&
    4324           4 :         MI->getOperand(0).isReg() &&
    4325           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4326           4 :         MI->getOperand(1).isReg() &&
    4327           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4328           6 :         MI->getOperand(3).isImm() &&
    4329           2 :         MI->getOperand(3).getImm() == 15) {
    4330             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 15)
    4331             :       AsmString = "movvc %xcc, $\x02, $\x01";
    4332             :       break;
    4333             :     }
    4334           1 :     if (MI->getNumOperands() == 4 &&
    4335           2 :         MI->getOperand(0).isReg() &&
    4336           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4337           2 :         MI->getOperand(1).isReg() &&
    4338           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4339           3 :         MI->getOperand(3).isImm() &&
    4340           1 :         MI->getOperand(3).getImm() == 7) {
    4341             :       // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, 7)
    4342             :       AsmString = "movvs %xcc, $\x02, $\x01";
    4343             :       break;
    4344             :     }
    4345             :     return false;
    4346             :   case SP::ORCCrr:
    4347           6 :     if (MI->getNumOperands() == 3 &&
    4348          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4349           8 :         MI->getOperand(1).isReg() &&
    4350          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4351           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4352             :       // (ORCCrr G0, IntRegs:$rs2, G0)
    4353             :       AsmString = "tst $\x02";
    4354             :       break;
    4355             :     }
    4356             :     return false;
    4357             :   case SP::ORri:
    4358         316 :     if (MI->getNumOperands() == 3 &&
    4359         632 :         MI->getOperand(0).isReg() &&
    4360         948 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4361         316 :         MI->getOperand(1).getReg() == Sparc::G0) {
    4362             :       // (ORri IntRegs:$rd, G0, i32imm:$simm13)
    4363             :       AsmString = "mov $\x03, $\x01";
    4364             :       break;
    4365             :     }
    4366             :     return false;
    4367             :   case SP::ORrr:
    4368         891 :     if (MI->getNumOperands() == 3 &&
    4369        1782 :         MI->getOperand(0).isReg() &&
    4370        1782 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4371        1651 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4372        2411 :         MI->getOperand(2).isReg() &&
    4373         760 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    4374             :       // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
    4375             :       AsmString = "mov $\x03, $\x01";
    4376             :       break;
    4377             :     }
    4378             :     return false;
    4379             :   case SP::RESTORErr:
    4380         354 :     if (MI->getNumOperands() == 3 &&
    4381         640 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4382         926 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4383         286 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4384             :       // (RESTORErr G0, G0, G0)
    4385             :       AsmString = "restore";
    4386             :       break;
    4387             :     }
    4388             :     return false;
    4389             :   case SP::RET:
    4390         268 :     if (MI->getNumOperands() == 1 &&
    4391         536 :         MI->getOperand(0).isImm() &&
    4392         268 :         MI->getOperand(0).getImm() == 8) {
    4393             :       // (RET 8)
    4394             :       AsmString = "ret";
    4395             :       break;
    4396             :     }
    4397             :     return false;
    4398             :   case SP::RETL:
    4399         404 :     if (MI->getNumOperands() == 1 &&
    4400         808 :         MI->getOperand(0).isImm() &&
    4401         404 :         MI->getOperand(0).getImm() == 8) {
    4402             :       // (RETL 8)
    4403             :       AsmString = "retl";
    4404             :       break;
    4405             :     }
    4406             :     return false;
    4407             :   case SP::SAVErr:
    4408           6 :     if (MI->getNumOperands() == 3 &&
    4409          10 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4410          14 :         MI->getOperand(1).getReg() == Sparc::G0 &&
    4411           4 :         MI->getOperand(2).getReg() == Sparc::G0) {
    4412             :       // (SAVErr G0, G0, G0)
    4413             :       AsmString = "save";
    4414             :       break;
    4415             :     }
    4416             :     return false;
    4417             :   case SP::TICCri:
    4418          41 :     if (MI->getNumOperands() == 3 &&
    4419          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4420          42 :         MI->getOperand(2).isImm() &&
    4421          64 :         MI->getOperand(2).getImm() == 8 &&
    4422             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4423             :       // (TICCri G0, i32imm:$imm, 8)
    4424             :       AsmString = "ta %icc, $\x02";
    4425             :       break;
    4426             :     }
    4427          39 :     if (MI->getNumOperands() == 3 &&
    4428          78 :         MI->getOperand(0).isReg() &&
    4429          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4430          78 :         MI->getOperand(2).isImm() &&
    4431          80 :         MI->getOperand(2).getImm() == 8 &&
    4432             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4433             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 8)
    4434             :       AsmString = "ta %icc, $\x01 + $\x02";
    4435             :       break;
    4436             :     }
    4437          37 :     if (MI->getNumOperands() == 3 &&
    4438          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4439          38 :         MI->getOperand(2).isImm() &&
    4440          57 :         MI->getOperand(2).getImm() == 0 &&
    4441             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4442             :       // (TICCri G0, i32imm:$imm, 0)
    4443             :       AsmString = "tn %icc, $\x02";
    4444             :       break;
    4445             :     }
    4446          36 :     if (MI->getNumOperands() == 3 &&
    4447          72 :         MI->getOperand(0).isReg() &&
    4448          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4449          72 :         MI->getOperand(2).isImm() &&
    4450          73 :         MI->getOperand(2).getImm() == 0 &&
    4451             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4452             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 0)
    4453             :       AsmString = "tn %icc, $\x01 + $\x02";
    4454             :       break;
    4455             :     }
    4456          35 :     if (MI->getNumOperands() == 3 &&
    4457          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4458          36 :         MI->getOperand(2).isImm() &&
    4459          55 :         MI->getOperand(2).getImm() == 9 &&
    4460             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4461             :       // (TICCri G0, i32imm:$imm, 9)
    4462             :       AsmString = "tne %icc, $\x02";
    4463             :       break;
    4464             :     }
    4465          33 :     if (MI->getNumOperands() == 3 &&
    4466          66 :         MI->getOperand(0).isReg() &&
    4467          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4468          66 :         MI->getOperand(2).isImm() &&
    4469          67 :         MI->getOperand(2).getImm() == 9 &&
    4470             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4471             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 9)
    4472             :       AsmString = "tne %icc, $\x01 + $\x02";
    4473             :       break;
    4474             :     }
    4475          32 :     if (MI->getNumOperands() == 3 &&
    4476          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4477          32 :         MI->getOperand(2).isImm() &&
    4478          49 :         MI->getOperand(2).getImm() == 1 &&
    4479             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4480             :       // (TICCri G0, i32imm:$imm, 1)
    4481             :       AsmString = "te %icc, $\x02";
    4482             :       break;
    4483             :     }
    4484          31 :     if (MI->getNumOperands() == 3 &&
    4485          62 :         MI->getOperand(0).isReg() &&
    4486          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4487          62 :         MI->getOperand(2).isImm() &&
    4488          63 :         MI->getOperand(2).getImm() == 1 &&
    4489             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4490             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 1)
    4491             :       AsmString = "te %icc, $\x01 + $\x02";
    4492             :       break;
    4493             :     }
    4494          30 :     if (MI->getNumOperands() == 3 &&
    4495          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4496          30 :         MI->getOperand(2).isImm() &&
    4497          46 :         MI->getOperand(2).getImm() == 10 &&
    4498             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4499             :       // (TICCri G0, i32imm:$imm, 10)
    4500             :       AsmString = "tg %icc, $\x02";
    4501             :       break;
    4502             :     }
    4503          29 :     if (MI->getNumOperands() == 3 &&
    4504          58 :         MI->getOperand(0).isReg() &&
    4505          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4506          58 :         MI->getOperand(2).isImm() &&
    4507          60 :         MI->getOperand(2).getImm() == 10 &&
    4508             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4509             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 10)
    4510             :       AsmString = "tg %icc, $\x01 + $\x02";
    4511             :       break;
    4512             :     }
    4513          27 :     if (MI->getNumOperands() == 3 &&
    4514          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4515          28 :         MI->getOperand(2).isImm() &&
    4516          42 :         MI->getOperand(2).getImm() == 2 &&
    4517             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4518             :       // (TICCri G0, i32imm:$imm, 2)
    4519             :       AsmString = "tle %icc, $\x02";
    4520             :       break;
    4521             :     }
    4522          26 :     if (MI->getNumOperands() == 3 &&
    4523          52 :         MI->getOperand(0).isReg() &&
    4524          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4525          52 :         MI->getOperand(2).isImm() &&
    4526          53 :         MI->getOperand(2).getImm() == 2 &&
    4527             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4528             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 2)
    4529             :       AsmString = "tle %icc, $\x01 + $\x02";
    4530             :       break;
    4531             :     }
    4532          25 :     if (MI->getNumOperands() == 3 &&
    4533          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4534          26 :         MI->getOperand(2).isImm() &&
    4535          40 :         MI->getOperand(2).getImm() == 11 &&
    4536             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4537             :       // (TICCri G0, i32imm:$imm, 11)
    4538             :       AsmString = "tge %icc, $\x02";
    4539             :       break;
    4540             :     }
    4541          23 :     if (MI->getNumOperands() == 3 &&
    4542          46 :         MI->getOperand(0).isReg() &&
    4543          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4544          46 :         MI->getOperand(2).isImm() &&
    4545          47 :         MI->getOperand(2).getImm() == 11 &&
    4546             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4547             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 11)
    4548             :       AsmString = "tge %icc, $\x01 + $\x02";
    4549             :       break;
    4550             :     }
    4551          22 :     if (MI->getNumOperands() == 3 &&
    4552          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4553          22 :         MI->getOperand(2).isImm() &&
    4554          34 :         MI->getOperand(2).getImm() == 3 &&
    4555             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4556             :       // (TICCri G0, i32imm:$imm, 3)
    4557             :       AsmString = "tl %icc, $\x02";
    4558             :       break;
    4559             :     }
    4560          21 :     if (MI->getNumOperands() == 3 &&
    4561          42 :         MI->getOperand(0).isReg() &&
    4562          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4563          42 :         MI->getOperand(2).isImm() &&
    4564          43 :         MI->getOperand(2).getImm() == 3 &&
    4565             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4566             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 3)
    4567             :       AsmString = "tl %icc, $\x01 + $\x02";
    4568             :       break;
    4569             :     }
    4570          20 :     if (MI->getNumOperands() == 3 &&
    4571          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4572          20 :         MI->getOperand(2).isImm() &&
    4573          31 :         MI->getOperand(2).getImm() == 12 &&
    4574             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4575             :       // (TICCri G0, i32imm:$imm, 12)
    4576             :       AsmString = "tgu %icc, $\x02";
    4577             :       break;
    4578             :     }
    4579          19 :     if (MI->getNumOperands() == 3 &&
    4580          38 :         MI->getOperand(0).isReg() &&
    4581          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4582          38 :         MI->getOperand(2).isImm() &&
    4583          40 :         MI->getOperand(2).getImm() == 12 &&
    4584             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4585             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 12)
    4586             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4587             :       break;
    4588             :     }
    4589          17 :     if (MI->getNumOperands() == 3 &&
    4590          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4591          18 :         MI->getOperand(2).isImm() &&
    4592          27 :         MI->getOperand(2).getImm() == 4 &&
    4593             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4594             :       // (TICCri G0, i32imm:$imm, 4)
    4595             :       AsmString = "tleu %icc, $\x02";
    4596             :       break;
    4597             :     }
    4598          16 :     if (MI->getNumOperands() == 3 &&
    4599          32 :         MI->getOperand(0).isReg() &&
    4600          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4601          32 :         MI->getOperand(2).isImm() &&
    4602          33 :         MI->getOperand(2).getImm() == 4 &&
    4603             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4604             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 4)
    4605             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4606             :       break;
    4607             :     }
    4608          15 :     if (MI->getNumOperands() == 3 &&
    4609          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4610          16 :         MI->getOperand(2).isImm() &&
    4611          25 :         MI->getOperand(2).getImm() == 13 &&
    4612             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4613             :       // (TICCri G0, i32imm:$imm, 13)
    4614             :       AsmString = "tcc %icc, $\x02";
    4615             :       break;
    4616             :     }
    4617          13 :     if (MI->getNumOperands() == 3 &&
    4618          26 :         MI->getOperand(0).isReg() &&
    4619          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4620          26 :         MI->getOperand(2).isImm() &&
    4621          27 :         MI->getOperand(2).getImm() == 13 &&
    4622             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4623             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 13)
    4624             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4625             :       break;
    4626             :     }
    4627          12 :     if (MI->getNumOperands() == 3 &&
    4628          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4629          12 :         MI->getOperand(2).isImm() &&
    4630          19 :         MI->getOperand(2).getImm() == 5 &&
    4631             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4632             :       // (TICCri G0, i32imm:$imm, 5)
    4633             :       AsmString = "tcs %icc, $\x02";
    4634             :       break;
    4635             :     }
    4636          11 :     if (MI->getNumOperands() == 3 &&
    4637          22 :         MI->getOperand(0).isReg() &&
    4638          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4639          22 :         MI->getOperand(2).isImm() &&
    4640          23 :         MI->getOperand(2).getImm() == 5 &&
    4641             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4642             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 5)
    4643             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4644             :       break;
    4645             :     }
    4646          10 :     if (MI->getNumOperands() == 3 &&
    4647          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4648          10 :         MI->getOperand(2).isImm() &&
    4649          16 :         MI->getOperand(2).getImm() == 14 &&
    4650             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4651             :       // (TICCri G0, i32imm:$imm, 14)
    4652             :       AsmString = "tpos %icc, $\x02";
    4653             :       break;
    4654             :     }
    4655           9 :     if (MI->getNumOperands() == 3 &&
    4656          18 :         MI->getOperand(0).isReg() &&
    4657          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4658          18 :         MI->getOperand(2).isImm() &&
    4659          20 :         MI->getOperand(2).getImm() == 14 &&
    4660             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4661             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 14)
    4662             :       AsmString = "tpos %icc, $\x01 + $\x02";
    4663             :       break;
    4664             :     }
    4665           7 :     if (MI->getNumOperands() == 3 &&
    4666          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4667           8 :         MI->getOperand(2).isImm() &&
    4668          12 :         MI->getOperand(2).getImm() == 6 &&
    4669             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4670             :       // (TICCri G0, i32imm:$imm, 6)
    4671             :       AsmString = "tneg %icc, $\x02";
    4672             :       break;
    4673             :     }
    4674           6 :     if (MI->getNumOperands() == 3 &&
    4675          12 :         MI->getOperand(0).isReg() &&
    4676          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4677          12 :         MI->getOperand(2).isImm() &&
    4678          13 :         MI->getOperand(2).getImm() == 6 &&
    4679             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4680             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 6)
    4681             :       AsmString = "tneg %icc, $\x01 + $\x02";
    4682             :       break;
    4683             :     }
    4684           5 :     if (MI->getNumOperands() == 3 &&
    4685           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4686           6 :         MI->getOperand(2).isImm() &&
    4687          10 :         MI->getOperand(2).getImm() == 15 &&
    4688             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4689             :       // (TICCri G0, i32imm:$imm, 15)
    4690             :       AsmString = "tvc %icc, $\x02";
    4691             :       break;
    4692             :     }
    4693           3 :     if (MI->getNumOperands() == 3 &&
    4694           6 :         MI->getOperand(0).isReg() &&
    4695           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4696           6 :         MI->getOperand(2).isImm() &&
    4697           7 :         MI->getOperand(2).getImm() == 15 &&
    4698             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4699             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 15)
    4700             :       AsmString = "tvc %icc, $\x01 + $\x02";
    4701             :       break;
    4702             :     }
    4703           2 :     if (MI->getNumOperands() == 3 &&
    4704           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4705           2 :         MI->getOperand(2).isImm() &&
    4706           4 :         MI->getOperand(2).getImm() == 7 &&
    4707             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4708             :       // (TICCri G0, i32imm:$imm, 7)
    4709             :       AsmString = "tvs %icc, $\x02";
    4710             :       break;
    4711             :     }
    4712           1 :     if (MI->getNumOperands() == 3 &&
    4713           2 :         MI->getOperand(0).isReg() &&
    4714           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4715           2 :         MI->getOperand(2).isImm() &&
    4716           3 :         MI->getOperand(2).getImm() == 7 &&
    4717             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4718             :       // (TICCri IntRegs:$rs1, i32imm:$imm, 7)
    4719             :       AsmString = "tvs %icc, $\x01 + $\x02";
    4720             :       break;
    4721             :     }
    4722             :     return false;
    4723             :   case SP::TICCrr:
    4724          44 :     if (MI->getNumOperands() == 3 &&
    4725          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4726          46 :         MI->getOperand(1).isReg() &&
    4727          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4728          46 :         MI->getOperand(2).isImm() &&
    4729          69 :         MI->getOperand(2).getImm() == 8 &&
    4730             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4731             :       // (TICCrr G0, IntRegs:$rs2, 8)
    4732             :       AsmString = "ta %icc, $\x02";
    4733             :       break;
    4734             :     }
    4735          42 :     if (MI->getNumOperands() == 3 &&
    4736          84 :         MI->getOperand(0).isReg() &&
    4737          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4738          84 :         MI->getOperand(1).isReg() &&
    4739          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4740          84 :         MI->getOperand(2).isImm() &&
    4741          86 :         MI->getOperand(2).getImm() == 8 &&
    4742             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4743             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 8)
    4744             :       AsmString = "ta %icc, $\x01 + $\x02";
    4745             :       break;
    4746             :     }
    4747          40 :     if (MI->getNumOperands() == 3 &&
    4748          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4749          42 :         MI->getOperand(1).isReg() &&
    4750          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4751          42 :         MI->getOperand(2).isImm() &&
    4752          63 :         MI->getOperand(2).getImm() == 0 &&
    4753             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4754             :       // (TICCrr G0, IntRegs:$rs2, 0)
    4755             :       AsmString = "tn %icc, $\x02";
    4756             :       break;
    4757             :     }
    4758          38 :     if (MI->getNumOperands() == 3 &&
    4759          76 :         MI->getOperand(0).isReg() &&
    4760          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4761          76 :         MI->getOperand(1).isReg() &&
    4762          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4763          76 :         MI->getOperand(2).isImm() &&
    4764          77 :         MI->getOperand(2).getImm() == 0 &&
    4765             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4766             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 0)
    4767             :       AsmString = "tn %icc, $\x01 + $\x02";
    4768             :       break;
    4769             :     }
    4770          37 :     if (MI->getNumOperands() == 3 &&
    4771          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4772          38 :         MI->getOperand(1).isReg() &&
    4773          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4774          38 :         MI->getOperand(2).isImm() &&
    4775          58 :         MI->getOperand(2).getImm() == 9 &&
    4776             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4777             :       // (TICCrr G0, IntRegs:$rs2, 9)
    4778             :       AsmString = "tne %icc, $\x02";
    4779             :       break;
    4780             :     }
    4781          35 :     if (MI->getNumOperands() == 3 &&
    4782          70 :         MI->getOperand(0).isReg() &&
    4783          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4784          70 :         MI->getOperand(1).isReg() &&
    4785          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4786          70 :         MI->getOperand(2).isImm() &&
    4787          71 :         MI->getOperand(2).getImm() == 9 &&
    4788             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4789             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 9)
    4790             :       AsmString = "tne %icc, $\x01 + $\x02";
    4791             :       break;
    4792             :     }
    4793          34 :     if (MI->getNumOperands() == 3 &&
    4794          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4795          34 :         MI->getOperand(1).isReg() &&
    4796          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4797          34 :         MI->getOperand(2).isImm() &&
    4798          53 :         MI->getOperand(2).getImm() == 1 &&
    4799             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4800             :       // (TICCrr G0, IntRegs:$rs2, 1)
    4801             :       AsmString = "te %icc, $\x02";
    4802             :       break;
    4803             :     }
    4804          32 :     if (MI->getNumOperands() == 3 &&
    4805          64 :         MI->getOperand(0).isReg() &&
    4806          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4807          64 :         MI->getOperand(1).isReg() &&
    4808          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4809          64 :         MI->getOperand(2).isImm() &&
    4810          66 :         MI->getOperand(2).getImm() == 1 &&
    4811             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4812             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 1)
    4813             :       AsmString = "te %icc, $\x01 + $\x02";
    4814             :       break;
    4815             :     }
    4816          30 :     if (MI->getNumOperands() == 3 &&
    4817          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4818          30 :         MI->getOperand(1).isReg() &&
    4819          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4820          30 :         MI->getOperand(2).isImm() &&
    4821          46 :         MI->getOperand(2).getImm() == 10 &&
    4822             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4823             :       // (TICCrr G0, IntRegs:$rs2, 10)
    4824             :       AsmString = "tg %icc, $\x02";
    4825             :       break;
    4826             :     }
    4827          29 :     if (MI->getNumOperands() == 3 &&
    4828          58 :         MI->getOperand(0).isReg() &&
    4829          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4830          58 :         MI->getOperand(1).isReg() &&
    4831          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4832          58 :         MI->getOperand(2).isImm() &&
    4833          59 :         MI->getOperand(2).getImm() == 10 &&
    4834             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4835             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 10)
    4836             :       AsmString = "tg %icc, $\x01 + $\x02";
    4837             :       break;
    4838             :     }
    4839          28 :     if (MI->getNumOperands() == 3 &&
    4840          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4841          28 :         MI->getOperand(1).isReg() &&
    4842          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4843          28 :         MI->getOperand(2).isImm() &&
    4844          44 :         MI->getOperand(2).getImm() == 2 &&
    4845             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4846             :       // (TICCrr G0, IntRegs:$rs2, 2)
    4847             :       AsmString = "tle %icc, $\x02";
    4848             :       break;
    4849             :     }
    4850          26 :     if (MI->getNumOperands() == 3 &&
    4851          52 :         MI->getOperand(0).isReg() &&
    4852          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4853          52 :         MI->getOperand(1).isReg() &&
    4854          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4855          52 :         MI->getOperand(2).isImm() &&
    4856          53 :         MI->getOperand(2).getImm() == 2 &&
    4857             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4858             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 2)
    4859             :       AsmString = "tle %icc, $\x01 + $\x02";
    4860             :       break;
    4861             :     }
    4862          25 :     if (MI->getNumOperands() == 3 &&
    4863          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4864          24 :         MI->getOperand(1).isReg() &&
    4865          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4866          24 :         MI->getOperand(2).isImm() &&
    4867          38 :         MI->getOperand(2).getImm() == 11 &&
    4868             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4869             :       // (TICCrr G0, IntRegs:$rs2, 11)
    4870             :       AsmString = "tge %icc, $\x02";
    4871             :       break;
    4872             :     }
    4873          24 :     if (MI->getNumOperands() == 3 &&
    4874          48 :         MI->getOperand(0).isReg() &&
    4875          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4876          48 :         MI->getOperand(1).isReg() &&
    4877          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4878          48 :         MI->getOperand(2).isImm() &&
    4879          49 :         MI->getOperand(2).getImm() == 11 &&
    4880             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4881             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 11)
    4882             :       AsmString = "tge %icc, $\x01 + $\x02";
    4883             :       break;
    4884             :     }
    4885          23 :     if (MI->getNumOperands() == 3 &&
    4886          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4887          22 :         MI->getOperand(1).isReg() &&
    4888          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4889          22 :         MI->getOperand(2).isImm() &&
    4890          35 :         MI->getOperand(2).getImm() == 3 &&
    4891             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4892             :       // (TICCrr G0, IntRegs:$rs2, 3)
    4893             :       AsmString = "tl %icc, $\x02";
    4894             :       break;
    4895             :     }
    4896          22 :     if (MI->getNumOperands() == 3 &&
    4897          44 :         MI->getOperand(0).isReg() &&
    4898          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4899          44 :         MI->getOperand(1).isReg() &&
    4900          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4901          44 :         MI->getOperand(2).isImm() &&
    4902          46 :         MI->getOperand(2).getImm() == 3 &&
    4903             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4904             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 3)
    4905             :       AsmString = "tl %icc, $\x01 + $\x02";
    4906             :       break;
    4907             :     }
    4908          20 :     if (MI->getNumOperands() == 3 &&
    4909          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4910          20 :         MI->getOperand(1).isReg() &&
    4911          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4912          20 :         MI->getOperand(2).isImm() &&
    4913          31 :         MI->getOperand(2).getImm() == 12 &&
    4914             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4915             :       // (TICCrr G0, IntRegs:$rs2, 12)
    4916             :       AsmString = "tgu %icc, $\x02";
    4917             :       break;
    4918             :     }
    4919          19 :     if (MI->getNumOperands() == 3 &&
    4920          38 :         MI->getOperand(0).isReg() &&
    4921          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4922          38 :         MI->getOperand(1).isReg() &&
    4923          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4924          38 :         MI->getOperand(2).isImm() &&
    4925          39 :         MI->getOperand(2).getImm() == 12 &&
    4926             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4927             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 12)
    4928             :       AsmString = "tgu %icc, $\x01 + $\x02";
    4929             :       break;
    4930             :     }
    4931          18 :     if (MI->getNumOperands() == 3 &&
    4932          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4933          18 :         MI->getOperand(1).isReg() &&
    4934          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4935          18 :         MI->getOperand(2).isImm() &&
    4936          29 :         MI->getOperand(2).getImm() == 4 &&
    4937             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4938             :       // (TICCrr G0, IntRegs:$rs2, 4)
    4939             :       AsmString = "tleu %icc, $\x02";
    4940             :       break;
    4941             :     }
    4942          16 :     if (MI->getNumOperands() == 3 &&
    4943          32 :         MI->getOperand(0).isReg() &&
    4944          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4945          32 :         MI->getOperand(1).isReg() &&
    4946          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4947          32 :         MI->getOperand(2).isImm() &&
    4948          33 :         MI->getOperand(2).getImm() == 4 &&
    4949             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4950             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 4)
    4951             :       AsmString = "tleu %icc, $\x01 + $\x02";
    4952             :       break;
    4953             :     }
    4954          15 :     if (MI->getNumOperands() == 3 &&
    4955          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4956          14 :         MI->getOperand(1).isReg() &&
    4957          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4958          14 :         MI->getOperand(2).isImm() &&
    4959          23 :         MI->getOperand(2).getImm() == 13 &&
    4960             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4961             :       // (TICCrr G0, IntRegs:$rs2, 13)
    4962             :       AsmString = "tcc %icc, $\x02";
    4963             :       break;
    4964             :     }
    4965          14 :     if (MI->getNumOperands() == 3 &&
    4966          28 :         MI->getOperand(0).isReg() &&
    4967          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4968          28 :         MI->getOperand(1).isReg() &&
    4969          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4970          28 :         MI->getOperand(2).isImm() &&
    4971          29 :         MI->getOperand(2).getImm() == 13 &&
    4972             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4973             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 13)
    4974             :       AsmString = "tcc %icc, $\x01 + $\x02";
    4975             :       break;
    4976             :     }
    4977          13 :     if (MI->getNumOperands() == 3 &&
    4978          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    4979          12 :         MI->getOperand(1).isReg() &&
    4980          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4981          12 :         MI->getOperand(2).isImm() &&
    4982          20 :         MI->getOperand(2).getImm() == 5 &&
    4983             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4984             :       // (TICCrr G0, IntRegs:$rs2, 5)
    4985             :       AsmString = "tcs %icc, $\x02";
    4986             :       break;
    4987             :     }
    4988          12 :     if (MI->getNumOperands() == 3 &&
    4989          24 :         MI->getOperand(0).isReg() &&
    4990          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    4991          24 :         MI->getOperand(1).isReg() &&
    4992          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    4993          24 :         MI->getOperand(2).isImm() &&
    4994          26 :         MI->getOperand(2).getImm() == 5 &&
    4995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    4996             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 5)
    4997             :       AsmString = "tcs %icc, $\x01 + $\x02";
    4998             :       break;
    4999             :     }
    5000          10 :     if (MI->getNumOperands() == 3 &&
    5001          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5002          10 :         MI->getOperand(1).isReg() &&
    5003          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5004          10 :         MI->getOperand(2).isImm() &&
    5005          16 :         MI->getOperand(2).getImm() == 14 &&
    5006             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5007             :       // (TICCrr G0, IntRegs:$rs2, 14)
    5008             :       AsmString = "tpos %icc, $\x02";
    5009             :       break;
    5010             :     }
    5011           9 :     if (MI->getNumOperands() == 3 &&
    5012          18 :         MI->getOperand(0).isReg() &&
    5013          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5014          18 :         MI->getOperand(1).isReg() &&
    5015          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5016          18 :         MI->getOperand(2).isImm() &&
    5017          19 :         MI->getOperand(2).getImm() == 14 &&
    5018             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5019             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 14)
    5020             :       AsmString = "tpos %icc, $\x01 + $\x02";
    5021             :       break;
    5022             :     }
    5023           8 :     if (MI->getNumOperands() == 3 &&
    5024          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5025           8 :         MI->getOperand(1).isReg() &&
    5026           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5027           8 :         MI->getOperand(2).isImm() &&
    5028          14 :         MI->getOperand(2).getImm() == 6 &&
    5029             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5030             :       // (TICCrr G0, IntRegs:$rs2, 6)
    5031             :       AsmString = "tneg %icc, $\x02";
    5032             :       break;
    5033             :     }
    5034           6 :     if (MI->getNumOperands() == 3 &&
    5035          12 :         MI->getOperand(0).isReg() &&
    5036          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5037          12 :         MI->getOperand(1).isReg() &&
    5038          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5039          12 :         MI->getOperand(2).isImm() &&
    5040          13 :         MI->getOperand(2).getImm() == 6 &&
    5041             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5042             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 6)
    5043             :       AsmString = "tneg %icc, $\x01 + $\x02";
    5044             :       break;
    5045             :     }
    5046           5 :     if (MI->getNumOperands() == 3 &&
    5047           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5048           4 :         MI->getOperand(1).isReg() &&
    5049           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5050           4 :         MI->getOperand(2).isImm() &&
    5051           8 :         MI->getOperand(2).getImm() == 15 &&
    5052             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5053             :       // (TICCrr G0, IntRegs:$rs2, 15)
    5054             :       AsmString = "tvc %icc, $\x02";
    5055             :       break;
    5056             :     }
    5057           4 :     if (MI->getNumOperands() == 3 &&
    5058           8 :         MI->getOperand(0).isReg() &&
    5059           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5060           8 :         MI->getOperand(1).isReg() &&
    5061           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5062           8 :         MI->getOperand(2).isImm() &&
    5063           9 :         MI->getOperand(2).getImm() == 15 &&
    5064             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5065             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 15)
    5066             :       AsmString = "tvc %icc, $\x01 + $\x02";
    5067             :       break;
    5068             :     }
    5069           3 :     if (MI->getNumOperands() == 3 &&
    5070           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5071           2 :         MI->getOperand(1).isReg() &&
    5072           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5073           2 :         MI->getOperand(2).isImm() &&
    5074           5 :         MI->getOperand(2).getImm() == 7 &&
    5075             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5076             :       // (TICCrr G0, IntRegs:$rs2, 7)
    5077             :       AsmString = "tvs %icc, $\x02";
    5078             :       break;
    5079             :     }
    5080           2 :     if (MI->getNumOperands() == 3 &&
    5081           4 :         MI->getOperand(0).isReg() &&
    5082           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5083           4 :         MI->getOperand(1).isReg() &&
    5084           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5085           4 :         MI->getOperand(2).isImm() &&
    5086           6 :         MI->getOperand(2).getImm() == 7 &&
    5087             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5088             :       // (TICCrr IntRegs:$rs1, IntRegs:$rs2, 7)
    5089             :       AsmString = "tvs %icc, $\x01 + $\x02";
    5090             :       break;
    5091             :     }
    5092             :     return false;
    5093             :   case SP::TRAPri:
    5094          48 :     if (MI->getNumOperands() == 3 &&
    5095          76 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5096         104 :         MI->getOperand(2).isImm() &&
    5097          28 :         MI->getOperand(2).getImm() == 8) {
    5098             :       // (TRAPri G0, i32imm:$imm, 8)
    5099             :       AsmString = "ta $\x02";
    5100             :       break;
    5101             :     }
    5102          39 :     if (MI->getNumOperands() == 3 &&
    5103          78 :         MI->getOperand(0).isReg() &&
    5104          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5105         117 :         MI->getOperand(2).isImm() &&
    5106          39 :         MI->getOperand(2).getImm() == 8) {
    5107             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 8)
    5108             :       AsmString = "ta $\x01 + $\x02";
    5109             :       break;
    5110             :     }
    5111          37 :     if (MI->getNumOperands() == 3 &&
    5112          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5113          75 :         MI->getOperand(2).isImm() &&
    5114          19 :         MI->getOperand(2).getImm() == 0) {
    5115             :       // (TRAPri G0, i32imm:$imm, 0)
    5116             :       AsmString = "tn $\x02";
    5117             :       break;
    5118             :     }
    5119          36 :     if (MI->getNumOperands() == 3 &&
    5120          72 :         MI->getOperand(0).isReg() &&
    5121          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5122         108 :         MI->getOperand(2).isImm() &&
    5123          36 :         MI->getOperand(2).getImm() == 0) {
    5124             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 0)
    5125             :       AsmString = "tn $\x01 + $\x02";
    5126             :       break;
    5127             :     }
    5128          35 :     if (MI->getNumOperands() == 3 &&
    5129          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5130          71 :         MI->getOperand(2).isImm() &&
    5131          18 :         MI->getOperand(2).getImm() == 9) {
    5132             :       // (TRAPri G0, i32imm:$imm, 9)
    5133             :       AsmString = "tne $\x02";
    5134             :       break;
    5135             :     }
    5136          33 :     if (MI->getNumOperands() == 3 &&
    5137          66 :         MI->getOperand(0).isReg() &&
    5138          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5139          99 :         MI->getOperand(2).isImm() &&
    5140          33 :         MI->getOperand(2).getImm() == 9) {
    5141             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 9)
    5142             :       AsmString = "tne $\x01 + $\x02";
    5143             :       break;
    5144             :     }
    5145          32 :     if (MI->getNumOperands() == 3 &&
    5146          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5147          64 :         MI->getOperand(2).isImm() &&
    5148          16 :         MI->getOperand(2).getImm() == 1) {
    5149             :       // (TRAPri G0, i32imm:$imm, 1)
    5150             :       AsmString = "te $\x02";
    5151             :       break;
    5152             :     }
    5153          31 :     if (MI->getNumOperands() == 3 &&
    5154          62 :         MI->getOperand(0).isReg() &&
    5155          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5156          93 :         MI->getOperand(2).isImm() &&
    5157          31 :         MI->getOperand(2).getImm() == 1) {
    5158             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 1)
    5159             :       AsmString = "te $\x01 + $\x02";
    5160             :       break;
    5161             :     }
    5162          30 :     if (MI->getNumOperands() == 3 &&
    5163          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5164          60 :         MI->getOperand(2).isImm() &&
    5165          15 :         MI->getOperand(2).getImm() == 10) {
    5166             :       // (TRAPri G0, i32imm:$imm, 10)
    5167             :       AsmString = "tg $\x02";
    5168             :       break;
    5169             :     }
    5170          29 :     if (MI->getNumOperands() == 3 &&
    5171          58 :         MI->getOperand(0).isReg() &&
    5172          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5173          87 :         MI->getOperand(2).isImm() &&
    5174          29 :         MI->getOperand(2).getImm() == 10) {
    5175             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 10)
    5176             :       AsmString = "tg $\x01 + $\x02";
    5177             :       break;
    5178             :     }
    5179          27 :     if (MI->getNumOperands() == 3 &&
    5180          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5181          55 :         MI->getOperand(2).isImm() &&
    5182          14 :         MI->getOperand(2).getImm() == 2) {
    5183             :       // (TRAPri G0, i32imm:$imm, 2)
    5184             :       AsmString = "tle $\x02";
    5185             :       break;
    5186             :     }
    5187          26 :     if (MI->getNumOperands() == 3 &&
    5188          52 :         MI->getOperand(0).isReg() &&
    5189          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5190          78 :         MI->getOperand(2).isImm() &&
    5191          26 :         MI->getOperand(2).getImm() == 2) {
    5192             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 2)
    5193             :       AsmString = "tle $\x01 + $\x02";
    5194             :       break;
    5195             :     }
    5196          25 :     if (MI->getNumOperands() == 3 &&
    5197          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5198          51 :         MI->getOperand(2).isImm() &&
    5199          13 :         MI->getOperand(2).getImm() == 11) {
    5200             :       // (TRAPri G0, i32imm:$imm, 11)
    5201             :       AsmString = "tge $\x02";
    5202             :       break;
    5203             :     }
    5204          23 :     if (MI->getNumOperands() == 3 &&
    5205          46 :         MI->getOperand(0).isReg() &&
    5206          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5207          69 :         MI->getOperand(2).isImm() &&
    5208          23 :         MI->getOperand(2).getImm() == 11) {
    5209             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 11)
    5210             :       AsmString = "tge $\x01 + $\x02";
    5211             :       break;
    5212             :     }
    5213          22 :     if (MI->getNumOperands() == 3 &&
    5214          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5215          44 :         MI->getOperand(2).isImm() &&
    5216          11 :         MI->getOperand(2).getImm() == 3) {
    5217             :       // (TRAPri G0, i32imm:$imm, 3)
    5218             :       AsmString = "tl $\x02";
    5219             :       break;
    5220             :     }
    5221          21 :     if (MI->getNumOperands() == 3 &&
    5222          42 :         MI->getOperand(0).isReg() &&
    5223          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5224          63 :         MI->getOperand(2).isImm() &&
    5225          21 :         MI->getOperand(2).getImm() == 3) {
    5226             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 3)
    5227             :       AsmString = "tl $\x01 + $\x02";
    5228             :       break;
    5229             :     }
    5230          20 :     if (MI->getNumOperands() == 3 &&
    5231          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5232          40 :         MI->getOperand(2).isImm() &&
    5233          10 :         MI->getOperand(2).getImm() == 12) {
    5234             :       // (TRAPri G0, i32imm:$imm, 12)
    5235             :       AsmString = "tgu $\x02";
    5236             :       break;
    5237             :     }
    5238          19 :     if (MI->getNumOperands() == 3 &&
    5239          38 :         MI->getOperand(0).isReg() &&
    5240          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5241          57 :         MI->getOperand(2).isImm() &&
    5242          19 :         MI->getOperand(2).getImm() == 12) {
    5243             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 12)
    5244             :       AsmString = "tgu $\x01 + $\x02";
    5245             :       break;
    5246             :     }
    5247          17 :     if (MI->getNumOperands() == 3 &&
    5248          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5249          35 :         MI->getOperand(2).isImm() &&
    5250           9 :         MI->getOperand(2).getImm() == 4) {
    5251             :       // (TRAPri G0, i32imm:$imm, 4)
    5252             :       AsmString = "tleu $\x02";
    5253             :       break;
    5254             :     }
    5255          16 :     if (MI->getNumOperands() == 3 &&
    5256          32 :         MI->getOperand(0).isReg() &&
    5257          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5258          48 :         MI->getOperand(2).isImm() &&
    5259          16 :         MI->getOperand(2).getImm() == 4) {
    5260             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 4)
    5261             :       AsmString = "tleu $\x01 + $\x02";
    5262             :       break;
    5263             :     }
    5264          15 :     if (MI->getNumOperands() == 3 &&
    5265          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5266          31 :         MI->getOperand(2).isImm() &&
    5267           8 :         MI->getOperand(2).getImm() == 13) {
    5268             :       // (TRAPri G0, i32imm:$imm, 13)
    5269             :       AsmString = "tcc $\x02";
    5270             :       break;
    5271             :     }
    5272          13 :     if (MI->getNumOperands() == 3 &&
    5273          26 :         MI->getOperand(0).isReg() &&
    5274          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5275          39 :         MI->getOperand(2).isImm() &&
    5276          13 :         MI->getOperand(2).getImm() == 13) {
    5277             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 13)
    5278             :       AsmString = "tcc $\x01 + $\x02";
    5279             :       break;
    5280             :     }
    5281          12 :     if (MI->getNumOperands() == 3 &&
    5282          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5283          24 :         MI->getOperand(2).isImm() &&
    5284           6 :         MI->getOperand(2).getImm() == 5) {
    5285             :       // (TRAPri G0, i32imm:$imm, 5)
    5286             :       AsmString = "tcs $\x02";
    5287             :       break;
    5288             :     }
    5289          11 :     if (MI->getNumOperands() == 3 &&
    5290          22 :         MI->getOperand(0).isReg() &&
    5291          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5292          33 :         MI->getOperand(2).isImm() &&
    5293          11 :         MI->getOperand(2).getImm() == 5) {
    5294             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 5)
    5295             :       AsmString = "tcs $\x01 + $\x02";
    5296             :       break;
    5297             :     }
    5298          10 :     if (MI->getNumOperands() == 3 &&
    5299          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5300          20 :         MI->getOperand(2).isImm() &&
    5301           5 :         MI->getOperand(2).getImm() == 14) {
    5302             :       // (TRAPri G0, i32imm:$imm, 14)
    5303             :       AsmString = "tpos $\x02";
    5304             :       break;
    5305             :     }
    5306           9 :     if (MI->getNumOperands() == 3 &&
    5307          18 :         MI->getOperand(0).isReg() &&
    5308          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5309          27 :         MI->getOperand(2).isImm() &&
    5310           9 :         MI->getOperand(2).getImm() == 14) {
    5311             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 14)
    5312             :       AsmString = "tpos $\x01 + $\x02";
    5313             :       break;
    5314             :     }
    5315           7 :     if (MI->getNumOperands() == 3 &&
    5316          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5317          15 :         MI->getOperand(2).isImm() &&
    5318           4 :         MI->getOperand(2).getImm() == 6) {
    5319             :       // (TRAPri G0, i32imm:$imm, 6)
    5320             :       AsmString = "tneg $\x02";
    5321             :       break;
    5322             :     }
    5323           6 :     if (MI->getNumOperands() == 3 &&
    5324          12 :         MI->getOperand(0).isReg() &&
    5325          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5326          18 :         MI->getOperand(2).isImm() &&
    5327           6 :         MI->getOperand(2).getImm() == 6) {
    5328             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 6)
    5329             :       AsmString = "tneg $\x01 + $\x02";
    5330             :       break;
    5331             :     }
    5332           5 :     if (MI->getNumOperands() == 3 &&
    5333           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5334          11 :         MI->getOperand(2).isImm() &&
    5335           3 :         MI->getOperand(2).getImm() == 15) {
    5336             :       // (TRAPri G0, i32imm:$imm, 15)
    5337             :       AsmString = "tvc $\x02";
    5338             :       break;
    5339             :     }
    5340           3 :     if (MI->getNumOperands() == 3 &&
    5341           6 :         MI->getOperand(0).isReg() &&
    5342           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5343           9 :         MI->getOperand(2).isImm() &&
    5344           3 :         MI->getOperand(2).getImm() == 15) {
    5345             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 15)
    5346             :       AsmString = "tvc $\x01 + $\x02";
    5347             :       break;
    5348             :     }
    5349           2 :     if (MI->getNumOperands() == 3 &&
    5350           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5351           4 :         MI->getOperand(2).isImm() &&
    5352           1 :         MI->getOperand(2).getImm() == 7) {
    5353             :       // (TRAPri G0, i32imm:$imm, 7)
    5354             :       AsmString = "tvs $\x02";
    5355             :       break;
    5356             :     }
    5357           1 :     if (MI->getNumOperands() == 3 &&
    5358           2 :         MI->getOperand(0).isReg() &&
    5359           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5360           3 :         MI->getOperand(2).isImm() &&
    5361           1 :         MI->getOperand(2).getImm() == 7) {
    5362             :       // (TRAPri IntRegs:$rs1, i32imm:$imm, 7)
    5363             :       AsmString = "tvs $\x01 + $\x02";
    5364             :       break;
    5365             :     }
    5366             :     return false;
    5367             :   case SP::TRAPrr:
    5368          44 :     if (MI->getNumOperands() == 3 &&
    5369          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5370          46 :         MI->getOperand(1).isReg() &&
    5371          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5372          90 :         MI->getOperand(2).isImm() &&
    5373          23 :         MI->getOperand(2).getImm() == 8) {
    5374             :       // (TRAPrr G0, IntRegs:$rs1, 8)
    5375             :       AsmString = "ta $\x02";
    5376             :       break;
    5377             :     }
    5378          42 :     if (MI->getNumOperands() == 3 &&
    5379          84 :         MI->getOperand(0).isReg() &&
    5380          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5381          84 :         MI->getOperand(1).isReg() &&
    5382          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5383         126 :         MI->getOperand(2).isImm() &&
    5384          42 :         MI->getOperand(2).getImm() == 8) {
    5385             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 8)
    5386             :       AsmString = "ta $\x01 + $\x02";
    5387             :       break;
    5388             :     }
    5389          40 :     if (MI->getNumOperands() == 3 &&
    5390          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5391          42 :         MI->getOperand(1).isReg() &&
    5392          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5393          82 :         MI->getOperand(2).isImm() &&
    5394          21 :         MI->getOperand(2).getImm() == 0) {
    5395             :       // (TRAPrr G0, IntRegs:$rs1, 0)
    5396             :       AsmString = "tn $\x02";
    5397             :       break;
    5398             :     }
    5399          38 :     if (MI->getNumOperands() == 3 &&
    5400          76 :         MI->getOperand(0).isReg() &&
    5401          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5402          76 :         MI->getOperand(1).isReg() &&
    5403          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5404         114 :         MI->getOperand(2).isImm() &&
    5405          38 :         MI->getOperand(2).getImm() == 0) {
    5406             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 0)
    5407             :       AsmString = "tn $\x01 + $\x02";
    5408             :       break;
    5409             :     }
    5410          37 :     if (MI->getNumOperands() == 3 &&
    5411          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5412          38 :         MI->getOperand(1).isReg() &&
    5413          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5414          75 :         MI->getOperand(2).isImm() &&
    5415          19 :         MI->getOperand(2).getImm() == 9) {
    5416             :       // (TRAPrr G0, IntRegs:$rs1, 9)
    5417             :       AsmString = "tne $\x02";
    5418             :       break;
    5419             :     }
    5420          35 :     if (MI->getNumOperands() == 3 &&
    5421          70 :         MI->getOperand(0).isReg() &&
    5422          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5423          70 :         MI->getOperand(1).isReg() &&
    5424          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5425         105 :         MI->getOperand(2).isImm() &&
    5426          35 :         MI->getOperand(2).getImm() == 9) {
    5427             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 9)
    5428             :       AsmString = "tne $\x01 + $\x02";
    5429             :       break;
    5430             :     }
    5431          34 :     if (MI->getNumOperands() == 3 &&
    5432          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5433          34 :         MI->getOperand(1).isReg() &&
    5434          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5435          68 :         MI->getOperand(2).isImm() &&
    5436          17 :         MI->getOperand(2).getImm() == 1) {
    5437             :       // (TRAPrr G0, IntRegs:$rs1, 1)
    5438             :       AsmString = "te $\x02";
    5439             :       break;
    5440             :     }
    5441          32 :     if (MI->getNumOperands() == 3 &&
    5442          64 :         MI->getOperand(0).isReg() &&
    5443          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5444          64 :         MI->getOperand(1).isReg() &&
    5445          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5446          96 :         MI->getOperand(2).isImm() &&
    5447          32 :         MI->getOperand(2).getImm() == 1) {
    5448             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 1)
    5449             :       AsmString = "te $\x01 + $\x02";
    5450             :       break;
    5451             :     }
    5452          30 :     if (MI->getNumOperands() == 3 &&
    5453          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5454          30 :         MI->getOperand(1).isReg() &&
    5455          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5456          60 :         MI->getOperand(2).isImm() &&
    5457          15 :         MI->getOperand(2).getImm() == 10) {
    5458             :       // (TRAPrr G0, IntRegs:$rs1, 10)
    5459             :       AsmString = "tg $\x02";
    5460             :       break;
    5461             :     }
    5462          29 :     if (MI->getNumOperands() == 3 &&
    5463          58 :         MI->getOperand(0).isReg() &&
    5464          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5465          58 :         MI->getOperand(1).isReg() &&
    5466          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5467          87 :         MI->getOperand(2).isImm() &&
    5468          29 :         MI->getOperand(2).getImm() == 10) {
    5469             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 10)
    5470             :       AsmString = "tg $\x01 + $\x02";
    5471             :       break;
    5472             :     }
    5473          28 :     if (MI->getNumOperands() == 3 &&
    5474          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5475          28 :         MI->getOperand(1).isReg() &&
    5476          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5477          56 :         MI->getOperand(2).isImm() &&
    5478          14 :         MI->getOperand(2).getImm() == 2) {
    5479             :       // (TRAPrr G0, IntRegs:$rs1, 2)
    5480             :       AsmString = "tle $\x02";
    5481             :       break;
    5482             :     }
    5483          26 :     if (MI->getNumOperands() == 3 &&
    5484          52 :         MI->getOperand(0).isReg() &&
    5485          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5486          52 :         MI->getOperand(1).isReg() &&
    5487          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5488          78 :         MI->getOperand(2).isImm() &&
    5489          26 :         MI->getOperand(2).getImm() == 2) {
    5490             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 2)
    5491             :       AsmString = "tle $\x01 + $\x02";
    5492             :       break;
    5493             :     }
    5494          25 :     if (MI->getNumOperands() == 3 &&
    5495          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5496          24 :         MI->getOperand(1).isReg() &&
    5497          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5498          49 :         MI->getOperand(2).isImm() &&
    5499          12 :         MI->getOperand(2).getImm() == 11) {
    5500             :       // (TRAPrr G0, IntRegs:$rs1, 11)
    5501             :       AsmString = "tge $\x02";
    5502             :       break;
    5503             :     }
    5504          24 :     if (MI->getNumOperands() == 3 &&
    5505          48 :         MI->getOperand(0).isReg() &&
    5506          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5507          48 :         MI->getOperand(1).isReg() &&
    5508          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5509          72 :         MI->getOperand(2).isImm() &&
    5510          24 :         MI->getOperand(2).getImm() == 11) {
    5511             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 11)
    5512             :       AsmString = "tge $\x01 + $\x02";
    5513             :       break;
    5514             :     }
    5515          23 :     if (MI->getNumOperands() == 3 &&
    5516          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5517          22 :         MI->getOperand(1).isReg() &&
    5518          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5519          45 :         MI->getOperand(2).isImm() &&
    5520          11 :         MI->getOperand(2).getImm() == 3) {
    5521             :       // (TRAPrr G0, IntRegs:$rs1, 3)
    5522             :       AsmString = "tl $\x02";
    5523             :       break;
    5524             :     }
    5525          22 :     if (MI->getNumOperands() == 3 &&
    5526          44 :         MI->getOperand(0).isReg() &&
    5527          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5528          44 :         MI->getOperand(1).isReg() &&
    5529          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5530          66 :         MI->getOperand(2).isImm() &&
    5531          22 :         MI->getOperand(2).getImm() == 3) {
    5532             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 3)
    5533             :       AsmString = "tl $\x01 + $\x02";
    5534             :       break;
    5535             :     }
    5536          20 :     if (MI->getNumOperands() == 3 &&
    5537          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5538          20 :         MI->getOperand(1).isReg() &&
    5539          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5540          40 :         MI->getOperand(2).isImm() &&
    5541          10 :         MI->getOperand(2).getImm() == 12) {
    5542             :       // (TRAPrr G0, IntRegs:$rs1, 12)
    5543             :       AsmString = "tgu $\x02";
    5544             :       break;
    5545             :     }
    5546          19 :     if (MI->getNumOperands() == 3 &&
    5547          38 :         MI->getOperand(0).isReg() &&
    5548          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5549          38 :         MI->getOperand(1).isReg() &&
    5550          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5551          57 :         MI->getOperand(2).isImm() &&
    5552          19 :         MI->getOperand(2).getImm() == 12) {
    5553             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 12)
    5554             :       AsmString = "tgu $\x01 + $\x02";
    5555             :       break;
    5556             :     }
    5557          18 :     if (MI->getNumOperands() == 3 &&
    5558          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5559          18 :         MI->getOperand(1).isReg() &&
    5560          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5561          36 :         MI->getOperand(2).isImm() &&
    5562           9 :         MI->getOperand(2).getImm() == 4) {
    5563             :       // (TRAPrr G0, IntRegs:$rs1, 4)
    5564             :       AsmString = "tleu $\x02";
    5565             :       break;
    5566             :     }
    5567          16 :     if (MI->getNumOperands() == 3 &&
    5568          32 :         MI->getOperand(0).isReg() &&
    5569          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5570          32 :         MI->getOperand(1).isReg() &&
    5571          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5572          48 :         MI->getOperand(2).isImm() &&
    5573          16 :         MI->getOperand(2).getImm() == 4) {
    5574             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 4)
    5575             :       AsmString = "tleu $\x01 + $\x02";
    5576             :       break;
    5577             :     }
    5578          15 :     if (MI->getNumOperands() == 3 &&
    5579          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5580          14 :         MI->getOperand(1).isReg() &&
    5581          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5582          29 :         MI->getOperand(2).isImm() &&
    5583           7 :         MI->getOperand(2).getImm() == 13) {
    5584             :       // (TRAPrr G0, IntRegs:$rs1, 13)
    5585             :       AsmString = "tcc $\x02";
    5586             :       break;
    5587             :     }
    5588          14 :     if (MI->getNumOperands() == 3 &&
    5589          28 :         MI->getOperand(0).isReg() &&
    5590          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5591          28 :         MI->getOperand(1).isReg() &&
    5592          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5593          42 :         MI->getOperand(2).isImm() &&
    5594          14 :         MI->getOperand(2).getImm() == 13) {
    5595             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 13)
    5596             :       AsmString = "tcc $\x01 + $\x02";
    5597             :       break;
    5598             :     }
    5599          13 :     if (MI->getNumOperands() == 3 &&
    5600          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5601          12 :         MI->getOperand(1).isReg() &&
    5602          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5603          25 :         MI->getOperand(2).isImm() &&
    5604           6 :         MI->getOperand(2).getImm() == 5) {
    5605             :       // (TRAPrr G0, IntRegs:$rs1, 5)
    5606             :       AsmString = "tcs $\x02";
    5607             :       break;
    5608             :     }
    5609          12 :     if (MI->getNumOperands() == 3 &&
    5610          24 :         MI->getOperand(0).isReg() &&
    5611          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5612          24 :         MI->getOperand(1).isReg() &&
    5613          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5614          36 :         MI->getOperand(2).isImm() &&
    5615          12 :         MI->getOperand(2).getImm() == 5) {
    5616             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 5)
    5617             :       AsmString = "tcs $\x01 + $\x02";
    5618             :       break;
    5619             :     }
    5620          10 :     if (MI->getNumOperands() == 3 &&
    5621          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5622          10 :         MI->getOperand(1).isReg() &&
    5623          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5624          20 :         MI->getOperand(2).isImm() &&
    5625           5 :         MI->getOperand(2).getImm() == 14) {
    5626             :       // (TRAPrr G0, IntRegs:$rs1, 14)
    5627             :       AsmString = "tpos $\x02";
    5628             :       break;
    5629             :     }
    5630           9 :     if (MI->getNumOperands() == 3 &&
    5631          18 :         MI->getOperand(0).isReg() &&
    5632          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5633          18 :         MI->getOperand(1).isReg() &&
    5634          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5635          27 :         MI->getOperand(2).isImm() &&
    5636           9 :         MI->getOperand(2).getImm() == 14) {
    5637             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 14)
    5638             :       AsmString = "tpos $\x01 + $\x02";
    5639             :       break;
    5640             :     }
    5641           8 :     if (MI->getNumOperands() == 3 &&
    5642          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5643           8 :         MI->getOperand(1).isReg() &&
    5644           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5645          16 :         MI->getOperand(2).isImm() &&
    5646           4 :         MI->getOperand(2).getImm() == 6) {
    5647             :       // (TRAPrr G0, IntRegs:$rs1, 6)
    5648             :       AsmString = "tneg $\x02";
    5649             :       break;
    5650             :     }
    5651           6 :     if (MI->getNumOperands() == 3 &&
    5652          12 :         MI->getOperand(0).isReg() &&
    5653          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5654          12 :         MI->getOperand(1).isReg() &&
    5655          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5656          18 :         MI->getOperand(2).isImm() &&
    5657           6 :         MI->getOperand(2).getImm() == 6) {
    5658             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 6)
    5659             :       AsmString = "tneg $\x01 + $\x02";
    5660             :       break;
    5661             :     }
    5662           5 :     if (MI->getNumOperands() == 3 &&
    5663           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5664           4 :         MI->getOperand(1).isReg() &&
    5665           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5666           9 :         MI->getOperand(2).isImm() &&
    5667           2 :         MI->getOperand(2).getImm() == 15) {
    5668             :       // (TRAPrr G0, IntRegs:$rs1, 15)
    5669             :       AsmString = "tvc $\x02";
    5670             :       break;
    5671             :     }
    5672           4 :     if (MI->getNumOperands() == 3 &&
    5673           8 :         MI->getOperand(0).isReg() &&
    5674           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5675           8 :         MI->getOperand(1).isReg() &&
    5676           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5677          12 :         MI->getOperand(2).isImm() &&
    5678           4 :         MI->getOperand(2).getImm() == 15) {
    5679             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 15)
    5680             :       AsmString = "tvc $\x01 + $\x02";
    5681             :       break;
    5682             :     }
    5683           3 :     if (MI->getNumOperands() == 3 &&
    5684           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5685           2 :         MI->getOperand(1).isReg() &&
    5686           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5687           5 :         MI->getOperand(2).isImm() &&
    5688           1 :         MI->getOperand(2).getImm() == 7) {
    5689             :       // (TRAPrr G0, IntRegs:$rs1, 7)
    5690             :       AsmString = "tvs $\x02";
    5691             :       break;
    5692             :     }
    5693           2 :     if (MI->getNumOperands() == 3 &&
    5694           4 :         MI->getOperand(0).isReg() &&
    5695           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5696           4 :         MI->getOperand(1).isReg() &&
    5697           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    5698           6 :         MI->getOperand(2).isImm() &&
    5699           2 :         MI->getOperand(2).getImm() == 7) {
    5700             :       // (TRAPrr IntRegs:$rs1, IntRegs:$rs2, 7)
    5701             :       AsmString = "tvs $\x01 + $\x02";
    5702             :       break;
    5703             :     }
    5704             :     return false;
    5705             :   case SP::TXCCri:
    5706          41 :     if (MI->getNumOperands() == 3 &&
    5707          62 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5708          42 :         MI->getOperand(2).isImm() &&
    5709          64 :         MI->getOperand(2).getImm() == 8 &&
    5710             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5711             :       // (TXCCri G0, i32imm:$imm, 8)
    5712             :       AsmString = "ta %xcc, $\x02";
    5713             :       break;
    5714             :     }
    5715          39 :     if (MI->getNumOperands() == 3 &&
    5716          78 :         MI->getOperand(0).isReg() &&
    5717          78 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5718          78 :         MI->getOperand(2).isImm() &&
    5719          80 :         MI->getOperand(2).getImm() == 8 &&
    5720             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5721             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 8)
    5722             :       AsmString = "ta %xcc, $\x01 + $\x02";
    5723             :       break;
    5724             :     }
    5725          37 :     if (MI->getNumOperands() == 3 &&
    5726          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5727          38 :         MI->getOperand(2).isImm() &&
    5728          57 :         MI->getOperand(2).getImm() == 0 &&
    5729             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5730             :       // (TXCCri G0, i32imm:$imm, 0)
    5731             :       AsmString = "tn %xcc, $\x02";
    5732             :       break;
    5733             :     }
    5734          36 :     if (MI->getNumOperands() == 3 &&
    5735          72 :         MI->getOperand(0).isReg() &&
    5736          72 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5737          72 :         MI->getOperand(2).isImm() &&
    5738          73 :         MI->getOperand(2).getImm() == 0 &&
    5739             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5740             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 0)
    5741             :       AsmString = "tn %xcc, $\x01 + $\x02";
    5742             :       break;
    5743             :     }
    5744          35 :     if (MI->getNumOperands() == 3 &&
    5745          53 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5746          36 :         MI->getOperand(2).isImm() &&
    5747          55 :         MI->getOperand(2).getImm() == 9 &&
    5748             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5749             :       // (TXCCri G0, i32imm:$imm, 9)
    5750             :       AsmString = "tne %xcc, $\x02";
    5751             :       break;
    5752             :     }
    5753          33 :     if (MI->getNumOperands() == 3 &&
    5754          66 :         MI->getOperand(0).isReg() &&
    5755          66 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5756          66 :         MI->getOperand(2).isImm() &&
    5757          67 :         MI->getOperand(2).getImm() == 9 &&
    5758             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5759             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 9)
    5760             :       AsmString = "tne %xcc, $\x01 + $\x02";
    5761             :       break;
    5762             :     }
    5763          32 :     if (MI->getNumOperands() == 3 &&
    5764          48 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5765          32 :         MI->getOperand(2).isImm() &&
    5766          49 :         MI->getOperand(2).getImm() == 1 &&
    5767             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5768             :       // (TXCCri G0, i32imm:$imm, 1)
    5769             :       AsmString = "te %xcc, $\x02";
    5770             :       break;
    5771             :     }
    5772          31 :     if (MI->getNumOperands() == 3 &&
    5773          62 :         MI->getOperand(0).isReg() &&
    5774          62 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5775          62 :         MI->getOperand(2).isImm() &&
    5776          63 :         MI->getOperand(2).getImm() == 1 &&
    5777             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5778             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 1)
    5779             :       AsmString = "te %xcc, $\x01 + $\x02";
    5780             :       break;
    5781             :     }
    5782          30 :     if (MI->getNumOperands() == 3 &&
    5783          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5784          30 :         MI->getOperand(2).isImm() &&
    5785          46 :         MI->getOperand(2).getImm() == 10 &&
    5786             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5787             :       // (TXCCri G0, i32imm:$imm, 10)
    5788             :       AsmString = "tg %xcc, $\x02";
    5789             :       break;
    5790             :     }
    5791          29 :     if (MI->getNumOperands() == 3 &&
    5792          58 :         MI->getOperand(0).isReg() &&
    5793          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5794          58 :         MI->getOperand(2).isImm() &&
    5795          60 :         MI->getOperand(2).getImm() == 10 &&
    5796             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5797             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 10)
    5798             :       AsmString = "tg %xcc, $\x01 + $\x02";
    5799             :       break;
    5800             :     }
    5801          27 :     if (MI->getNumOperands() == 3 &&
    5802          41 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5803          28 :         MI->getOperand(2).isImm() &&
    5804          42 :         MI->getOperand(2).getImm() == 2 &&
    5805             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5806             :       // (TXCCri G0, i32imm:$imm, 2)
    5807             :       AsmString = "tle %xcc, $\x02";
    5808             :       break;
    5809             :     }
    5810          26 :     if (MI->getNumOperands() == 3 &&
    5811          52 :         MI->getOperand(0).isReg() &&
    5812          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5813          52 :         MI->getOperand(2).isImm() &&
    5814          53 :         MI->getOperand(2).getImm() == 2 &&
    5815             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5816             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 2)
    5817             :       AsmString = "tle %xcc, $\x01 + $\x02";
    5818             :       break;
    5819             :     }
    5820          25 :     if (MI->getNumOperands() == 3 &&
    5821          38 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5822          26 :         MI->getOperand(2).isImm() &&
    5823          40 :         MI->getOperand(2).getImm() == 11 &&
    5824             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5825             :       // (TXCCri G0, i32imm:$imm, 11)
    5826             :       AsmString = "tge %xcc, $\x02";
    5827             :       break;
    5828             :     }
    5829          23 :     if (MI->getNumOperands() == 3 &&
    5830          46 :         MI->getOperand(0).isReg() &&
    5831          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5832          46 :         MI->getOperand(2).isImm() &&
    5833          47 :         MI->getOperand(2).getImm() == 11 &&
    5834             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5835             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 11)
    5836             :       AsmString = "tge %xcc, $\x01 + $\x02";
    5837             :       break;
    5838             :     }
    5839          22 :     if (MI->getNumOperands() == 3 &&
    5840          33 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5841          22 :         MI->getOperand(2).isImm() &&
    5842          34 :         MI->getOperand(2).getImm() == 3 &&
    5843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5844             :       // (TXCCri G0, i32imm:$imm, 3)
    5845             :       AsmString = "tl %xcc, $\x02";
    5846             :       break;
    5847             :     }
    5848          21 :     if (MI->getNumOperands() == 3 &&
    5849          42 :         MI->getOperand(0).isReg() &&
    5850          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5851          42 :         MI->getOperand(2).isImm() &&
    5852          43 :         MI->getOperand(2).getImm() == 3 &&
    5853             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5854             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 3)
    5855             :       AsmString = "tl %xcc, $\x01 + $\x02";
    5856             :       break;
    5857             :     }
    5858          20 :     if (MI->getNumOperands() == 3 &&
    5859          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5860          20 :         MI->getOperand(2).isImm() &&
    5861          31 :         MI->getOperand(2).getImm() == 12 &&
    5862             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5863             :       // (TXCCri G0, i32imm:$imm, 12)
    5864             :       AsmString = "tgu %xcc, $\x02";
    5865             :       break;
    5866             :     }
    5867          19 :     if (MI->getNumOperands() == 3 &&
    5868          38 :         MI->getOperand(0).isReg() &&
    5869          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5870          38 :         MI->getOperand(2).isImm() &&
    5871          40 :         MI->getOperand(2).getImm() == 12 &&
    5872             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5873             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 12)
    5874             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    5875             :       break;
    5876             :     }
    5877          17 :     if (MI->getNumOperands() == 3 &&
    5878          26 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5879          18 :         MI->getOperand(2).isImm() &&
    5880          27 :         MI->getOperand(2).getImm() == 4 &&
    5881             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5882             :       // (TXCCri G0, i32imm:$imm, 4)
    5883             :       AsmString = "tleu %xcc, $\x02";
    5884             :       break;
    5885             :     }
    5886          16 :     if (MI->getNumOperands() == 3 &&
    5887          32 :         MI->getOperand(0).isReg() &&
    5888          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5889          32 :         MI->getOperand(2).isImm() &&
    5890          33 :         MI->getOperand(2).getImm() == 4 &&
    5891             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5892             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 4)
    5893             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    5894             :       break;
    5895             :     }
    5896          15 :     if (MI->getNumOperands() == 3 &&
    5897          23 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5898          16 :         MI->getOperand(2).isImm() &&
    5899          25 :         MI->getOperand(2).getImm() == 13 &&
    5900             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5901             :       // (TXCCri G0, i32imm:$imm, 13)
    5902             :       AsmString = "tcc %xcc, $\x02";
    5903             :       break;
    5904             :     }
    5905          13 :     if (MI->getNumOperands() == 3 &&
    5906          26 :         MI->getOperand(0).isReg() &&
    5907          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5908          26 :         MI->getOperand(2).isImm() &&
    5909          27 :         MI->getOperand(2).getImm() == 13 &&
    5910             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5911             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 13)
    5912             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    5913             :       break;
    5914             :     }
    5915          12 :     if (MI->getNumOperands() == 3 &&
    5916          18 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5917          12 :         MI->getOperand(2).isImm() &&
    5918          19 :         MI->getOperand(2).getImm() == 5 &&
    5919             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5920             :       // (TXCCri G0, i32imm:$imm, 5)
    5921             :       AsmString = "tcs %xcc, $\x02";
    5922             :       break;
    5923             :     }
    5924          11 :     if (MI->getNumOperands() == 3 &&
    5925          22 :         MI->getOperand(0).isReg() &&
    5926          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5927          22 :         MI->getOperand(2).isImm() &&
    5928          23 :         MI->getOperand(2).getImm() == 5 &&
    5929             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5930             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 5)
    5931             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    5932             :       break;
    5933             :     }
    5934          10 :     if (MI->getNumOperands() == 3 &&
    5935          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5936          10 :         MI->getOperand(2).isImm() &&
    5937          16 :         MI->getOperand(2).getImm() == 14 &&
    5938             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5939             :       // (TXCCri G0, i32imm:$imm, 14)
    5940             :       AsmString = "tpos %xcc, $\x02";
    5941             :       break;
    5942             :     }
    5943           9 :     if (MI->getNumOperands() == 3 &&
    5944          18 :         MI->getOperand(0).isReg() &&
    5945          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5946          18 :         MI->getOperand(2).isImm() &&
    5947          20 :         MI->getOperand(2).getImm() == 14 &&
    5948             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5949             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 14)
    5950             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    5951             :       break;
    5952             :     }
    5953           7 :     if (MI->getNumOperands() == 3 &&
    5954          11 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5955           8 :         MI->getOperand(2).isImm() &&
    5956          12 :         MI->getOperand(2).getImm() == 6 &&
    5957             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5958             :       // (TXCCri G0, i32imm:$imm, 6)
    5959             :       AsmString = "tneg %xcc, $\x02";
    5960             :       break;
    5961             :     }
    5962           6 :     if (MI->getNumOperands() == 3 &&
    5963          12 :         MI->getOperand(0).isReg() &&
    5964          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5965          12 :         MI->getOperand(2).isImm() &&
    5966          13 :         MI->getOperand(2).getImm() == 6 &&
    5967             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5968             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 6)
    5969             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    5970             :       break;
    5971             :     }
    5972           5 :     if (MI->getNumOperands() == 3 &&
    5973           8 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5974           6 :         MI->getOperand(2).isImm() &&
    5975          10 :         MI->getOperand(2).getImm() == 15 &&
    5976             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5977             :       // (TXCCri G0, i32imm:$imm, 15)
    5978             :       AsmString = "tvc %xcc, $\x02";
    5979             :       break;
    5980             :     }
    5981           3 :     if (MI->getNumOperands() == 3 &&
    5982           6 :         MI->getOperand(0).isReg() &&
    5983           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    5984           6 :         MI->getOperand(2).isImm() &&
    5985           7 :         MI->getOperand(2).getImm() == 15 &&
    5986             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5987             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 15)
    5988             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    5989             :       break;
    5990             :     }
    5991           2 :     if (MI->getNumOperands() == 3 &&
    5992           3 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    5993           2 :         MI->getOperand(2).isImm() &&
    5994           4 :         MI->getOperand(2).getImm() == 7 &&
    5995             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    5996             :       // (TXCCri G0, i32imm:$imm, 7)
    5997             :       AsmString = "tvs %xcc, $\x02";
    5998             :       break;
    5999             :     }
    6000           1 :     if (MI->getNumOperands() == 3 &&
    6001           2 :         MI->getOperand(0).isReg() &&
    6002           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6003           2 :         MI->getOperand(2).isImm() &&
    6004           3 :         MI->getOperand(2).getImm() == 7 &&
    6005             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6006             :       // (TXCCri IntRegs:$rs1, i32imm:$imm, 7)
    6007             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6008             :       break;
    6009             :     }
    6010             :     return false;
    6011             :   case SP::TXCCrr:
    6012          44 :     if (MI->getNumOperands() == 3 &&
    6013          67 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6014          46 :         MI->getOperand(1).isReg() &&
    6015          46 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6016          46 :         MI->getOperand(2).isImm() &&
    6017          69 :         MI->getOperand(2).getImm() == 8 &&
    6018             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6019             :       // (TXCCrr G0, IntRegs:$rs2, 8)
    6020             :       AsmString = "ta %xcc, $\x02";
    6021             :       break;
    6022             :     }
    6023          42 :     if (MI->getNumOperands() == 3 &&
    6024          84 :         MI->getOperand(0).isReg() &&
    6025          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6026          84 :         MI->getOperand(1).isReg() &&
    6027          84 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6028          84 :         MI->getOperand(2).isImm() &&
    6029          86 :         MI->getOperand(2).getImm() == 8 &&
    6030             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6031             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 8)
    6032             :       AsmString = "ta %xcc, $\x01 + $\x02";
    6033             :       break;
    6034             :     }
    6035          40 :     if (MI->getNumOperands() == 3 &&
    6036          61 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6037          42 :         MI->getOperand(1).isReg() &&
    6038          42 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6039          42 :         MI->getOperand(2).isImm() &&
    6040          63 :         MI->getOperand(2).getImm() == 0 &&
    6041             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6042             :       // (TXCCrr G0, IntRegs:$rs2, 0)
    6043             :       AsmString = "tn %xcc, $\x02";
    6044             :       break;
    6045             :     }
    6046          38 :     if (MI->getNumOperands() == 3 &&
    6047          76 :         MI->getOperand(0).isReg() &&
    6048          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6049          76 :         MI->getOperand(1).isReg() &&
    6050          76 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6051          76 :         MI->getOperand(2).isImm() &&
    6052          77 :         MI->getOperand(2).getImm() == 0 &&
    6053             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6054             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 0)
    6055             :       AsmString = "tn %xcc, $\x01 + $\x02";
    6056             :       break;
    6057             :     }
    6058          37 :     if (MI->getNumOperands() == 3 &&
    6059          56 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6060          38 :         MI->getOperand(1).isReg() &&
    6061          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6062          38 :         MI->getOperand(2).isImm() &&
    6063          58 :         MI->getOperand(2).getImm() == 9 &&
    6064             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6065             :       // (TXCCrr G0, IntRegs:$rs2, 9)
    6066             :       AsmString = "tne %xcc, $\x02";
    6067             :       break;
    6068             :     }
    6069          35 :     if (MI->getNumOperands() == 3 &&
    6070          70 :         MI->getOperand(0).isReg() &&
    6071          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6072          70 :         MI->getOperand(1).isReg() &&
    6073          70 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6074          70 :         MI->getOperand(2).isImm() &&
    6075          71 :         MI->getOperand(2).getImm() == 9 &&
    6076             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6077             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 9)
    6078             :       AsmString = "tne %xcc, $\x01 + $\x02";
    6079             :       break;
    6080             :     }
    6081          34 :     if (MI->getNumOperands() == 3 &&
    6082          51 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6083          34 :         MI->getOperand(1).isReg() &&
    6084          34 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6085          34 :         MI->getOperand(2).isImm() &&
    6086          53 :         MI->getOperand(2).getImm() == 1 &&
    6087             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6088             :       // (TXCCrr G0, IntRegs:$rs2, 1)
    6089             :       AsmString = "te %xcc, $\x02";
    6090             :       break;
    6091             :     }
    6092          32 :     if (MI->getNumOperands() == 3 &&
    6093          64 :         MI->getOperand(0).isReg() &&
    6094          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6095          64 :         MI->getOperand(1).isReg() &&
    6096          64 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6097          64 :         MI->getOperand(2).isImm() &&
    6098          66 :         MI->getOperand(2).getImm() == 1 &&
    6099             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6100             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 1)
    6101             :       AsmString = "te %xcc, $\x01 + $\x02";
    6102             :       break;
    6103             :     }
    6104          30 :     if (MI->getNumOperands() == 3 &&
    6105          45 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6106          30 :         MI->getOperand(1).isReg() &&
    6107          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6108          30 :         MI->getOperand(2).isImm() &&
    6109          46 :         MI->getOperand(2).getImm() == 10 &&
    6110             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6111             :       // (TXCCrr G0, IntRegs:$rs2, 10)
    6112             :       AsmString = "tg %xcc, $\x02";
    6113             :       break;
    6114             :     }
    6115          29 :     if (MI->getNumOperands() == 3 &&
    6116          58 :         MI->getOperand(0).isReg() &&
    6117          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6118          58 :         MI->getOperand(1).isReg() &&
    6119          58 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6120          58 :         MI->getOperand(2).isImm() &&
    6121          59 :         MI->getOperand(2).getImm() == 10 &&
    6122             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6123             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 10)
    6124             :       AsmString = "tg %xcc, $\x01 + $\x02";
    6125             :       break;
    6126             :     }
    6127          28 :     if (MI->getNumOperands() == 3 &&
    6128          42 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6129          28 :         MI->getOperand(1).isReg() &&
    6130          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6131          28 :         MI->getOperand(2).isImm() &&
    6132          44 :         MI->getOperand(2).getImm() == 2 &&
    6133             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6134             :       // (TXCCrr G0, IntRegs:$rs2, 2)
    6135             :       AsmString = "tle %xcc, $\x02";
    6136             :       break;
    6137             :     }
    6138          26 :     if (MI->getNumOperands() == 3 &&
    6139          52 :         MI->getOperand(0).isReg() &&
    6140          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6141          52 :         MI->getOperand(1).isReg() &&
    6142          52 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6143          52 :         MI->getOperand(2).isImm() &&
    6144          53 :         MI->getOperand(2).getImm() == 2 &&
    6145             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6146             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 2)
    6147             :       AsmString = "tle %xcc, $\x01 + $\x02";
    6148             :       break;
    6149             :     }
    6150          25 :     if (MI->getNumOperands() == 3 &&
    6151          37 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6152          24 :         MI->getOperand(1).isReg() &&
    6153          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6154          24 :         MI->getOperand(2).isImm() &&
    6155          38 :         MI->getOperand(2).getImm() == 11 &&
    6156             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6157             :       // (TXCCrr G0, IntRegs:$rs2, 11)
    6158             :       AsmString = "tge %xcc, $\x02";
    6159             :       break;
    6160             :     }
    6161          24 :     if (MI->getNumOperands() == 3 &&
    6162          48 :         MI->getOperand(0).isReg() &&
    6163          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6164          48 :         MI->getOperand(1).isReg() &&
    6165          48 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6166          48 :         MI->getOperand(2).isImm() &&
    6167          49 :         MI->getOperand(2).getImm() == 11 &&
    6168             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6169             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 11)
    6170             :       AsmString = "tge %xcc, $\x01 + $\x02";
    6171             :       break;
    6172             :     }
    6173          23 :     if (MI->getNumOperands() == 3 &&
    6174          34 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6175          22 :         MI->getOperand(1).isReg() &&
    6176          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6177          22 :         MI->getOperand(2).isImm() &&
    6178          35 :         MI->getOperand(2).getImm() == 3 &&
    6179             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6180             :       // (TXCCrr G0, IntRegs:$rs2, 3)
    6181             :       AsmString = "tl %xcc, $\x02";
    6182             :       break;
    6183             :     }
    6184          22 :     if (MI->getNumOperands() == 3 &&
    6185          44 :         MI->getOperand(0).isReg() &&
    6186          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6187          44 :         MI->getOperand(1).isReg() &&
    6188          44 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6189          44 :         MI->getOperand(2).isImm() &&
    6190          46 :         MI->getOperand(2).getImm() == 3 &&
    6191             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6192             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 3)
    6193             :       AsmString = "tl %xcc, $\x01 + $\x02";
    6194             :       break;
    6195             :     }
    6196          20 :     if (MI->getNumOperands() == 3 &&
    6197          30 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6198          20 :         MI->getOperand(1).isReg() &&
    6199          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6200          20 :         MI->getOperand(2).isImm() &&
    6201          31 :         MI->getOperand(2).getImm() == 12 &&
    6202             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6203             :       // (TXCCrr G0, IntRegs:$rs2, 12)
    6204             :       AsmString = "tgu %xcc, $\x02";
    6205             :       break;
    6206             :     }
    6207          19 :     if (MI->getNumOperands() == 3 &&
    6208          38 :         MI->getOperand(0).isReg() &&
    6209          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6210          38 :         MI->getOperand(1).isReg() &&
    6211          38 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6212          38 :         MI->getOperand(2).isImm() &&
    6213          39 :         MI->getOperand(2).getImm() == 12 &&
    6214             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6215             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 12)
    6216             :       AsmString = "tgu %xcc, $\x01 + $\x02";
    6217             :       break;
    6218             :     }
    6219          18 :     if (MI->getNumOperands() == 3 &&
    6220          27 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6221          18 :         MI->getOperand(1).isReg() &&
    6222          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6223          18 :         MI->getOperand(2).isImm() &&
    6224          29 :         MI->getOperand(2).getImm() == 4 &&
    6225             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6226             :       // (TXCCrr G0, IntRegs:$rs2, 4)
    6227             :       AsmString = "tleu %xcc, $\x02";
    6228             :       break;
    6229             :     }
    6230          16 :     if (MI->getNumOperands() == 3 &&
    6231          32 :         MI->getOperand(0).isReg() &&
    6232          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6233          32 :         MI->getOperand(1).isReg() &&
    6234          32 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6235          32 :         MI->getOperand(2).isImm() &&
    6236          33 :         MI->getOperand(2).getImm() == 4 &&
    6237             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6238             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 4)
    6239             :       AsmString = "tleu %xcc, $\x01 + $\x02";
    6240             :       break;
    6241             :     }
    6242          15 :     if (MI->getNumOperands() == 3 &&
    6243          22 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6244          14 :         MI->getOperand(1).isReg() &&
    6245          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6246          14 :         MI->getOperand(2).isImm() &&
    6247          23 :         MI->getOperand(2).getImm() == 13 &&
    6248             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6249             :       // (TXCCrr G0, IntRegs:$rs2, 13)
    6250             :       AsmString = "tcc %xcc, $\x02";
    6251             :       break;
    6252             :     }
    6253          14 :     if (MI->getNumOperands() == 3 &&
    6254          28 :         MI->getOperand(0).isReg() &&
    6255          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6256          28 :         MI->getOperand(1).isReg() &&
    6257          28 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6258          28 :         MI->getOperand(2).isImm() &&
    6259          29 :         MI->getOperand(2).getImm() == 13 &&
    6260             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6261             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 13)
    6262             :       AsmString = "tcc %xcc, $\x01 + $\x02";
    6263             :       break;
    6264             :     }
    6265          13 :     if (MI->getNumOperands() == 3 &&
    6266          19 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6267          12 :         MI->getOperand(1).isReg() &&
    6268          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6269          12 :         MI->getOperand(2).isImm() &&
    6270          20 :         MI->getOperand(2).getImm() == 5 &&
    6271             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6272             :       // (TXCCrr G0, IntRegs:$rs2, 5)
    6273             :       AsmString = "tcs %xcc, $\x02";
    6274             :       break;
    6275             :     }
    6276          12 :     if (MI->getNumOperands() == 3 &&
    6277          24 :         MI->getOperand(0).isReg() &&
    6278          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6279          24 :         MI->getOperand(1).isReg() &&
    6280          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6281          24 :         MI->getOperand(2).isImm() &&
    6282          26 :         MI->getOperand(2).getImm() == 5 &&
    6283             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6284             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 5)
    6285             :       AsmString = "tcs %xcc, $\x01 + $\x02";
    6286             :       break;
    6287             :     }
    6288          10 :     if (MI->getNumOperands() == 3 &&
    6289          15 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6290          10 :         MI->getOperand(1).isReg() &&
    6291          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6292          10 :         MI->getOperand(2).isImm() &&
    6293          16 :         MI->getOperand(2).getImm() == 14 &&
    6294             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6295             :       // (TXCCrr G0, IntRegs:$rs2, 14)
    6296             :       AsmString = "tpos %xcc, $\x02";
    6297             :       break;
    6298             :     }
    6299           9 :     if (MI->getNumOperands() == 3 &&
    6300          18 :         MI->getOperand(0).isReg() &&
    6301          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6302          18 :         MI->getOperand(1).isReg() &&
    6303          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6304          18 :         MI->getOperand(2).isImm() &&
    6305          19 :         MI->getOperand(2).getImm() == 14 &&
    6306             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6307             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 14)
    6308             :       AsmString = "tpos %xcc, $\x01 + $\x02";
    6309             :       break;
    6310             :     }
    6311           8 :     if (MI->getNumOperands() == 3 &&
    6312          12 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6313           8 :         MI->getOperand(1).isReg() &&
    6314           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6315           8 :         MI->getOperand(2).isImm() &&
    6316          14 :         MI->getOperand(2).getImm() == 6 &&
    6317             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6318             :       // (TXCCrr G0, IntRegs:$rs2, 6)
    6319             :       AsmString = "tneg %xcc, $\x02";
    6320             :       break;
    6321             :     }
    6322           6 :     if (MI->getNumOperands() == 3 &&
    6323          12 :         MI->getOperand(0).isReg() &&
    6324          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6325          12 :         MI->getOperand(1).isReg() &&
    6326          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6327          12 :         MI->getOperand(2).isImm() &&
    6328          13 :         MI->getOperand(2).getImm() == 6 &&
    6329             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6330             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 6)
    6331             :       AsmString = "tneg %xcc, $\x01 + $\x02";
    6332             :       break;
    6333             :     }
    6334           5 :     if (MI->getNumOperands() == 3 &&
    6335           7 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6336           4 :         MI->getOperand(1).isReg() &&
    6337           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6338           4 :         MI->getOperand(2).isImm() &&
    6339           8 :         MI->getOperand(2).getImm() == 15 &&
    6340             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6341             :       // (TXCCrr G0, IntRegs:$rs2, 15)
    6342             :       AsmString = "tvc %xcc, $\x02";
    6343             :       break;
    6344             :     }
    6345           4 :     if (MI->getNumOperands() == 3 &&
    6346           8 :         MI->getOperand(0).isReg() &&
    6347           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6348           8 :         MI->getOperand(1).isReg() &&
    6349           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6350           8 :         MI->getOperand(2).isImm() &&
    6351           9 :         MI->getOperand(2).getImm() == 15 &&
    6352             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6353             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 15)
    6354             :       AsmString = "tvc %xcc, $\x01 + $\x02";
    6355             :       break;
    6356             :     }
    6357           3 :     if (MI->getNumOperands() == 3 &&
    6358           4 :         MI->getOperand(0).getReg() == Sparc::G0 &&
    6359           2 :         MI->getOperand(1).isReg() &&
    6360           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6361           2 :         MI->getOperand(2).isImm() &&
    6362           5 :         MI->getOperand(2).getImm() == 7 &&
    6363             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6364             :       // (TXCCrr G0, IntRegs:$rs2, 7)
    6365             :       AsmString = "tvs %xcc, $\x02";
    6366             :       break;
    6367             :     }
    6368           2 :     if (MI->getNumOperands() == 3 &&
    6369           4 :         MI->getOperand(0).isReg() &&
    6370           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6371           4 :         MI->getOperand(1).isReg() &&
    6372           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6373           4 :         MI->getOperand(2).isImm() &&
    6374           6 :         MI->getOperand(2).getImm() == 7 &&
    6375             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6376             :       // (TXCCrr IntRegs:$rs1, IntRegs:$rs2, 7)
    6377             :       AsmString = "tvs %xcc, $\x01 + $\x02";
    6378             :       break;
    6379             :     }
    6380             :     return false;
    6381             :   case SP::V9FCMPD:
    6382           4 :     if (MI->getNumOperands() == 3 &&
    6383           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6384           6 :         MI->getOperand(1).isReg() &&
    6385           6 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6386          10 :         MI->getOperand(2).isReg() &&
    6387           3 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6388             :       // (V9FCMPD FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6389             :       AsmString = "fcmpd $\x02, $\x03";
    6390             :       break;
    6391             :     }
    6392             :     return false;
    6393             :   case SP::V9FCMPED:
    6394           3 :     if (MI->getNumOperands() == 3 &&
    6395           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6396           4 :         MI->getOperand(1).isReg() &&
    6397           4 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6398           7 :         MI->getOperand(2).isReg() &&
    6399           2 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6400             :       // (V9FCMPED FCC0, DFPRegs:$rs1, DFPRegs:$rs2)
    6401             :       AsmString = "fcmped $\x02, $\x03";
    6402             :       break;
    6403             :     }
    6404             :     return false;
    6405             :   case SP::V9FCMPEQ:
    6406           3 :     if (MI->getNumOperands() == 3 &&
    6407           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6408           4 :         MI->getOperand(1).isReg() &&
    6409           4 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6410           7 :         MI->getOperand(2).isReg() &&
    6411           2 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6412             :       // (V9FCMPEQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6413             :       AsmString = "fcmpeq $\x02, $\x03";
    6414             :       break;
    6415             :     }
    6416             :     return false;
    6417             :   case SP::V9FCMPES:
    6418           3 :     if (MI->getNumOperands() == 3 &&
    6419           5 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6420           4 :         MI->getOperand(1).isReg() &&
    6421           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6422           7 :         MI->getOperand(2).isReg() &&
    6423           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6424             :       // (V9FCMPES FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6425             :       AsmString = "fcmpes $\x02, $\x03";
    6426             :       break;
    6427             :     }
    6428             :     return false;
    6429             :   case SP::V9FCMPQ:
    6430           4 :     if (MI->getNumOperands() == 3 &&
    6431           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6432           6 :         MI->getOperand(1).isReg() &&
    6433           6 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6434          10 :         MI->getOperand(2).isReg() &&
    6435           3 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6436             :       // (V9FCMPQ FCC0, QFPRegs:$rs1, QFPRegs:$rs2)
    6437             :       AsmString = "fcmpq $\x02, $\x03";
    6438             :       break;
    6439             :     }
    6440             :     return false;
    6441             :   case SP::V9FCMPS:
    6442           4 :     if (MI->getNumOperands() == 3 &&
    6443           7 :         MI->getOperand(0).getReg() == Sparc::FCC0 &&
    6444           6 :         MI->getOperand(1).isReg() &&
    6445           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6446          10 :         MI->getOperand(2).isReg() &&
    6447           3 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg())) {
    6448             :       // (V9FCMPS FCC0, FPRegs:$rs1, FPRegs:$rs2)
    6449             :       AsmString = "fcmps $\x02, $\x03";
    6450             :       break;
    6451             :     }
    6452             :     return false;
    6453             :   case SP::V9FMOVD_FCC:
    6454           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6462           0 :         MI->getOperand(4).getImm() == 8 &&
    6463             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6464             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 8)
    6465             :       AsmString = "fmovda $\x02, $\x03, $\x01";
    6466             :       break;
    6467             :     }
    6468           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6476           0 :         MI->getOperand(4).getImm() == 0 &&
    6477             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6478             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 0)
    6479             :       AsmString = "fmovdn $\x02, $\x03, $\x01";
    6480             :       break;
    6481             :     }
    6482           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6490           0 :         MI->getOperand(4).getImm() == 7 &&
    6491             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6492             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 7)
    6493             :       AsmString = "fmovdu $\x02, $\x03, $\x01";
    6494             :       break;
    6495             :     }
    6496           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6504           0 :         MI->getOperand(4).getImm() == 6 &&
    6505             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6506             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 6)
    6507             :       AsmString = "fmovdg $\x02, $\x03, $\x01";
    6508             :       break;
    6509             :     }
    6510           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6518           0 :         MI->getOperand(4).getImm() == 5 &&
    6519             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6520             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 5)
    6521             :       AsmString = "fmovdug $\x02, $\x03, $\x01";
    6522             :       break;
    6523             :     }
    6524           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6532           0 :         MI->getOperand(4).getImm() == 4 &&
    6533             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6534             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 4)
    6535             :       AsmString = "fmovdl $\x02, $\x03, $\x01";
    6536             :       break;
    6537             :     }
    6538           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6546           0 :         MI->getOperand(4).getImm() == 3 &&
    6547             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6548             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 3)
    6549             :       AsmString = "fmovdul $\x02, $\x03, $\x01";
    6550             :       break;
    6551             :     }
    6552           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6560           0 :         MI->getOperand(4).getImm() == 2 &&
    6561             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6562             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 2)
    6563             :       AsmString = "fmovdlg $\x02, $\x03, $\x01";
    6564             :       break;
    6565             :     }
    6566           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6574           0 :         MI->getOperand(4).getImm() == 1 &&
    6575             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6576             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 1)
    6577             :       AsmString = "fmovdne $\x02, $\x03, $\x01";
    6578             :       break;
    6579             :     }
    6580           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6588           0 :         MI->getOperand(4).getImm() == 9 &&
    6589             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6590             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 9)
    6591             :       AsmString = "fmovde $\x02, $\x03, $\x01";
    6592             :       break;
    6593             :     }
    6594           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6602           0 :         MI->getOperand(4).getImm() == 10 &&
    6603             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6604             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 10)
    6605             :       AsmString = "fmovdue $\x02, $\x03, $\x01";
    6606             :       break;
    6607             :     }
    6608           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6616           0 :         MI->getOperand(4).getImm() == 11 &&
    6617             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6618             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 11)
    6619             :       AsmString = "fmovdge $\x02, $\x03, $\x01";
    6620             :       break;
    6621             :     }
    6622           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6630           0 :         MI->getOperand(4).getImm() == 12 &&
    6631             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6632             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 12)
    6633             :       AsmString = "fmovduge $\x02, $\x03, $\x01";
    6634             :       break;
    6635             :     }
    6636           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6644           0 :         MI->getOperand(4).getImm() == 13 &&
    6645             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6646             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 13)
    6647             :       AsmString = "fmovdle $\x02, $\x03, $\x01";
    6648             :       break;
    6649             :     }
    6650           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6658           0 :         MI->getOperand(4).getImm() == 14 &&
    6659             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6660             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 14)
    6661             :       AsmString = "fmovdule $\x02, $\x03, $\x01";
    6662             :       break;
    6663             :     }
    6664           0 :     if (MI->getNumOperands() == 5 &&
    6665           0 :         MI->getOperand(0).isReg() &&
    6666           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6667           0 :         MI->getOperand(1).isReg() &&
    6668           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6669           0 :         MI->getOperand(2).isReg() &&
    6670           0 :         MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6671           0 :         MI->getOperand(4).isImm() &&
    6672           0 :         MI->getOperand(4).getImm() == 15 &&
    6673             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6674             :       // (V9FMOVD_FCC DFPRegs:$rd, FCCRegs:$cc, DFPRegs:$rs2, 15)
    6675             :       AsmString = "fmovdo $\x02, $\x03, $\x01";
    6676             :       break;
    6677             :     }
    6678             :     return false;
    6679             :   case SP::V9FMOVQ_FCC:
    6680           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6688           0 :         MI->getOperand(4).getImm() == 8 &&
    6689             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6690             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 8)
    6691             :       AsmString = "fmovqa $\x02, $\x03, $\x01";
    6692             :       break;
    6693             :     }
    6694           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6702           0 :         MI->getOperand(4).getImm() == 0 &&
    6703             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6704             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 0)
    6705             :       AsmString = "fmovqn $\x02, $\x03, $\x01";
    6706             :       break;
    6707             :     }
    6708           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6716           0 :         MI->getOperand(4).getImm() == 7 &&
    6717             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6718             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 7)
    6719             :       AsmString = "fmovqu $\x02, $\x03, $\x01";
    6720             :       break;
    6721             :     }
    6722           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6730           0 :         MI->getOperand(4).getImm() == 6 &&
    6731             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6732             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 6)
    6733             :       AsmString = "fmovqg $\x02, $\x03, $\x01";
    6734             :       break;
    6735             :     }
    6736           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6744           0 :         MI->getOperand(4).getImm() == 5 &&
    6745             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6746             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 5)
    6747             :       AsmString = "fmovqug $\x02, $\x03, $\x01";
    6748             :       break;
    6749             :     }
    6750           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6758           0 :         MI->getOperand(4).getImm() == 4 &&
    6759             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6760             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 4)
    6761             :       AsmString = "fmovql $\x02, $\x03, $\x01";
    6762             :       break;
    6763             :     }
    6764           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6772           0 :         MI->getOperand(4).getImm() == 3 &&
    6773             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6774             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 3)
    6775             :       AsmString = "fmovqul $\x02, $\x03, $\x01";
    6776             :       break;
    6777             :     }
    6778           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6786           0 :         MI->getOperand(4).getImm() == 2 &&
    6787             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6788             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 2)
    6789             :       AsmString = "fmovqlg $\x02, $\x03, $\x01";
    6790             :       break;
    6791             :     }
    6792           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6800           0 :         MI->getOperand(4).getImm() == 1 &&
    6801             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6802             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 1)
    6803             :       AsmString = "fmovqne $\x02, $\x03, $\x01";
    6804             :       break;
    6805             :     }
    6806           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6814           0 :         MI->getOperand(4).getImm() == 9 &&
    6815             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6816             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 9)
    6817             :       AsmString = "fmovqe $\x02, $\x03, $\x01";
    6818             :       break;
    6819             :     }
    6820           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6828           0 :         MI->getOperand(4).getImm() == 10 &&
    6829             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6830             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 10)
    6831             :       AsmString = "fmovque $\x02, $\x03, $\x01";
    6832             :       break;
    6833             :     }
    6834           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6842           0 :         MI->getOperand(4).getImm() == 11 &&
    6843             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6844             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 11)
    6845             :       AsmString = "fmovqge $\x02, $\x03, $\x01";
    6846             :       break;
    6847             :     }
    6848           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6856           0 :         MI->getOperand(4).getImm() == 12 &&
    6857             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6858             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 12)
    6859             :       AsmString = "fmovquge $\x02, $\x03, $\x01";
    6860             :       break;
    6861             :     }
    6862           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6870           0 :         MI->getOperand(4).getImm() == 13 &&
    6871             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6872             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 13)
    6873             :       AsmString = "fmovqle $\x02, $\x03, $\x01";
    6874             :       break;
    6875             :     }
    6876           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    6884           0 :         MI->getOperand(4).getImm() == 14 &&
    6885             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6886             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 14)
    6887             :       AsmString = "fmovqule $\x02, $\x03, $\x01";
    6888             :       break;
    6889             :     }
    6890           0 :     if (MI->getNumOperands() == 5 &&
    6891           0 :         MI->getOperand(0).isReg() &&
    6892           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6893           0 :         MI->getOperand(1).isReg() &&
    6894           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6895           0 :         MI->getOperand(2).isReg() &&
    6896           0 :         MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6897           0 :         MI->getOperand(4).isImm() &&
    6898           0 :         MI->getOperand(4).getImm() == 15 &&
    6899             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6900             :       // (V9FMOVQ_FCC QFPRegs:$rd, FCCRegs:$cc, QFPRegs:$rs2, 15)
    6901             :       AsmString = "fmovqo $\x02, $\x03, $\x01";
    6902             :       break;
    6903             :     }
    6904             :     return false;
    6905             :   case SP::V9FMOVS_FCC:
    6906          15 :     if (MI->getNumOperands() == 5 &&
    6907          30 :         MI->getOperand(0).isReg() &&
    6908          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6909          30 :         MI->getOperand(1).isReg() &&
    6910          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6911          30 :         MI->getOperand(2).isReg() &&
    6912          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6913          30 :         MI->getOperand(4).isImm() &&
    6914          30 :         MI->getOperand(4).getImm() == 8 &&
    6915             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6916             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 8)
    6917             :       AsmString = "fmovsa $\x02, $\x03, $\x01";
    6918             :       break;
    6919             :     }
    6920          15 :     if (MI->getNumOperands() == 5 &&
    6921          30 :         MI->getOperand(0).isReg() &&
    6922          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6923          30 :         MI->getOperand(1).isReg() &&
    6924          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6925          30 :         MI->getOperand(2).isReg() &&
    6926          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6927          30 :         MI->getOperand(4).isImm() &&
    6928          30 :         MI->getOperand(4).getImm() == 0 &&
    6929             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6930             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 0)
    6931             :       AsmString = "fmovsn $\x02, $\x03, $\x01";
    6932             :       break;
    6933             :     }
    6934          15 :     if (MI->getNumOperands() == 5 &&
    6935          30 :         MI->getOperand(0).isReg() &&
    6936          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6937          30 :         MI->getOperand(1).isReg() &&
    6938          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6939          30 :         MI->getOperand(2).isReg() &&
    6940          30 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6941          30 :         MI->getOperand(4).isImm() &&
    6942          31 :         MI->getOperand(4).getImm() == 7 &&
    6943             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6944             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 7)
    6945             :       AsmString = "fmovsu $\x02, $\x03, $\x01";
    6946             :       break;
    6947             :     }
    6948          14 :     if (MI->getNumOperands() == 5 &&
    6949          28 :         MI->getOperand(0).isReg() &&
    6950          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6951          28 :         MI->getOperand(1).isReg() &&
    6952          28 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6953          28 :         MI->getOperand(2).isReg() &&
    6954          28 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6955          28 :         MI->getOperand(4).isImm() &&
    6956          30 :         MI->getOperand(4).getImm() == 6 &&
    6957             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6958             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 6)
    6959             :       AsmString = "fmovsg $\x02, $\x03, $\x01";
    6960             :       break;
    6961             :     }
    6962          12 :     if (MI->getNumOperands() == 5 &&
    6963          24 :         MI->getOperand(0).isReg() &&
    6964          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6965          24 :         MI->getOperand(1).isReg() &&
    6966          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6967          24 :         MI->getOperand(2).isReg() &&
    6968          24 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6969          24 :         MI->getOperand(4).isImm() &&
    6970          25 :         MI->getOperand(4).getImm() == 5 &&
    6971             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6972             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 5)
    6973             :       AsmString = "fmovsug $\x02, $\x03, $\x01";
    6974             :       break;
    6975             :     }
    6976          11 :     if (MI->getNumOperands() == 5 &&
    6977          22 :         MI->getOperand(0).isReg() &&
    6978          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6979          22 :         MI->getOperand(1).isReg() &&
    6980          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6981          22 :         MI->getOperand(2).isReg() &&
    6982          22 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6983          22 :         MI->getOperand(4).isImm() &&
    6984          23 :         MI->getOperand(4).getImm() == 4 &&
    6985             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    6986             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 4)
    6987             :       AsmString = "fmovsl $\x02, $\x03, $\x01";
    6988             :       break;
    6989             :     }
    6990          10 :     if (MI->getNumOperands() == 5 &&
    6991          20 :         MI->getOperand(0).isReg() &&
    6992          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    6993          20 :         MI->getOperand(1).isReg() &&
    6994          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    6995          20 :         MI->getOperand(2).isReg() &&
    6996          20 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    6997          20 :         MI->getOperand(4).isImm() &&
    6998          21 :         MI->getOperand(4).getImm() == 3 &&
    6999             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7000             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 3)
    7001             :       AsmString = "fmovsul $\x02, $\x03, $\x01";
    7002             :       break;
    7003             :     }
    7004           9 :     if (MI->getNumOperands() == 5 &&
    7005          18 :         MI->getOperand(0).isReg() &&
    7006          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7007          18 :         MI->getOperand(1).isReg() &&
    7008          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7009          18 :         MI->getOperand(2).isReg() &&
    7010          18 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7011          18 :         MI->getOperand(4).isImm() &&
    7012          19 :         MI->getOperand(4).getImm() == 2 &&
    7013             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7014             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 2)
    7015             :       AsmString = "fmovslg $\x02, $\x03, $\x01";
    7016             :       break;
    7017             :     }
    7018           8 :     if (MI->getNumOperands() == 5 &&
    7019          16 :         MI->getOperand(0).isReg() &&
    7020          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7021          16 :         MI->getOperand(1).isReg() &&
    7022          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7023          16 :         MI->getOperand(2).isReg() &&
    7024          16 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7025          16 :         MI->getOperand(4).isImm() &&
    7026          17 :         MI->getOperand(4).getImm() == 1 &&
    7027             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7028             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 1)
    7029             :       AsmString = "fmovsne $\x02, $\x03, $\x01";
    7030             :       break;
    7031             :     }
    7032           7 :     if (MI->getNumOperands() == 5 &&
    7033          14 :         MI->getOperand(0).isReg() &&
    7034          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7035          14 :         MI->getOperand(1).isReg() &&
    7036          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7037          14 :         MI->getOperand(2).isReg() &&
    7038          14 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7039          14 :         MI->getOperand(4).isImm() &&
    7040          15 :         MI->getOperand(4).getImm() == 9 &&
    7041             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7042             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 9)
    7043             :       AsmString = "fmovse $\x02, $\x03, $\x01";
    7044             :       break;
    7045             :     }
    7046           6 :     if (MI->getNumOperands() == 5 &&
    7047          12 :         MI->getOperand(0).isReg() &&
    7048          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7049          12 :         MI->getOperand(1).isReg() &&
    7050          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7051          12 :         MI->getOperand(2).isReg() &&
    7052          12 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7053          12 :         MI->getOperand(4).isImm() &&
    7054          13 :         MI->getOperand(4).getImm() == 10 &&
    7055             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7056             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 10)
    7057             :       AsmString = "fmovsue $\x02, $\x03, $\x01";
    7058             :       break;
    7059             :     }
    7060           5 :     if (MI->getNumOperands() == 5 &&
    7061          10 :         MI->getOperand(0).isReg() &&
    7062          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7063          10 :         MI->getOperand(1).isReg() &&
    7064          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7065          10 :         MI->getOperand(2).isReg() &&
    7066          10 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7067          10 :         MI->getOperand(4).isImm() &&
    7068          11 :         MI->getOperand(4).getImm() == 11 &&
    7069             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7070             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 11)
    7071             :       AsmString = "fmovsge $\x02, $\x03, $\x01";
    7072             :       break;
    7073             :     }
    7074           4 :     if (MI->getNumOperands() == 5 &&
    7075           8 :         MI->getOperand(0).isReg() &&
    7076           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7077           8 :         MI->getOperand(1).isReg() &&
    7078           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7079           8 :         MI->getOperand(2).isReg() &&
    7080           8 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7081           8 :         MI->getOperand(4).isImm() &&
    7082           9 :         MI->getOperand(4).getImm() == 12 &&
    7083             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7084             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 12)
    7085             :       AsmString = "fmovsuge $\x02, $\x03, $\x01";
    7086             :       break;
    7087             :     }
    7088           3 :     if (MI->getNumOperands() == 5 &&
    7089           6 :         MI->getOperand(0).isReg() &&
    7090           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7091           6 :         MI->getOperand(1).isReg() &&
    7092           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7093           6 :         MI->getOperand(2).isReg() &&
    7094           6 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7095           6 :         MI->getOperand(4).isImm() &&
    7096           7 :         MI->getOperand(4).getImm() == 13 &&
    7097             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7098             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 13)
    7099             :       AsmString = "fmovsle $\x02, $\x03, $\x01";
    7100             :       break;
    7101             :     }
    7102           2 :     if (MI->getNumOperands() == 5 &&
    7103           4 :         MI->getOperand(0).isReg() &&
    7104           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7105           4 :         MI->getOperand(1).isReg() &&
    7106           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7107           4 :         MI->getOperand(2).isReg() &&
    7108           4 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7109           4 :         MI->getOperand(4).isImm() &&
    7110           5 :         MI->getOperand(4).getImm() == 14 &&
    7111             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7112             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 14)
    7113             :       AsmString = "fmovsule $\x02, $\x03, $\x01";
    7114             :       break;
    7115             :     }
    7116           1 :     if (MI->getNumOperands() == 5 &&
    7117           2 :         MI->getOperand(0).isReg() &&
    7118           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7119           2 :         MI->getOperand(1).isReg() &&
    7120           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7121           2 :         MI->getOperand(2).isReg() &&
    7122           2 :         MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7123           2 :         MI->getOperand(4).isImm() &&
    7124           3 :         MI->getOperand(4).getImm() == 15 &&
    7125             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7126             :       // (V9FMOVS_FCC FPRegs:$rd, FCCRegs:$cc, FPRegs:$rs2, 15)
    7127             :       AsmString = "fmovso $\x02, $\x03, $\x01";
    7128             :       break;
    7129             :     }
    7130             :     return false;
    7131             :   case SP::V9MOVFCCri:
    7132           0 :     if (MI->getNumOperands() == 5 &&
    7133           0 :         MI->getOperand(0).isReg() &&
    7134           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7135           0 :         MI->getOperand(1).isReg() &&
    7136           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7137           0 :         MI->getOperand(4).isImm() &&
    7138           0 :         MI->getOperand(4).getImm() == 8 &&
    7139             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7140             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 8)
    7141             :       AsmString = "mova $\x02, $\x03, $\x01";
    7142             :       break;
    7143             :     }
    7144           0 :     if (MI->getNumOperands() == 5 &&
    7145           0 :         MI->getOperand(0).isReg() &&
    7146           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7147           0 :         MI->getOperand(1).isReg() &&
    7148           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7149           0 :         MI->getOperand(4).isImm() &&
    7150           0 :         MI->getOperand(4).getImm() == 0 &&
    7151             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7152             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 0)
    7153             :       AsmString = "movn $\x02, $\x03, $\x01";
    7154             :       break;
    7155             :     }
    7156           0 :     if (MI->getNumOperands() == 5 &&
    7157           0 :         MI->getOperand(0).isReg() &&
    7158           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7159           0 :         MI->getOperand(1).isReg() &&
    7160           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7161           0 :         MI->getOperand(4).isImm() &&
    7162           0 :         MI->getOperand(4).getImm() == 7 &&
    7163             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7164             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 7)
    7165             :       AsmString = "movu $\x02, $\x03, $\x01";
    7166             :       break;
    7167             :     }
    7168           0 :     if (MI->getNumOperands() == 5 &&
    7169           0 :         MI->getOperand(0).isReg() &&
    7170           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7171           0 :         MI->getOperand(1).isReg() &&
    7172           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7173           0 :         MI->getOperand(4).isImm() &&
    7174           0 :         MI->getOperand(4).getImm() == 6 &&
    7175             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7176             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 6)
    7177             :       AsmString = "movg $\x02, $\x03, $\x01";
    7178             :       break;
    7179             :     }
    7180           0 :     if (MI->getNumOperands() == 5 &&
    7181           0 :         MI->getOperand(0).isReg() &&
    7182           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7183           0 :         MI->getOperand(1).isReg() &&
    7184           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7185           0 :         MI->getOperand(4).isImm() &&
    7186           0 :         MI->getOperand(4).getImm() == 5 &&
    7187             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7188             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 5)
    7189             :       AsmString = "movug $\x02, $\x03, $\x01";
    7190             :       break;
    7191             :     }
    7192           0 :     if (MI->getNumOperands() == 5 &&
    7193           0 :         MI->getOperand(0).isReg() &&
    7194           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7195           0 :         MI->getOperand(1).isReg() &&
    7196           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7197           0 :         MI->getOperand(4).isImm() &&
    7198           0 :         MI->getOperand(4).getImm() == 4 &&
    7199             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7200             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 4)
    7201             :       AsmString = "movl $\x02, $\x03, $\x01";
    7202             :       break;
    7203             :     }
    7204           0 :     if (MI->getNumOperands() == 5 &&
    7205           0 :         MI->getOperand(0).isReg() &&
    7206           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7207           0 :         MI->getOperand(1).isReg() &&
    7208           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7209           0 :         MI->getOperand(4).isImm() &&
    7210           0 :         MI->getOperand(4).getImm() == 3 &&
    7211             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7212             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 3)
    7213             :       AsmString = "movul $\x02, $\x03, $\x01";
    7214             :       break;
    7215             :     }
    7216           0 :     if (MI->getNumOperands() == 5 &&
    7217           0 :         MI->getOperand(0).isReg() &&
    7218           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7219           0 :         MI->getOperand(1).isReg() &&
    7220           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7221           0 :         MI->getOperand(4).isImm() &&
    7222           0 :         MI->getOperand(4).getImm() == 2 &&
    7223             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7224             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 2)
    7225             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7226             :       break;
    7227             :     }
    7228           0 :     if (MI->getNumOperands() == 5 &&
    7229           0 :         MI->getOperand(0).isReg() &&
    7230           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7231           0 :         MI->getOperand(1).isReg() &&
    7232           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7233           0 :         MI->getOperand(4).isImm() &&
    7234           0 :         MI->getOperand(4).getImm() == 1 &&
    7235             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7236             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 1)
    7237             :       AsmString = "movne $\x02, $\x03, $\x01";
    7238             :       break;
    7239             :     }
    7240           0 :     if (MI->getNumOperands() == 5 &&
    7241           0 :         MI->getOperand(0).isReg() &&
    7242           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7243           0 :         MI->getOperand(1).isReg() &&
    7244           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7245           0 :         MI->getOperand(4).isImm() &&
    7246           0 :         MI->getOperand(4).getImm() == 9 &&
    7247             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7248             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 9)
    7249             :       AsmString = "move $\x02, $\x03, $\x01";
    7250             :       break;
    7251             :     }
    7252           0 :     if (MI->getNumOperands() == 5 &&
    7253           0 :         MI->getOperand(0).isReg() &&
    7254           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7255           0 :         MI->getOperand(1).isReg() &&
    7256           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7257           0 :         MI->getOperand(4).isImm() &&
    7258           0 :         MI->getOperand(4).getImm() == 10 &&
    7259             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7260             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 10)
    7261             :       AsmString = "movue $\x02, $\x03, $\x01";
    7262             :       break;
    7263             :     }
    7264           0 :     if (MI->getNumOperands() == 5 &&
    7265           0 :         MI->getOperand(0).isReg() &&
    7266           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7267           0 :         MI->getOperand(1).isReg() &&
    7268           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7269           0 :         MI->getOperand(4).isImm() &&
    7270           0 :         MI->getOperand(4).getImm() == 11 &&
    7271             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7272             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 11)
    7273             :       AsmString = "movge $\x02, $\x03, $\x01";
    7274             :       break;
    7275             :     }
    7276           0 :     if (MI->getNumOperands() == 5 &&
    7277           0 :         MI->getOperand(0).isReg() &&
    7278           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7279           0 :         MI->getOperand(1).isReg() &&
    7280           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7281           0 :         MI->getOperand(4).isImm() &&
    7282           0 :         MI->getOperand(4).getImm() == 12 &&
    7283             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7284             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 12)
    7285             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7286             :       break;
    7287             :     }
    7288           0 :     if (MI->getNumOperands() == 5 &&
    7289           0 :         MI->getOperand(0).isReg() &&
    7290           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7291           0 :         MI->getOperand(1).isReg() &&
    7292           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7293           0 :         MI->getOperand(4).isImm() &&
    7294           0 :         MI->getOperand(4).getImm() == 13 &&
    7295             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7296             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 13)
    7297             :       AsmString = "movle $\x02, $\x03, $\x01";
    7298             :       break;
    7299             :     }
    7300           0 :     if (MI->getNumOperands() == 5 &&
    7301           0 :         MI->getOperand(0).isReg() &&
    7302           0 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7303           0 :         MI->getOperand(1).isReg() &&
    7304           0 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7305           0 :         MI->getOperand(4).isImm() &&
    7306           0 :         MI->getOperand(4).getImm() == 14 &&
    7307             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7308             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 14)
    7309             :       AsmString = "movule $\x02, $\x03, $\x01";
    7310             :       break;
    7311             :     }
    7312           0 :     if (MI->getNumOperands() == 5 &&
    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(4).isImm() &&
    7318           0 :         MI->getOperand(4).getImm() == 15 &&
    7319             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7320             :       // (V9MOVFCCri IntRegs:$rd, FCCRegs:$cc, i32imm:$simm11, 15)
    7321             :       AsmString = "movo $\x02, $\x03, $\x01";
    7322             :       break;
    7323             :     }
    7324             :     return false;
    7325             :   case SP::V9MOVFCCrr:
    7326          15 :     if (MI->getNumOperands() == 5 &&
    7327          30 :         MI->getOperand(0).isReg() &&
    7328          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7329          30 :         MI->getOperand(1).isReg() &&
    7330          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7331          30 :         MI->getOperand(2).isReg() &&
    7332          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7333          30 :         MI->getOperand(4).isImm() &&
    7334          30 :         MI->getOperand(4).getImm() == 8 &&
    7335             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7336             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 8)
    7337             :       AsmString = "mova $\x02, $\x03, $\x01";
    7338             :       break;
    7339             :     }
    7340          15 :     if (MI->getNumOperands() == 5 &&
    7341          30 :         MI->getOperand(0).isReg() &&
    7342          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7343          30 :         MI->getOperand(1).isReg() &&
    7344          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7345          30 :         MI->getOperand(2).isReg() &&
    7346          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7347          30 :         MI->getOperand(4).isImm() &&
    7348          30 :         MI->getOperand(4).getImm() == 0 &&
    7349             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7350             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 0)
    7351             :       AsmString = "movn $\x02, $\x03, $\x01";
    7352             :       break;
    7353             :     }
    7354          15 :     if (MI->getNumOperands() == 5 &&
    7355          30 :         MI->getOperand(0).isReg() &&
    7356          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7357          30 :         MI->getOperand(1).isReg() &&
    7358          30 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7359          30 :         MI->getOperand(2).isReg() &&
    7360          30 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7361          30 :         MI->getOperand(4).isImm() &&
    7362          32 :         MI->getOperand(4).getImm() == 7 &&
    7363             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7364             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 7)
    7365             :       AsmString = "movu $\x02, $\x03, $\x01";
    7366             :       break;
    7367             :     }
    7368          13 :     if (MI->getNumOperands() == 5 &&
    7369          26 :         MI->getOperand(0).isReg() &&
    7370          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7371          26 :         MI->getOperand(1).isReg() &&
    7372          26 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7373          26 :         MI->getOperand(2).isReg() &&
    7374          26 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7375          26 :         MI->getOperand(4).isImm() &&
    7376          27 :         MI->getOperand(4).getImm() == 6 &&
    7377             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7378             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 6)
    7379             :       AsmString = "movg $\x02, $\x03, $\x01";
    7380             :       break;
    7381             :     }
    7382          12 :     if (MI->getNumOperands() == 5 &&
    7383          24 :         MI->getOperand(0).isReg() &&
    7384          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7385          24 :         MI->getOperand(1).isReg() &&
    7386          24 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7387          24 :         MI->getOperand(2).isReg() &&
    7388          24 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7389          24 :         MI->getOperand(4).isImm() &&
    7390          25 :         MI->getOperand(4).getImm() == 5 &&
    7391             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7392             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 5)
    7393             :       AsmString = "movug $\x02, $\x03, $\x01";
    7394             :       break;
    7395             :     }
    7396          11 :     if (MI->getNumOperands() == 5 &&
    7397          22 :         MI->getOperand(0).isReg() &&
    7398          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7399          22 :         MI->getOperand(1).isReg() &&
    7400          22 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7401          22 :         MI->getOperand(2).isReg() &&
    7402          22 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7403          22 :         MI->getOperand(4).isImm() &&
    7404          23 :         MI->getOperand(4).getImm() == 4 &&
    7405             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7406             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 4)
    7407             :       AsmString = "movl $\x02, $\x03, $\x01";
    7408             :       break;
    7409             :     }
    7410          10 :     if (MI->getNumOperands() == 5 &&
    7411          20 :         MI->getOperand(0).isReg() &&
    7412          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7413          20 :         MI->getOperand(1).isReg() &&
    7414          20 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7415          20 :         MI->getOperand(2).isReg() &&
    7416          20 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7417          20 :         MI->getOperand(4).isImm() &&
    7418          21 :         MI->getOperand(4).getImm() == 3 &&
    7419             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7420             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 3)
    7421             :       AsmString = "movul $\x02, $\x03, $\x01";
    7422             :       break;
    7423             :     }
    7424           9 :     if (MI->getNumOperands() == 5 &&
    7425          18 :         MI->getOperand(0).isReg() &&
    7426          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7427          18 :         MI->getOperand(1).isReg() &&
    7428          18 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7429          18 :         MI->getOperand(2).isReg() &&
    7430          18 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7431          18 :         MI->getOperand(4).isImm() &&
    7432          19 :         MI->getOperand(4).getImm() == 2 &&
    7433             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7434             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 2)
    7435             :       AsmString = "movlg $\x02, $\x03, $\x01";
    7436             :       break;
    7437             :     }
    7438           8 :     if (MI->getNumOperands() == 5 &&
    7439          16 :         MI->getOperand(0).isReg() &&
    7440          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7441          16 :         MI->getOperand(1).isReg() &&
    7442          16 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7443          16 :         MI->getOperand(2).isReg() &&
    7444          16 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7445          16 :         MI->getOperand(4).isImm() &&
    7446          17 :         MI->getOperand(4).getImm() == 1 &&
    7447             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7448             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 1)
    7449             :       AsmString = "movne $\x02, $\x03, $\x01";
    7450             :       break;
    7451             :     }
    7452           7 :     if (MI->getNumOperands() == 5 &&
    7453          14 :         MI->getOperand(0).isReg() &&
    7454          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7455          14 :         MI->getOperand(1).isReg() &&
    7456          14 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7457          14 :         MI->getOperand(2).isReg() &&
    7458          14 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7459          14 :         MI->getOperand(4).isImm() &&
    7460          15 :         MI->getOperand(4).getImm() == 9 &&
    7461             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7462             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 9)
    7463             :       AsmString = "move $\x02, $\x03, $\x01";
    7464             :       break;
    7465             :     }
    7466           6 :     if (MI->getNumOperands() == 5 &&
    7467          12 :         MI->getOperand(0).isReg() &&
    7468          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7469          12 :         MI->getOperand(1).isReg() &&
    7470          12 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7471          12 :         MI->getOperand(2).isReg() &&
    7472          12 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7473          12 :         MI->getOperand(4).isImm() &&
    7474          13 :         MI->getOperand(4).getImm() == 10 &&
    7475             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7476             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 10)
    7477             :       AsmString = "movue $\x02, $\x03, $\x01";
    7478             :       break;
    7479             :     }
    7480           5 :     if (MI->getNumOperands() == 5 &&
    7481          10 :         MI->getOperand(0).isReg() &&
    7482          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7483          10 :         MI->getOperand(1).isReg() &&
    7484          10 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7485          10 :         MI->getOperand(2).isReg() &&
    7486          10 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7487          10 :         MI->getOperand(4).isImm() &&
    7488          11 :         MI->getOperand(4).getImm() == 11 &&
    7489             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7490             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 11)
    7491             :       AsmString = "movge $\x02, $\x03, $\x01";
    7492             :       break;
    7493             :     }
    7494           4 :     if (MI->getNumOperands() == 5 &&
    7495           8 :         MI->getOperand(0).isReg() &&
    7496           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7497           8 :         MI->getOperand(1).isReg() &&
    7498           8 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7499           8 :         MI->getOperand(2).isReg() &&
    7500           8 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7501           8 :         MI->getOperand(4).isImm() &&
    7502           9 :         MI->getOperand(4).getImm() == 12 &&
    7503             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7504             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 12)
    7505             :       AsmString = "movuge $\x02, $\x03, $\x01";
    7506             :       break;
    7507             :     }
    7508           3 :     if (MI->getNumOperands() == 5 &&
    7509           6 :         MI->getOperand(0).isReg() &&
    7510           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7511           6 :         MI->getOperand(1).isReg() &&
    7512           6 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7513           6 :         MI->getOperand(2).isReg() &&
    7514           6 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7515           6 :         MI->getOperand(4).isImm() &&
    7516           7 :         MI->getOperand(4).getImm() == 13 &&
    7517             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7518             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 13)
    7519             :       AsmString = "movle $\x02, $\x03, $\x01";
    7520             :       break;
    7521             :     }
    7522           2 :     if (MI->getNumOperands() == 5 &&
    7523           4 :         MI->getOperand(0).isReg() &&
    7524           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7525           4 :         MI->getOperand(1).isReg() &&
    7526           4 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7527           4 :         MI->getOperand(2).isReg() &&
    7528           4 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7529           4 :         MI->getOperand(4).isImm() &&
    7530           5 :         MI->getOperand(4).getImm() == 14 &&
    7531             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7532             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 14)
    7533             :       AsmString = "movule $\x02, $\x03, $\x01";
    7534             :       break;
    7535             :     }
    7536           1 :     if (MI->getNumOperands() == 5 &&
    7537           2 :         MI->getOperand(0).isReg() &&
    7538           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
    7539           2 :         MI->getOperand(1).isReg() &&
    7540           2 :         MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
    7541           2 :         MI->getOperand(2).isReg() &&
    7542           2 :         MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
    7543           2 :         MI->getOperand(4).isImm() &&
    7544           3 :         MI->getOperand(4).getImm() == 15 &&
    7545             :         STI.getFeatureBits()[Sparc::FeatureV9]) {
    7546             :       // (V9MOVFCCrr IntRegs:$rd, FCCRegs:$cc, IntRegs:$rs2, 15)
    7547             :       AsmString = "movo $\x02, $\x03, $\x01";
    7548             :       break;
    7549             :     }
    7550             :     return false;
    7551             :   }
    7552             : 
    7553             :   unsigned I = 0;
    7554       33054 :   while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
    7555       23198 :          AsmString[I] != '$' && AsmString[I] != '\0')
    7556        9856 :     ++I;
    7557        2549 :   OS << '\t' << StringRef(AsmString, I);
    7558        2549 :   if (AsmString[I] != '\0') {
    7559        1612 :     if (AsmString[I] == ' ' || AsmString[I] == '\t') {
    7560             :       OS << '\t';
    7561        1612 :       ++I;
    7562             :     }
    7563             :     do {
    7564        7393 :       if (AsmString[I] == '$') {
    7565        2858 :         ++I;
    7566        2858 :         if (AsmString[I] == (char)0xff) {
    7567           0 :           ++I;
    7568           0 :           int OpIdx = AsmString[I++] - 1;
    7569           0 :           int PrintMethodIdx = AsmString[I++] - 1;
    7570           0 :           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
    7571             :         } else
    7572        2858 :           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
    7573             :       } else {
    7574        4535 :         OS << AsmString[I++];
    7575             :       }
    7576        7393 :     } while (AsmString[I] != '\0');
    7577             :   }
    7578             : 
    7579             :   return true;
    7580             : }
    7581             : 
    7582           0 : void SparcInstPrinter::printCustomAliasOperand(
    7583             :          const MCInst *MI, unsigned OpIdx,
    7584             :          unsigned PrintMethodIdx,
    7585             :          const MCSubtargetInfo &STI,
    7586             :          raw_ostream &OS) {
    7587           0 :   llvm_unreachable("Unknown PrintMethod kind");
    7588             : }
    7589             : 
    7590             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13