LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/XCore - XCoreGenAsmWriter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 132 147 89.8 %
Date: 2018-10-20 13:21:21 Functions: 2 2 100.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        1787 : void XCoreInstPrinter::printInstruction(const MCInst *MI, raw_ostream &O) {
      12             :   static const char AsmStrs[] = {
      13             :   /* 0 */ 'l', 'd', 'a', 'p', 32, 'r', '1', '1', ',', 32, 0,
      14             :   /* 11 */ 'g', 'e', 't', 's', 'r', 32, 'r', '1', '1', ',', 32, 0,
      15             :   /* 23 */ 's', 'e', 't', 32, 'c', 'p', ',', 32, 0,
      16             :   /* 32 */ 's', 'e', 't', 32, 'd', 'p', ',', 32, 0,
      17             :   /* 41 */ 's', 'e', 't', 32, 's', 'p', ',', 32, 0,
      18             :   /* 50 */ 'c', 'r', 'c', '3', '2', 32, 0,
      19             :   /* 57 */ 'l', 'd', 'a', '1', '6', 32, 0,
      20             :   /* 64 */ 's', 't', '1', '6', 32, 0,
      21             :   /* 70 */ 'c', 'r', 'c', '8', 32, 0,
      22             :   /* 76 */ 's', 't', '8', 32, 0,
      23             :   /* 81 */ '#', 32, 'L', 'D', 'A', 'W', 'F', 'I', 32, 0,
      24             :   /* 91 */ '#', 32, 'L', 'D', 'W', 'F', 'I', 32, 0,
      25             :   /* 100 */ '#', 32, 'S', 'T', 'W', 'F', 'I', 32, 0,
      26             :   /* 109 */ '#', 32, 'E', 'H', '_', 'R', 'E', 'T', 'U', 'R', 'N', 32, 0,
      27             :   /* 122 */ '#', 32, 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
      28             :   /* 142 */ '#', 32, 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
      29             :   /* 160 */ '#', 32, 'F', 'R', 'A', 'M', 'E', '_', 'T', 'O', '_', 'A', 'R', 'G', 'S', '_', 'O', 'F', 'F', 'S', 'E', 'T', 32, 0,
      30             :   /* 184 */ 'b', 'l', 'a', 32, 0,
      31             :   /* 189 */ 'l', 's', 'u', 'b', 32, 0,
      32             :   /* 195 */ 'l', 'd', 'c', 32, 0,
      33             :   /* 200 */ 'l', 'a', 'd', 'd', 32, 0,
      34             :   /* 206 */ 'a', 'n', 'd', 32, 0,
      35             :   /* 211 */ 'g', 'e', 't', 'd', 32, 0,
      36             :   /* 217 */ 'b', 'f', 32, 0,
      37             :   /* 221 */ 'e', 'e', 'f', 32, 0,
      38             :   /* 226 */ 'w', 'a', 'i', 't', 'e', 'f', 32, 0,
      39             :   /* 234 */ 'e', 'c', 'a', 'l', 'l', 'f', 32, 0,
      40             :   /* 242 */ 'n', 'e', 'g', 32, 0,
      41             :   /* 247 */ 'd', 'g', 'e', 't', 'r', 'e', 'g', 32, 0,
      42             :   /* 256 */ 'p', 'e', 'e', 'k', 32, 0,
      43             :   /* 262 */ 'm', 'k', 'm', 's', 'k', 32, 0,
      44             :   /* 269 */ 'b', 'l', 32, 0,
      45             :   /* 273 */ 't', 'e', 's', 't', 'l', 'c', 'l', 32, 0,
      46             :   /* 282 */ 's', 'h', 'l', 32, 0,
      47             :   /* 287 */ 'k', 'c', 'a', 'l', 'l', 32, 0,
      48             :   /* 294 */ 'l', 'm', 'u', 'l', 32, 0,
      49             :   /* 300 */ 'e', 'n', 'd', 'i', 'n', 32, 0,
      50             :   /* 307 */ 'g', 'e', 't', 'n', 32, 0,
      51             :   /* 313 */ 'e', 'x', 't', 'd', 'p', 32, 0,
      52             :   /* 320 */ 'r', 'e', 't', 's', 'p', 32, 0,
      53             :   /* 327 */ 'k', 'e', 'n', 't', 's', 'p', 32, 0,
      54             :   /* 335 */ 'k', 'r', 'e', 's', 't', 's', 'p', 32, 0,
      55             :   /* 344 */ 'e', 'x', 't', 's', 'p', 32, 0,
      56             :   /* 351 */ 'e', 'q', 32, 0,
      57             :   /* 355 */ 'a', 's', 'h', 'r', 32, 0,
      58             :   /* 361 */ 'i', 'n', 's', 'h', 'r', 32, 0,
      59             :   /* 368 */ 'x', 'o', 'r', 32, 0,
      60             :   /* 373 */ 'c', 'l', 'r', 's', 'r', 32, 0,
      61             :   /* 380 */ 's', 'e', 't', 's', 'r', 32, 0,
      62             :   /* 387 */ 'g', 'e', 't', 'r', 32, 0,
      63             :   /* 393 */ 'l', 'd', '1', '6', 's', 32, 0,
      64             :   /* 400 */ 'm', 'a', 'c', 'c', 's', 32, 0,
      65             :   /* 407 */ 'r', 'e', 'm', 's', 32, 0,
      66             :   /* 413 */ 'l', 's', 's', 32, 0,
      67             :   /* 418 */ 'g', 'e', 't', 't', 's', 32, 0,
      68             :   /* 425 */ 'd', 'i', 'v', 's', 32, 0,
      69             :   /* 431 */ 'b', 'l', 'a', 't', 32, 0,
      70             :   /* 437 */ 'b', 't', 32, 0,
      71             :   /* 441 */ 'i', 'n', 'c', 't', 32, 0,
      72             :   /* 447 */ 't', 'e', 's', 't', 'c', 't', 32, 0,
      73             :   /* 455 */ 't', 'e', 's', 't', 'w', 'c', 't', 32, 0,
      74             :   /* 464 */ 'e', 'e', 't', 32, 0,
      75             :   /* 469 */ 'g', 'e', 't', 32, 0,
      76             :   /* 474 */ 'w', 'a', 'i', 't', 'e', 't', 32, 0,
      77             :   /* 482 */ 'e', 'c', 'a', 'l', 'l', 't', 32, 0,
      78             :   /* 490 */ 'i', 'n', 't', 32, 0,
      79             :   /* 495 */ 'a', 'n', 'd', 'n', 'o', 't', 32, 0,
      80             :   /* 503 */ 'g', 'e', 't', 's', 't', 32, 0,
      81             :   /* 510 */ 's', 'e', 'x', 't', 32, 0,
      82             :   /* 516 */ 'z', 'e', 'x', 't', 32, 0,
      83             :   /* 522 */ 'l', 'd', '8', 'u', 32, 0,
      84             :   /* 528 */ 'b', 'a', 'u', 32, 0,
      85             :   /* 533 */ 'b', 'u', 32, 0,
      86             :   /* 537 */ 'm', 'a', 'c', 'c', 'u', 32, 0,
      87             :   /* 544 */ 'r', 'e', 'm', 'u', 32, 0,
      88             :   /* 550 */ 'b', 'r', 'u', 32, 0,
      89             :   /* 555 */ 'l', 's', 'u', 32, 0,
      90             :   /* 560 */ 'l', 'd', 'i', 'v', 'u', 32, 0,
      91             :   /* 567 */ 'b', 'y', 't', 'e', 'r', 'e', 'v', 32, 0,
      92             :   /* 576 */ 'b', 'i', 't', 'r', 'e', 'v', 32, 0,
      93             :   /* 584 */ 'l', 'd', 'a', 'w', 32, 0,
      94             :   /* 590 */ 'l', 'd', 'w', 32, 0,
      95             :   /* 595 */ 'i', 'n', 'p', 'w', 32, 0,
      96             :   /* 601 */ 's', 't', 'w', 32, 0,
      97             :   /* 606 */ 'c', 'l', 'z', 32, 0,
      98             :   /* 611 */ '#', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
      99             :   /* 631 */ '#', 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,
     100             :   /* 662 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     101             :   /* 686 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     102             :   /* 711 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
     103             :   /* 734 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
     104             :   /* 757 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
     105             :   /* 779 */ 's', 'e', 't', 32, 'k', 'e', 'p', ',', 32, 'r', '1', '1', 0,
     106             :   /* 792 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
     107             :   /* 805 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
     108             :   /* 812 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
     109             :   /* 822 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
     110             :   /* 832 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
     111             :   /* 844 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
     112             :   /* 859 */ 'l', 'd', 'a', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
     113             :   /* 873 */ 'l', 'd', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
     114             :   /* 886 */ 'b', 'l', 'a', 32, 'c', 'p', '[', 0,
     115             :   /* 894 */ 'm', 's', 'y', 'n', 'c', 32, 'r', 'e', 's', '[', 0,
     116             :   /* 905 */ 's', 'e', 't', 'p', 's', 'c', 32, 'r', 'e', 's', '[', 0,
     117             :   /* 917 */ 's', 'e', 't', 'c', 32, 'r', 'e', 's', '[', 0,
     118             :   /* 927 */ 's', 'e', 't', 'd', 32, 'r', 'e', 's', '[', 0,
     119             :   /* 937 */ 's', 'e', 't', 'c', 'l', 'k', 32, 'r', 'e', 's', '[', 0,
     120             :   /* 949 */ 'm', 'j', 'o', 'i', 'n', 32, 'r', 'e', 's', '[', 0,
     121             :   /* 960 */ 's', 'e', 't', 'n', 32, 'r', 'e', 's', '[', 0,
     122             :   /* 970 */ 's', 'y', 'n', 'c', 'r', 32, 'r', 'e', 's', '[', 0,
     123             :   /* 981 */ 'f', 'r', 'e', 'e', 'r', 32, 'r', 'e', 's', '[', 0,
     124             :   /* 992 */ 'o', 'u', 't', 's', 'h', 'r', 32, 'r', 'e', 's', '[', 0,
     125             :   /* 1004 */ 'c', 'h', 'k', 'c', 't', 32, 'r', 'e', 's', '[', 0,
     126             :   /* 1015 */ 'o', 'u', 't', 'c', 't', 32, 'r', 'e', 's', '[', 0,
     127             :   /* 1026 */ 'c', 'l', 'r', 'p', 't', 32, 'r', 'e', 's', '[', 0,
     128             :   /* 1037 */ 's', 'e', 't', 'p', 't', 32, 'r', 'e', 's', '[', 0,
     129             :   /* 1048 */ 'o', 'u', 't', 't', 32, 'r', 'e', 's', '[', 0,
     130             :   /* 1058 */ 'o', 'u', 't', 32, 'r', 'e', 's', '[', 0,
     131             :   /* 1067 */ 'e', 'd', 'u', 32, 'r', 'e', 's', '[', 0,
     132             :   /* 1076 */ 'e', 'e', 'u', 32, 'r', 'e', 's', '[', 0,
     133             :   /* 1085 */ 's', 'e', 't', 'e', 'v', 32, 'r', 'e', 's', '[', 0,
     134             :   /* 1096 */ 's', 'e', 't', 'v', 32, 'r', 'e', 's', '[', 0,
     135             :   /* 1106 */ 'o', 'u', 't', 'p', 'w', 32, 'r', 'e', 's', '[', 0,
     136             :   /* 1117 */ 's', 'e', 't', 't', 'w', 32, 'r', 'e', 's', '[', 0,
     137             :   /* 1128 */ 's', 'e', 't', 'r', 'd', 'y', 32, 'r', 'e', 's', '[', 0,
     138             :   /* 1140 */ 's', 'e', 't', 32, 'p', 's', '[', 0,
     139             :   /* 1148 */ 's', 'e', 't', 32, 't', '[', 0,
     140             :   /* 1155 */ 'i', 'n', 'i', 't', 32, 't', '[', 0,
     141             :   /* 1163 */ 's', 't', 'a', 'r', 't', 32, 't', '[', 0,
     142             :   /* 1172 */ 'l', 'd', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
     143             :   /* 1187 */ 's', 't', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
     144             :   /* 1202 */ 'l', 'd', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
     145             :   /* 1217 */ 's', 't', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
     146             :   /* 1232 */ 'l', 'd', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
     147             :   /* 1247 */ 's', 't', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
     148             :   /* 1262 */ 'l', 'd', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
     149             :   /* 1276 */ 's', 't', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
     150             :   /* 1290 */ 's', 's', 'y', 'n', 'c', 0,
     151             :   /* 1296 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 'd', 0,
     152             :   /* 1308 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'i', 'd', 0,
     153             :   /* 1320 */ 'c', 'l', 'r', 'e', 0,
     154             :   /* 1325 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
     155             :   /* 1339 */ 'd', 'c', 'a', 'l', 'l', 0,
     156             :   /* 1345 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 'e', 'p', 0,
     157             :   /* 1358 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 's', 'p', 0,
     158             :   /* 1371 */ 'd', 'e', 'n', 't', 's', 'p', 0,
     159             :   /* 1378 */ 'd', 'r', 'e', 's', 't', 's', 'p', 0,
     160             :   /* 1386 */ 't', 's', 'e', 't', 'm', 'r', 32, 'r', 0,
     161             :   /* 1395 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 't', 0,
     162             :   /* 1407 */ 'f', 'r', 'e', 'e', 't', 0,
     163             :   /* 1413 */ 'd', 'r', 'e', 't', 0,
     164             :   /* 1418 */ 'k', 'r', 'e', 't', 0,
     165             :   /* 1423 */ 'w', 'a', 'i', 't', 'e', 'u', 0,
     166             :   };
     167             : 
     168             :   static const uint32_t OpInfo0[] = {
     169             :     0U, // PHI
     170             :     0U, // INLINEASM
     171             :     0U, // CFI_INSTRUCTION
     172             :     0U, // EH_LABEL
     173             :     0U, // GC_LABEL
     174             :     0U, // ANNOTATION_LABEL
     175             :     0U, // KILL
     176             :     0U, // EXTRACT_SUBREG
     177             :     0U, // INSERT_SUBREG
     178             :     0U, // IMPLICIT_DEF
     179             :     0U, // SUBREG_TO_REG
     180             :     0U, // COPY_TO_REGCLASS
     181             :     813U,       // DBG_VALUE
     182             :     823U,       // DBG_LABEL
     183             :     0U, // REG_SEQUENCE
     184             :     0U, // COPY
     185             :     806U,       // BUNDLE
     186             :     845U,       // LIFETIME_START
     187             :     793U,       // LIFETIME_END
     188             :     0U, // STACKMAP
     189             :     1326U,      // FENTRY_CALL
     190             :     0U, // PATCHPOINT
     191             :     0U, // LOAD_STACK_GUARD
     192             :     0U, // STATEPOINT
     193             :     0U, // LOCAL_ESCAPE
     194             :     0U, // FAULTING_OP
     195             :     0U, // PATCHABLE_OP
     196             :     712U,       // PATCHABLE_FUNCTION_ENTER
     197             :     632U,       // PATCHABLE_RET
     198             :     758U,       // PATCHABLE_FUNCTION_EXIT
     199             :     735U,       // PATCHABLE_TAIL_CALL
     200             :     687U,       // PATCHABLE_EVENT_CALL
     201             :     663U,       // PATCHABLE_TYPED_EVENT_CALL
     202             :     0U, // ICALL_BRANCH_FUNNEL
     203             :     0U, // G_ADD
     204             :     0U, // G_SUB
     205             :     0U, // G_MUL
     206             :     0U, // G_SDIV
     207             :     0U, // G_UDIV
     208             :     0U, // G_SREM
     209             :     0U, // G_UREM
     210             :     0U, // G_AND
     211             :     0U, // G_OR
     212             :     0U, // G_XOR
     213             :     0U, // G_IMPLICIT_DEF
     214             :     0U, // G_PHI
     215             :     0U, // G_FRAME_INDEX
     216             :     0U, // G_GLOBAL_VALUE
     217             :     0U, // G_EXTRACT
     218             :     0U, // G_UNMERGE_VALUES
     219             :     0U, // G_INSERT
     220             :     0U, // G_MERGE_VALUES
     221             :     0U, // G_PTRTOINT
     222             :     0U, // G_INTTOPTR
     223             :     0U, // G_BITCAST
     224             :     0U, // G_INTRINSIC_TRUNC
     225             :     0U, // G_INTRINSIC_ROUND
     226             :     0U, // G_LOAD
     227             :     0U, // G_SEXTLOAD
     228             :     0U, // G_ZEXTLOAD
     229             :     0U, // G_STORE
     230             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     231             :     0U, // G_ATOMIC_CMPXCHG
     232             :     0U, // G_ATOMICRMW_XCHG
     233             :     0U, // G_ATOMICRMW_ADD
     234             :     0U, // G_ATOMICRMW_SUB
     235             :     0U, // G_ATOMICRMW_AND
     236             :     0U, // G_ATOMICRMW_NAND
     237             :     0U, // G_ATOMICRMW_OR
     238             :     0U, // G_ATOMICRMW_XOR
     239             :     0U, // G_ATOMICRMW_MAX
     240             :     0U, // G_ATOMICRMW_MIN
     241             :     0U, // G_ATOMICRMW_UMAX
     242             :     0U, // G_ATOMICRMW_UMIN
     243             :     0U, // G_BRCOND
     244             :     0U, // G_BRINDIRECT
     245             :     0U, // G_INTRINSIC
     246             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     247             :     0U, // G_ANYEXT
     248             :     0U, // G_TRUNC
     249             :     0U, // G_CONSTANT
     250             :     0U, // G_FCONSTANT
     251             :     0U, // G_VASTART
     252             :     0U, // G_VAARG
     253             :     0U, // G_SEXT
     254             :     0U, // G_ZEXT
     255             :     0U, // G_SHL
     256             :     0U, // G_LSHR
     257             :     0U, // G_ASHR
     258             :     0U, // G_ICMP
     259             :     0U, // G_FCMP
     260             :     0U, // G_SELECT
     261             :     0U, // G_UADDO
     262             :     0U, // G_UADDE
     263             :     0U, // G_USUBO
     264             :     0U, // G_USUBE
     265             :     0U, // G_SADDO
     266             :     0U, // G_SADDE
     267             :     0U, // G_SSUBO
     268             :     0U, // G_SSUBE
     269             :     0U, // G_UMULO
     270             :     0U, // G_SMULO
     271             :     0U, // G_UMULH
     272             :     0U, // G_SMULH
     273             :     0U, // G_FADD
     274             :     0U, // G_FSUB
     275             :     0U, // G_FMUL
     276             :     0U, // G_FMA
     277             :     0U, // G_FDIV
     278             :     0U, // G_FREM
     279             :     0U, // G_FPOW
     280             :     0U, // G_FEXP
     281             :     0U, // G_FEXP2
     282             :     0U, // G_FLOG
     283             :     0U, // G_FLOG2
     284             :     0U, // G_FNEG
     285             :     0U, // G_FPEXT
     286             :     0U, // G_FPTRUNC
     287             :     0U, // G_FPTOSI
     288             :     0U, // G_FPTOUI
     289             :     0U, // G_SITOFP
     290             :     0U, // G_UITOFP
     291             :     0U, // G_FABS
     292             :     0U, // G_GEP
     293             :     0U, // G_PTR_MASK
     294             :     0U, // G_BR
     295             :     0U, // G_INSERT_VECTOR_ELT
     296             :     0U, // G_EXTRACT_VECTOR_ELT
     297             :     0U, // G_SHUFFLE_VECTOR
     298             :     0U, // G_CTTZ
     299             :     0U, // G_CTTZ_ZERO_UNDEF
     300             :     0U, // G_CTLZ
     301             :     0U, // G_CTLZ_ZERO_UNDEF
     302             :     0U, // G_CTPOP
     303             :     0U, // G_BSWAP
     304             :     0U, // G_ADDRSPACE_CAST
     305             :     0U, // G_BLOCK_ADDR
     306             :     2171U,      // ADJCALLSTACKDOWN
     307             :     10383U,     // ADJCALLSTACKUP
     308             :     283175U,    // BR_JT
     309             :     545319U,    // BR_JT32
     310             :     2158U,      // EH_RETURN
     311             :     10401U,     // FRAME_TO_ARGS_OFFSET
     312             :     833U,       // Int_MemBarrier
     313             :     2130U,      // LDAWFI
     314             :     2140U,      // LDWFI
     315             :     612U,       // SELECT_CC
     316             :     2149U,      // STWFI
     317             :     2099402U,   // ADD_2rus
     318             :     2099402U,   // ADD_3r
     319             :     788976U,    // ANDNOT_2r
     320             :     2099407U,   // AND_3r
     321             :     2099556U,   // ASHR_l2rus
     322             :     2099556U,   // ASHR_l3r
     323             :     10769U,     // BAU_1r
     324             :     2625U,      // BITREV_l2r
     325             :     27511U,     // BLACP_lu10
     326             :     27511U,     // BLACP_u10
     327             :     10672U,     // BLAT_lu6
     328             :     10672U,     // BLAT_u6
     329             :     10425U,     // BLA_1r
     330             :     10510U,     // BLRB_lu10
     331             :     10510U,     // BLRB_u10
     332             :     10510U,     // BLRF_lu10
     333             :     10510U,     // BLRF_u10
     334             :     2266U,      // BRBF_lru6
     335             :     2266U,      // BRBF_ru6
     336             :     2486U,      // BRBT_lru6
     337             :     2486U,      // BRBT_ru6
     338             :     10774U,     // BRBU_lu6
     339             :     10774U,     // BRBU_u6
     340             :     2266U,      // BRFF_lru6
     341             :     2266U,      // BRFF_ru6
     342             :     2486U,      // BRFT_lru6
     343             :     2486U,      // BRFT_ru6
     344             :     10774U,     // BRFU_lu6
     345             :     10774U,     // BRFU_u6
     346             :     10791U,     // BRU_1r
     347             :     2616U,      // BYTEREV_l2r
     348             :     35821U,     // CHKCT_2r
     349             :     35821U,     // CHKCT_rus
     350             :     1321U,      // CLRE_0R
     351             :     27651U,     // CLRPT_1R
     352             :     10614U,     // CLRSR_branch_lu6
     353             :     10614U,     // CLRSR_branch_u6
     354             :     10614U,     // CLRSR_lu6
     355             :     10614U,     // CLRSR_u6
     356             :     2655U,      // CLZ_l2r
     357             :     5247047U,   // CRC8_l4r
     358             :     19662899U,  // CRC_l3r
     359             :     1340U,      // DCALL_0R
     360             :     1372U,      // DENTSP_0R
     361             :     10488U,     // DGETREG_1r
     362             :     2099626U,   // DIVS_l3r
     363             :     2099762U,   // DIVU_l3r
     364             :     1379U,      // DRESTSP_0R
     365             :     1414U,      // DRET_0R
     366             :     10475U,     // ECALLF_1r
     367             :     10723U,     // ECALLT_1r
     368             :     27692U,     // EDU_1r
     369             :     6334686U,   // EEF_2r
     370             :     6334929U,   // EET_2r
     371             :     27701U,     // EEU_1r
     372             :     6334765U,   // ENDIN_2r
     373             :     10569U,     // ENTSP_lu6
     374             :     10569U,     // ENTSP_u6
     375             :     2099552U,   // EQ_2rus
     376             :     2099552U,   // EQ_3r
     377             :     10554U,     // EXTDP_lu6
     378             :     10554U,     // EXTDP_u6
     379             :     10585U,     // EXTSP_lu6
     380             :     10585U,     // EXTSP_u6
     381             :     27606U,     // FREER_1r
     382             :     1408U,      // FREET_0R
     383             :     6334676U,   // GETD_l2r
     384             :     1297U,      // GETED_0R
     385             :     1396U,      // GETET_0R
     386             :     1309U,      // GETID_0R
     387             :     1346U,      // GETKEP_0R
     388             :     1359U,      // GETKSP_0R
     389             :     6334772U,   // GETN_l2r
     390             :     51670U,     // GETPS_l2r
     391             :     2436U,      // GETR_rus
     392             :     10252U,     // GETSR_lu6
     393             :     10252U,     // GETSR_u6
     394             :     6334968U,   // GETST_2r
     395             :     6334883U,   // GETTS_2r
     396             :     6334906U,   // INCT_2r
     397             :     62596U,     // INITCP_2r
     398             :     70788U,     // INITDP_2r
     399             :     78980U,     // INITLR_l2r
     400             :     87172U,     // INITPC_2r
     401             :     95364U,     // INITSP_2r
     402             :     8432212U,   // INPW_l2rus
     403             :     7121258U,   // INSHR_2r
     404             :     6334955U,   // INT_2r
     405             :     6334768U,   // IN_2r
     406             :     10528U,     // KCALL_1r
     407             :     10528U,     // KCALL_lu6
     408             :     10528U,     // KCALL_u6
     409             :     10568U,     // KENTSP_lu6
     410             :     10568U,     // KENTSP_u6
     411             :     10576U,     // KRESTSP_lu6
     412             :     10576U,     // KRESTSP_u6
     413             :     1419U,      // KRET_0R
     414             :     45093065U,  // LADD_l5r
     415             :     12585354U,  // LD16S_3r
     416             :     12585483U,  // LD8U_3r
     417             :     14682170U,  // LDA16B_l3r
     418             :     12585018U,  // LDA16F_l3r
     419             :     10241U,     // LDAPB_lu10
     420             :     10241U,     // LDAPB_u10
     421             :     10241U,     // LDAPF_lu10
     422             :     10241U,     // LDAPF_lu10_ba
     423             :     10241U,     // LDAPF_u10
     424             :     14682697U,  // LDAWB_l2rus
     425             :     14682697U,  // LDAWB_l3r
     426             :     27484U,     // LDAWCP_lu6
     427             :     27484U,     // LDAWCP_u6
     428             :     100937U,    // LDAWDP_lru6
     429             :     100937U,    // LDAWDP_ru6
     430             :     12585545U,  // LDAWF_l2rus
     431             :     12585545U,  // LDAWF_l3r
     432             :     109129U,    // LDAWSP_lru6
     433             :     109129U,    // LDAWSP_ru6
     434             :     2244U,      // LDC_lru6
     435             :     2244U,      // LDC_ru6
     436             :     1263U,      // LDET_0R
     437             :     186649137U, // LDIVU_l5r
     438             :     1233U,      // LDSED_0R
     439             :     1173U,      // LDSPC_0R
     440             :     1203U,      // LDSSR_0R
     441             :     117327U,    // LDWCP_lru6
     442             :     27498U,     // LDWCP_lu10
     443             :     117327U,    // LDWCP_ru6
     444             :     27498U,     // LDWCP_u10
     445             :     100943U,    // LDWDP_lru6
     446             :     100943U,    // LDWDP_ru6
     447             :     109135U,    // LDWSP_lru6
     448             :     109135U,    // LDWSP_ru6
     449             :     12585551U,  // LDW_2rus
     450             :     12585551U,  // LDW_3r
     451             :     270534951U, // LMUL_l6r
     452             :     2099614U,   // LSS_3r
     453             :     45093054U,  // LSUB_l5r
     454             :     2099756U,   // LSU_3r
     455             :     455084433U, // MACCS_l4r
     456             :     455084570U, // MACCU_l4r
     457             :     27574U,     // MJOIN_1r
     458             :     2311U,      // MKMSK_2r
     459             :     2311U,      // MKMSK_rus
     460             :     27519U,     // MSYNC_1r
     461             :     2099496U,   // MUL_l3r
     462             :     2291U,      // NEG
     463             :     2547U,      // NOT
     464             :     2099570U,   // OR_3r
     465             :     35832U,     // OUTCT_2r
     466             :     35832U,     // OUTCT_rus
     467             :     78681171U,  // OUTPW_l2rus
     468             :     39905U,     // OUTSHR_2r
     469             :     35865U,     // OUTT_2r
     470             :     35875U,     // OUT_2r
     471             :     6334721U,   // PEEK_2r
     472             :     2099608U,   // REMS_l3r
     473             :     2099745U,   // REMU_l3r
     474             :     10561U,     // RETSP_lu6
     475             :     10561U,     // RETSP_u6
     476             :     35754U,     // SETCLK_l2r
     477             :     10264U,     // SETCP_1r
     478             :     35734U,     // SETC_l2r
     479             :     35734U,     // SETC_lru6
     480             :     35734U,     // SETC_ru6
     481             :     10273U,     // SETDP_1r
     482             :     35744U,     // SETD_2r
     483             :     126014U,    // SETEV_1r
     484             :     780U,       // SETKEP_0R
     485             :     35777U,     // SETN_l2r
     486             :     35722U,     // SETPSC_2r
     487             :     35957U,     // SETPS_l2r
     488             :     35854U,     // SETPT_2r
     489             :     35945U,     // SETRDY_l2r
     490             :     10282U,     // SETSP_1r
     491             :     10621U,     // SETSR_branch_lu6
     492             :     10621U,     // SETSR_branch_u6
     493             :     10621U,     // SETSR_lu6
     494             :     10621U,     // SETSR_u6
     495             :     35934U,     // SETTW_l2r
     496             :     126025U,    // SETV_1r
     497             :     788991U,    // SEXT_2r
     498             :     788991U,    // SEXT_rus
     499             :     2099483U,   // SHL_2rus
     500             :     2099483U,   // SHL_3r
     501             :     2099557U,   // SHR_2rus
     502             :     2099557U,   // SHR_3r
     503             :     1291U,      // SSYNC_0r
     504             :     12585025U,  // ST16_l3r
     505             :     12585037U,  // ST8_l3r
     506             :     1277U,      // STET_0R
     507             :     1248U,      // STSED_0R
     508             :     1188U,      // STSPC_0R
     509             :     1218U,      // STSSR_0R
     510             :     100954U,    // STWDP_lru6
     511             :     100954U,    // STWDP_ru6
     512             :     109146U,    // STWSP_lru6
     513             :     109146U,    // STWSP_ru6
     514             :     12585562U,  // STW_2rus
     515             :     12585562U,  // STW_l3r
     516             :     2099391U,   // SUB_2rus
     517             :     2099391U,   // SUB_3r
     518             :     27595U,     // SYNCR_1r
     519             :     6334912U,   // TESTCT_2r
     520             :     6334738U,   // TESTLCL_l2r
     521             :     6334920U,   // TESTWCT_2r
     522             :     3435U,      // TSETMR_2r
     523             :     138365U,    // TSETR_3r
     524             :     27788U,     // TSTART_1R
     525             :     10467U,     // WAITEF_1R
     526             :     10715U,     // WAITET_1R
     527             :     1424U,      // WAITEU_0R
     528             :     2099569U,   // XOR_l3r
     529             :     788997U,    // ZEXT_2r
     530             :     788997U,    // ZEXT_rus
     531             :   };
     532             : 
     533        1787 :   O << "\t";
     534             : 
     535             :   // Emit the opcode for the instruction.
     536             :   uint32_t Bits = 0;
     537        1787 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
     538             :   assert(Bits != 0 && "Cannot print this instruction.");
     539        1787 :   O << AsmStrs+(Bits & 2047)-1;
     540             : 
     541             : 
     542             :   // Fragment 0 encoded into 2 bits for 4 unique commands.
     543        1787 :   switch ((Bits >> 11) & 3) {
     544           0 :   default: llvm_unreachable("Invalid command number.");
     545             :   case 0:
     546             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
     547             :     return;
     548             :     break;
     549        1694 :   case 1:
     550             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, EH_RETURN, FRAME_TO_ARGS_OFFSET, LDA...
     551        1694 :     printOperand(MI, 0, O);
     552        1694 :     break;
     553          29 :   case 2:
     554             :     // BR_JT, BR_JT32, CRC8_l4r, INITCP_2r, INITDP_2r, INITLR_l2r, INITPC_2r,...
     555          29 :     printOperand(MI, 1, O);
     556          29 :     break;
     557           3 :   case 3:
     558             :     // OUTSHR_2r, TSETR_3r
     559           3 :     printOperand(MI, 2, O);
     560           3 :     break;
     561             :   }
     562             : 
     563             : 
     564             :   // Fragment 1 encoded into 5 bits for 17 unique commands.
     565        1726 :   switch ((Bits >> 13) & 31) {
     566           0 :   default: llvm_unreachable("Invalid command number.");
     567         550 :   case 0:
     568             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ADD_2rus, ADD_3r, A...
     569         550 :     O << ", ";
     570         550 :     break;
     571             :   case 1:
     572             :     // ADJCALLSTACKUP, FRAME_TO_ARGS_OFFSET, BAU_1r, BLAT_lu6, BLAT_u6, BLA_1...
     573             :     return;
     574             :     break;
     575           0 :   case 2:
     576             :     // BR_JT, BR_JT32
     577           0 :     O << "\n";
     578           0 :     break;
     579             :   case 3:
     580             :     // BLACP_lu10, BLACP_u10, CLRPT_1R, EDU_1r, EEU_1r, FREER_1r, LDAWCP_lu6,...
     581             :     O << ']';
     582             :     return;
     583             :     break;
     584          39 :   case 4:
     585             :     // CHKCT_2r, CHKCT_rus, OUTCT_2r, OUTCT_rus, OUTPW_l2rus, OUTSHR_2r, OUTT...
     586          39 :     O << "], ";
     587          39 :     break;
     588          32 :   case 5:
     589             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     590          32 :     O << ", res[";
     591          32 :     break;
     592           2 :   case 6:
     593             :     // GETPS_l2r
     594           2 :     O << ", ps[";
     595           2 :     printOperand(MI, 1, O);
     596             :     O << ']';
     597             :     return;
     598             :     break;
     599           3 :   case 7:
     600             :     // INITCP_2r
     601           3 :     O << "]:cp, ";
     602           3 :     printOperand(MI, 0, O);
     603           3 :     return;
     604             :     break;
     605           3 :   case 8:
     606             :     // INITDP_2r
     607           3 :     O << "]:dp, ";
     608           3 :     printOperand(MI, 0, O);
     609           3 :     return;
     610             :     break;
     611           3 :   case 9:
     612             :     // INITLR_l2r
     613           3 :     O << "]:lr, ";
     614           3 :     printOperand(MI, 0, O);
     615           3 :     return;
     616             :     break;
     617           3 :   case 10:
     618             :     // INITPC_2r
     619           3 :     O << "]:pc, ";
     620           3 :     printOperand(MI, 0, O);
     621           3 :     return;
     622             :     break;
     623           3 :   case 11:
     624             :     // INITSP_2r
     625           3 :     O << "]:sp, ";
     626           3 :     printOperand(MI, 0, O);
     627           3 :     return;
     628             :     break;
     629         102 :   case 12:
     630             :     // LDAWDP_lru6, LDAWDP_ru6, LDWDP_lru6, LDWDP_ru6, STWDP_lru6, STWDP_ru6
     631         102 :     O << ", dp[";
     632         102 :     printOperand(MI, 1, O);
     633             :     O << ']';
     634             :     return;
     635             :     break;
     636         309 :   case 13:
     637             :     // LDAWSP_lru6, LDAWSP_ru6, LDWSP_lru6, LDWSP_ru6, STWSP_lru6, STWSP_ru6
     638         309 :     O << ", sp[";
     639         309 :     printOperand(MI, 1, O);
     640             :     O << ']';
     641             :     return;
     642             :     break;
     643          34 :   case 14:
     644             :     // LDWCP_lru6, LDWCP_ru6
     645          34 :     O << ", cp[";
     646          34 :     printOperand(MI, 1, O);
     647             :     O << ']';
     648             :     return;
     649             :     break;
     650           7 :   case 15:
     651             :     // SETEV_1r, SETV_1r
     652           7 :     O << "], r11";
     653           7 :     return;
     654             :     break;
     655           1 :   case 16:
     656             :     // TSETR_3r
     657           1 :     O << "]:r";
     658           1 :     printOperand(MI, 0, O);
     659           1 :     O << ", ";
     660           1 :     printOperand(MI, 1, O);
     661           1 :     return;
     662             :     break;
     663             :   }
     664             : 
     665             : 
     666             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
     667         621 :   switch ((Bits >> 18) & 7) {
     668           0 :   default: llvm_unreachable("Invalid command number.");
     669         583 :   case 0:
     670             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ADD_2rus, ADD_3r, A...
     671         583 :     printOperand(MI, 1, O);
     672         583 :     break;
     673           0 :   case 1:
     674             :     // BR_JT
     675           0 :     printInlineJT(MI, 0, O);
     676           0 :     return;
     677             :     break;
     678           0 :   case 2:
     679             :     // BR_JT32
     680           0 :     printInlineJT32(MI, 0, O);
     681           0 :     return;
     682             :     break;
     683          24 :   case 3:
     684             :     // ANDNOT_2r, CRC_l3r, INSHR_2r, SEXT_2r, SEXT_rus, ZEXT_2r, ZEXT_rus
     685          24 :     printOperand(MI, 2, O);
     686          24 :     break;
     687          14 :   case 4:
     688             :     // CRC8_l4r, LADD_l5r, LSUB_l5r, OUTPW_l2rus
     689          14 :     printOperand(MI, 0, O);
     690          14 :     O << ", ";
     691          14 :     break;
     692             :   }
     693             : 
     694             : 
     695             :   // Fragment 3 encoded into 3 bits for 8 unique commands.
     696         621 :   switch ((Bits >> 21) & 7) {
     697           0 :   default: llvm_unreachable("Invalid command number.");
     698             :   case 0:
     699             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ANDNOT_2r, BITREV_l...
     700             :     return;
     701             :     break;
     702         156 :   case 1:
     703             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, CRC_l3r, DIVS_l3r, DIV...
     704         156 :     O << ", ";
     705         156 :     break;
     706           2 :   case 2:
     707             :     // CRC8_l4r
     708           2 :     printOperand(MI, 3, O);
     709           2 :     O << ", ";
     710           2 :     printOperand(MI, 4, O);
     711           2 :     return;
     712             :     break;
     713             :   case 3:
     714             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     715             :     O << ']';
     716             :     return;
     717             :     break;
     718           1 :   case 4:
     719             :     // INPW_l2rus
     720           1 :     O << "], ";
     721           1 :     printOperand(MI, 2, O);
     722           1 :     return;
     723             :     break;
     724          12 :   case 5:
     725             :     // LADD_l5r, LSUB_l5r, OUTPW_l2rus
     726          12 :     printOperand(MI, 2, O);
     727          12 :     break;
     728             :   case 6:
     729             :     // LD16S_3r, LD8U_3r, LDA16F_l3r, LDAWF_l2rus, LDAWF_l3r, LDW_2rus, LDW_3...
     730             :     O << '[';
     731         157 :     printOperand(MI, 2, O);
     732             :     O << ']';
     733             :     return;
     734             :     break;
     735           5 :   case 7:
     736             :     // LDA16B_l3r, LDAWB_l2rus, LDAWB_l3r
     737           5 :     O << "[-";
     738           5 :     printOperand(MI, 2, O);
     739             :     O << ']';
     740             :     return;
     741             :     break;
     742             :   }
     743             : 
     744             : 
     745             :   // Fragment 4 encoded into 3 bits for 5 unique commands.
     746         168 :   switch ((Bits >> 24) & 7) {
     747           0 :   default: llvm_unreachable("Invalid command number.");
     748         147 :   case 0:
     749             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     750         147 :     printOperand(MI, 2, O);
     751         147 :     break;
     752           2 :   case 1:
     753             :     // CRC_l3r
     754           2 :     printOperand(MI, 3, O);
     755           2 :     return;
     756             :     break;
     757          11 :   case 2:
     758             :     // LADD_l5r, LSUB_l5r
     759          11 :     O << ", ";
     760          11 :     printOperand(MI, 3, O);
     761          11 :     O << ", ";
     762          11 :     printOperand(MI, 4, O);
     763          11 :     return;
     764             :     break;
     765           7 :   case 3:
     766             :     // LDIVU_l5r, MACCS_l4r, MACCU_l4r
     767           7 :     printOperand(MI, 4, O);
     768           7 :     O << ", ";
     769           7 :     break;
     770             :   case 4:
     771             :     // OUTPW_l2rus
     772             :     return;
     773             :     break;
     774             :   }
     775             : 
     776             : 
     777             :   // Fragment 5 encoded into 2 bits for 4 unique commands.
     778         154 :   switch ((Bits >> 27) & 3) {
     779           0 :   default: llvm_unreachable("Invalid command number.");
     780             :   case 0:
     781             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     782             :     return;
     783             :     break;
     784           1 :   case 1:
     785             :     // LDIVU_l5r
     786           1 :     printOperand(MI, 2, O);
     787           1 :     O << ", ";
     788           1 :     printOperand(MI, 3, O);
     789           1 :     return;
     790             :     break;
     791          12 :   case 2:
     792             :     // LMUL_l6r
     793          12 :     O << ", ";
     794          12 :     printOperand(MI, 3, O);
     795          12 :     O << ", ";
     796          12 :     printOperand(MI, 4, O);
     797          12 :     O << ", ";
     798          12 :     printOperand(MI, 5, O);
     799          12 :     return;
     800             :     break;
     801           6 :   case 3:
     802             :     // MACCS_l4r, MACCU_l4r
     803           6 :     printOperand(MI, 5, O);
     804           6 :     return;
     805             :     break;
     806             :   }
     807             : 
     808             : }
     809             : 
     810             : 
     811             : /// getRegisterName - This method is automatically generated by tblgen
     812             : /// from the register set description.  This returns the assembler name
     813             : /// for the specified register.
     814        2051 : const char *XCoreInstPrinter::getRegisterName(unsigned RegNo) {
     815             :   assert(RegNo && RegNo < 17 && "Invalid register number!");
     816             : 
     817             :   static const char AsmStrs[] = {
     818             :   /* 0 */ 'r', '1', '0', 0,
     819             :   /* 4 */ 'r', '0', 0,
     820             :   /* 7 */ 'r', '1', '1', 0,
     821             :   /* 11 */ 'r', '1', 0,
     822             :   /* 14 */ 'r', '2', 0,
     823             :   /* 17 */ 'r', '3', 0,
     824             :   /* 20 */ 'r', '4', 0,
     825             :   /* 23 */ 'r', '5', 0,
     826             :   /* 26 */ 'r', '6', 0,
     827             :   /* 29 */ 'r', '7', 0,
     828             :   /* 32 */ 'r', '8', 0,
     829             :   /* 35 */ 'r', '9', 0,
     830             :   /* 38 */ 'c', 'p', 0,
     831             :   /* 41 */ 'd', 'p', 0,
     832             :   /* 44 */ 's', 'p', 0,
     833             :   /* 47 */ 'l', 'r', 0,
     834             :   };
     835             : 
     836             :   static const uint8_t RegAsmOffset[] = {
     837             :     38, 41, 47, 44, 4, 11, 14, 17, 20, 23, 26, 29, 32, 35, 
     838             :     0, 7, 
     839             :   };
     840             : 
     841             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
     842             :           "Invalid alt name index for register!");
     843        2051 :   return AsmStrs+RegAsmOffset[RegNo-1];
     844             : }
     845             : 
     846             : #ifdef PRINT_ALIAS_INSTR
     847             : #undef PRINT_ALIAS_INSTR
     848             : 
     849             : bool XCoreInstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
     850             :   return false;
     851             : }
     852             : 
     853             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13