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-07-13 00:08:38 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        1786 : 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_LOAD
     225             :     0U, // G_SEXTLOAD
     226             :     0U, // G_ZEXTLOAD
     227             :     0U, // G_STORE
     228             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     229             :     0U, // G_ATOMIC_CMPXCHG
     230             :     0U, // G_ATOMICRMW_XCHG
     231             :     0U, // G_ATOMICRMW_ADD
     232             :     0U, // G_ATOMICRMW_SUB
     233             :     0U, // G_ATOMICRMW_AND
     234             :     0U, // G_ATOMICRMW_NAND
     235             :     0U, // G_ATOMICRMW_OR
     236             :     0U, // G_ATOMICRMW_XOR
     237             :     0U, // G_ATOMICRMW_MAX
     238             :     0U, // G_ATOMICRMW_MIN
     239             :     0U, // G_ATOMICRMW_UMAX
     240             :     0U, // G_ATOMICRMW_UMIN
     241             :     0U, // G_BRCOND
     242             :     0U, // G_BRINDIRECT
     243             :     0U, // G_INTRINSIC
     244             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     245             :     0U, // G_ANYEXT
     246             :     0U, // G_TRUNC
     247             :     0U, // G_CONSTANT
     248             :     0U, // G_FCONSTANT
     249             :     0U, // G_VASTART
     250             :     0U, // G_VAARG
     251             :     0U, // G_SEXT
     252             :     0U, // G_ZEXT
     253             :     0U, // G_SHL
     254             :     0U, // G_LSHR
     255             :     0U, // G_ASHR
     256             :     0U, // G_ICMP
     257             :     0U, // G_FCMP
     258             :     0U, // G_SELECT
     259             :     0U, // G_UADDE
     260             :     0U, // G_USUBE
     261             :     0U, // G_SADDO
     262             :     0U, // G_SSUBO
     263             :     0U, // G_UMULO
     264             :     0U, // G_SMULO
     265             :     0U, // G_UMULH
     266             :     0U, // G_SMULH
     267             :     0U, // G_FADD
     268             :     0U, // G_FSUB
     269             :     0U, // G_FMUL
     270             :     0U, // G_FMA
     271             :     0U, // G_FDIV
     272             :     0U, // G_FREM
     273             :     0U, // G_FPOW
     274             :     0U, // G_FEXP
     275             :     0U, // G_FEXP2
     276             :     0U, // G_FLOG
     277             :     0U, // G_FLOG2
     278             :     0U, // G_FNEG
     279             :     0U, // G_FPEXT
     280             :     0U, // G_FPTRUNC
     281             :     0U, // G_FPTOSI
     282             :     0U, // G_FPTOUI
     283             :     0U, // G_SITOFP
     284             :     0U, // G_UITOFP
     285             :     0U, // G_FABS
     286             :     0U, // G_GEP
     287             :     0U, // G_PTR_MASK
     288             :     0U, // G_BR
     289             :     0U, // G_INSERT_VECTOR_ELT
     290             :     0U, // G_EXTRACT_VECTOR_ELT
     291             :     0U, // G_SHUFFLE_VECTOR
     292             :     0U, // G_BSWAP
     293             :     0U, // G_ADDRSPACE_CAST
     294             :     2171U,      // ADJCALLSTACKDOWN
     295             :     10383U,     // ADJCALLSTACKUP
     296             :     283175U,    // BR_JT
     297             :     545319U,    // BR_JT32
     298             :     2158U,      // EH_RETURN
     299             :     10401U,     // FRAME_TO_ARGS_OFFSET
     300             :     833U,       // Int_MemBarrier
     301             :     2130U,      // LDAWFI
     302             :     2140U,      // LDWFI
     303             :     612U,       // SELECT_CC
     304             :     2149U,      // STWFI
     305             :     2099402U,   // ADD_2rus
     306             :     2099402U,   // ADD_3r
     307             :     788976U,    // ANDNOT_2r
     308             :     2099407U,   // AND_3r
     309             :     2099556U,   // ASHR_l2rus
     310             :     2099556U,   // ASHR_l3r
     311             :     10769U,     // BAU_1r
     312             :     2625U,      // BITREV_l2r
     313             :     27511U,     // BLACP_lu10
     314             :     27511U,     // BLACP_u10
     315             :     10672U,     // BLAT_lu6
     316             :     10672U,     // BLAT_u6
     317             :     10425U,     // BLA_1r
     318             :     10510U,     // BLRB_lu10
     319             :     10510U,     // BLRB_u10
     320             :     10510U,     // BLRF_lu10
     321             :     10510U,     // BLRF_u10
     322             :     2266U,      // BRBF_lru6
     323             :     2266U,      // BRBF_ru6
     324             :     2486U,      // BRBT_lru6
     325             :     2486U,      // BRBT_ru6
     326             :     10774U,     // BRBU_lu6
     327             :     10774U,     // BRBU_u6
     328             :     2266U,      // BRFF_lru6
     329             :     2266U,      // BRFF_ru6
     330             :     2486U,      // BRFT_lru6
     331             :     2486U,      // BRFT_ru6
     332             :     10774U,     // BRFU_lu6
     333             :     10774U,     // BRFU_u6
     334             :     10791U,     // BRU_1r
     335             :     2616U,      // BYTEREV_l2r
     336             :     35821U,     // CHKCT_2r
     337             :     35821U,     // CHKCT_rus
     338             :     1321U,      // CLRE_0R
     339             :     27651U,     // CLRPT_1R
     340             :     10614U,     // CLRSR_branch_lu6
     341             :     10614U,     // CLRSR_branch_u6
     342             :     10614U,     // CLRSR_lu6
     343             :     10614U,     // CLRSR_u6
     344             :     2655U,      // CLZ_l2r
     345             :     5247047U,   // CRC8_l4r
     346             :     19662899U,  // CRC_l3r
     347             :     1340U,      // DCALL_0R
     348             :     1372U,      // DENTSP_0R
     349             :     10488U,     // DGETREG_1r
     350             :     2099626U,   // DIVS_l3r
     351             :     2099762U,   // DIVU_l3r
     352             :     1379U,      // DRESTSP_0R
     353             :     1414U,      // DRET_0R
     354             :     10475U,     // ECALLF_1r
     355             :     10723U,     // ECALLT_1r
     356             :     27692U,     // EDU_1r
     357             :     6334686U,   // EEF_2r
     358             :     6334929U,   // EET_2r
     359             :     27701U,     // EEU_1r
     360             :     6334765U,   // ENDIN_2r
     361             :     10569U,     // ENTSP_lu6
     362             :     10569U,     // ENTSP_u6
     363             :     2099552U,   // EQ_2rus
     364             :     2099552U,   // EQ_3r
     365             :     10554U,     // EXTDP_lu6
     366             :     10554U,     // EXTDP_u6
     367             :     10585U,     // EXTSP_lu6
     368             :     10585U,     // EXTSP_u6
     369             :     27606U,     // FREER_1r
     370             :     1408U,      // FREET_0R
     371             :     6334676U,   // GETD_l2r
     372             :     1297U,      // GETED_0R
     373             :     1396U,      // GETET_0R
     374             :     1309U,      // GETID_0R
     375             :     1346U,      // GETKEP_0R
     376             :     1359U,      // GETKSP_0R
     377             :     6334772U,   // GETN_l2r
     378             :     51670U,     // GETPS_l2r
     379             :     2436U,      // GETR_rus
     380             :     10252U,     // GETSR_lu6
     381             :     10252U,     // GETSR_u6
     382             :     6334968U,   // GETST_2r
     383             :     6334883U,   // GETTS_2r
     384             :     6334906U,   // INCT_2r
     385             :     62596U,     // INITCP_2r
     386             :     70788U,     // INITDP_2r
     387             :     78980U,     // INITLR_l2r
     388             :     87172U,     // INITPC_2r
     389             :     95364U,     // INITSP_2r
     390             :     8432212U,   // INPW_l2rus
     391             :     7121258U,   // INSHR_2r
     392             :     6334955U,   // INT_2r
     393             :     6334768U,   // IN_2r
     394             :     10528U,     // KCALL_1r
     395             :     10528U,     // KCALL_lu6
     396             :     10528U,     // KCALL_u6
     397             :     10568U,     // KENTSP_lu6
     398             :     10568U,     // KENTSP_u6
     399             :     10576U,     // KRESTSP_lu6
     400             :     10576U,     // KRESTSP_u6
     401             :     1419U,      // KRET_0R
     402             :     45093065U,  // LADD_l5r
     403             :     12585354U,  // LD16S_3r
     404             :     12585483U,  // LD8U_3r
     405             :     14682170U,  // LDA16B_l3r
     406             :     12585018U,  // LDA16F_l3r
     407             :     10241U,     // LDAPB_lu10
     408             :     10241U,     // LDAPB_u10
     409             :     10241U,     // LDAPF_lu10
     410             :     10241U,     // LDAPF_lu10_ba
     411             :     10241U,     // LDAPF_u10
     412             :     14682697U,  // LDAWB_l2rus
     413             :     14682697U,  // LDAWB_l3r
     414             :     27484U,     // LDAWCP_lu6
     415             :     27484U,     // LDAWCP_u6
     416             :     100937U,    // LDAWDP_lru6
     417             :     100937U,    // LDAWDP_ru6
     418             :     12585545U,  // LDAWF_l2rus
     419             :     12585545U,  // LDAWF_l3r
     420             :     109129U,    // LDAWSP_lru6
     421             :     109129U,    // LDAWSP_ru6
     422             :     2244U,      // LDC_lru6
     423             :     2244U,      // LDC_ru6
     424             :     1263U,      // LDET_0R
     425             :     186649137U, // LDIVU_l5r
     426             :     1233U,      // LDSED_0R
     427             :     1173U,      // LDSPC_0R
     428             :     1203U,      // LDSSR_0R
     429             :     117327U,    // LDWCP_lru6
     430             :     27498U,     // LDWCP_lu10
     431             :     117327U,    // LDWCP_ru6
     432             :     27498U,     // LDWCP_u10
     433             :     100943U,    // LDWDP_lru6
     434             :     100943U,    // LDWDP_ru6
     435             :     109135U,    // LDWSP_lru6
     436             :     109135U,    // LDWSP_ru6
     437             :     12585551U,  // LDW_2rus
     438             :     12585551U,  // LDW_3r
     439             :     270534951U, // LMUL_l6r
     440             :     2099614U,   // LSS_3r
     441             :     45093054U,  // LSUB_l5r
     442             :     2099756U,   // LSU_3r
     443             :     455084433U, // MACCS_l4r
     444             :     455084570U, // MACCU_l4r
     445             :     27574U,     // MJOIN_1r
     446             :     2311U,      // MKMSK_2r
     447             :     2311U,      // MKMSK_rus
     448             :     27519U,     // MSYNC_1r
     449             :     2099496U,   // MUL_l3r
     450             :     2291U,      // NEG
     451             :     2547U,      // NOT
     452             :     2099570U,   // OR_3r
     453             :     35832U,     // OUTCT_2r
     454             :     35832U,     // OUTCT_rus
     455             :     78681171U,  // OUTPW_l2rus
     456             :     39905U,     // OUTSHR_2r
     457             :     35865U,     // OUTT_2r
     458             :     35875U,     // OUT_2r
     459             :     6334721U,   // PEEK_2r
     460             :     2099608U,   // REMS_l3r
     461             :     2099745U,   // REMU_l3r
     462             :     10561U,     // RETSP_lu6
     463             :     10561U,     // RETSP_u6
     464             :     35754U,     // SETCLK_l2r
     465             :     10264U,     // SETCP_1r
     466             :     35734U,     // SETC_l2r
     467             :     35734U,     // SETC_lru6
     468             :     35734U,     // SETC_ru6
     469             :     10273U,     // SETDP_1r
     470             :     35744U,     // SETD_2r
     471             :     126014U,    // SETEV_1r
     472             :     780U,       // SETKEP_0R
     473             :     35777U,     // SETN_l2r
     474             :     35722U,     // SETPSC_2r
     475             :     35957U,     // SETPS_l2r
     476             :     35854U,     // SETPT_2r
     477             :     35945U,     // SETRDY_l2r
     478             :     10282U,     // SETSP_1r
     479             :     10621U,     // SETSR_branch_lu6
     480             :     10621U,     // SETSR_branch_u6
     481             :     10621U,     // SETSR_lu6
     482             :     10621U,     // SETSR_u6
     483             :     35934U,     // SETTW_l2r
     484             :     126025U,    // SETV_1r
     485             :     788991U,    // SEXT_2r
     486             :     788991U,    // SEXT_rus
     487             :     2099483U,   // SHL_2rus
     488             :     2099483U,   // SHL_3r
     489             :     2099557U,   // SHR_2rus
     490             :     2099557U,   // SHR_3r
     491             :     1291U,      // SSYNC_0r
     492             :     12585025U,  // ST16_l3r
     493             :     12585037U,  // ST8_l3r
     494             :     1277U,      // STET_0R
     495             :     1248U,      // STSED_0R
     496             :     1188U,      // STSPC_0R
     497             :     1218U,      // STSSR_0R
     498             :     100954U,    // STWDP_lru6
     499             :     100954U,    // STWDP_ru6
     500             :     109146U,    // STWSP_lru6
     501             :     109146U,    // STWSP_ru6
     502             :     12585562U,  // STW_2rus
     503             :     12585562U,  // STW_l3r
     504             :     2099391U,   // SUB_2rus
     505             :     2099391U,   // SUB_3r
     506             :     27595U,     // SYNCR_1r
     507             :     6334912U,   // TESTCT_2r
     508             :     6334738U,   // TESTLCL_l2r
     509             :     6334920U,   // TESTWCT_2r
     510             :     3435U,      // TSETMR_2r
     511             :     138365U,    // TSETR_3r
     512             :     27788U,     // TSTART_1R
     513             :     10467U,     // WAITEF_1R
     514             :     10715U,     // WAITET_1R
     515             :     1424U,      // WAITEU_0R
     516             :     2099569U,   // XOR_l3r
     517             :     788997U,    // ZEXT_2r
     518             :     788997U,    // ZEXT_rus
     519             :   };
     520             : 
     521        1786 :   O << "\t";
     522             : 
     523             :   // Emit the opcode for the instruction.
     524             :   uint32_t Bits = 0;
     525        1786 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
     526             :   assert(Bits != 0 && "Cannot print this instruction.");
     527        1786 :   O << AsmStrs+(Bits & 2047)-1;
     528             : 
     529             : 
     530             :   // Fragment 0 encoded into 2 bits for 4 unique commands.
     531        1786 :   switch ((Bits >> 11) & 3) {
     532           0 :   default: llvm_unreachable("Invalid command number.");
     533             :   case 0:
     534             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
     535             :     return;
     536             :     break;
     537        1693 :   case 1:
     538             :     // ADJCALLSTACKDOWN, ADJCALLSTACKUP, EH_RETURN, FRAME_TO_ARGS_OFFSET, LDA...
     539        1693 :     printOperand(MI, 0, O);
     540        1693 :     break;
     541          29 :   case 2:
     542             :     // BR_JT, BR_JT32, CRC8_l4r, INITCP_2r, INITDP_2r, INITLR_l2r, INITPC_2r,...
     543          29 :     printOperand(MI, 1, O);
     544          29 :     break;
     545           3 :   case 3:
     546             :     // OUTSHR_2r, TSETR_3r
     547           3 :     printOperand(MI, 2, O);
     548           3 :     break;
     549             :   }
     550             : 
     551             : 
     552             :   // Fragment 1 encoded into 5 bits for 17 unique commands.
     553        1725 :   switch ((Bits >> 13) & 31) {
     554           0 :   default: llvm_unreachable("Invalid command number.");
     555         549 :   case 0:
     556             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ADD_2rus, ADD_3r, A...
     557         549 :     O << ", ";
     558         549 :     break;
     559             :   case 1:
     560             :     // ADJCALLSTACKUP, FRAME_TO_ARGS_OFFSET, BAU_1r, BLAT_lu6, BLAT_u6, BLA_1...
     561             :     return;
     562             :     break;
     563           0 :   case 2:
     564             :     // BR_JT, BR_JT32
     565           0 :     O << "\n";
     566           0 :     break;
     567             :   case 3:
     568             :     // BLACP_lu10, BLACP_u10, CLRPT_1R, EDU_1r, EEU_1r, FREER_1r, LDAWCP_lu6,...
     569             :     O << ']';
     570             :     return;
     571             :     break;
     572          39 :   case 4:
     573             :     // CHKCT_2r, CHKCT_rus, OUTCT_2r, OUTCT_rus, OUTPW_l2rus, OUTSHR_2r, OUTT...
     574          39 :     O << "], ";
     575          39 :     break;
     576          32 :   case 5:
     577             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     578          32 :     O << ", res[";
     579          32 :     break;
     580           2 :   case 6:
     581             :     // GETPS_l2r
     582           2 :     O << ", ps[";
     583           2 :     printOperand(MI, 1, O);
     584             :     O << ']';
     585             :     return;
     586             :     break;
     587           3 :   case 7:
     588             :     // INITCP_2r
     589           3 :     O << "]:cp, ";
     590           3 :     printOperand(MI, 0, O);
     591           3 :     return;
     592             :     break;
     593           3 :   case 8:
     594             :     // INITDP_2r
     595           3 :     O << "]:dp, ";
     596           3 :     printOperand(MI, 0, O);
     597           3 :     return;
     598             :     break;
     599           3 :   case 9:
     600             :     // INITLR_l2r
     601           3 :     O << "]:lr, ";
     602           3 :     printOperand(MI, 0, O);
     603           3 :     return;
     604             :     break;
     605           3 :   case 10:
     606             :     // INITPC_2r
     607           3 :     O << "]:pc, ";
     608           3 :     printOperand(MI, 0, O);
     609           3 :     return;
     610             :     break;
     611           3 :   case 11:
     612             :     // INITSP_2r
     613           3 :     O << "]:sp, ";
     614           3 :     printOperand(MI, 0, O);
     615           3 :     return;
     616             :     break;
     617         102 :   case 12:
     618             :     // LDAWDP_lru6, LDAWDP_ru6, LDWDP_lru6, LDWDP_ru6, STWDP_lru6, STWDP_ru6
     619         102 :     O << ", dp[";
     620         102 :     printOperand(MI, 1, O);
     621             :     O << ']';
     622             :     return;
     623             :     break;
     624         309 :   case 13:
     625             :     // LDAWSP_lru6, LDAWSP_ru6, LDWSP_lru6, LDWSP_ru6, STWSP_lru6, STWSP_ru6
     626         309 :     O << ", sp[";
     627         309 :     printOperand(MI, 1, O);
     628             :     O << ']';
     629             :     return;
     630             :     break;
     631          34 :   case 14:
     632             :     // LDWCP_lru6, LDWCP_ru6
     633          34 :     O << ", cp[";
     634          34 :     printOperand(MI, 1, O);
     635             :     O << ']';
     636             :     return;
     637             :     break;
     638           7 :   case 15:
     639             :     // SETEV_1r, SETV_1r
     640           7 :     O << "], r11";
     641           7 :     return;
     642             :     break;
     643           1 :   case 16:
     644             :     // TSETR_3r
     645           1 :     O << "]:r";
     646           1 :     printOperand(MI, 0, O);
     647           1 :     O << ", ";
     648           1 :     printOperand(MI, 1, O);
     649           1 :     return;
     650             :     break;
     651             :   }
     652             : 
     653             : 
     654             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
     655         620 :   switch ((Bits >> 18) & 7) {
     656           0 :   default: llvm_unreachable("Invalid command number.");
     657         582 :   case 0:
     658             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ADD_2rus, ADD_3r, A...
     659         582 :     printOperand(MI, 1, O);
     660         582 :     break;
     661           0 :   case 1:
     662             :     // BR_JT
     663           0 :     printInlineJT(MI, 0, O);
     664           0 :     return;
     665             :     break;
     666           0 :   case 2:
     667             :     // BR_JT32
     668           0 :     printInlineJT32(MI, 0, O);
     669           0 :     return;
     670             :     break;
     671          24 :   case 3:
     672             :     // ANDNOT_2r, CRC_l3r, INSHR_2r, SEXT_2r, SEXT_rus, ZEXT_2r, ZEXT_rus
     673          24 :     printOperand(MI, 2, O);
     674          24 :     break;
     675          14 :   case 4:
     676             :     // CRC8_l4r, LADD_l5r, LSUB_l5r, OUTPW_l2rus
     677          14 :     printOperand(MI, 0, O);
     678          14 :     O << ", ";
     679          14 :     break;
     680             :   }
     681             : 
     682             : 
     683             :   // Fragment 3 encoded into 3 bits for 8 unique commands.
     684         620 :   switch ((Bits >> 21) & 7) {
     685           0 :   default: llvm_unreachable("Invalid command number.");
     686             :   case 0:
     687             :     // ADJCALLSTACKDOWN, EH_RETURN, LDAWFI, LDWFI, STWFI, ANDNOT_2r, BITREV_l...
     688             :     return;
     689             :     break;
     690         157 :   case 1:
     691             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, CRC_l3r, DIVS_l3r, DIV...
     692         157 :     O << ", ";
     693         157 :     break;
     694           2 :   case 2:
     695             :     // CRC8_l4r
     696           2 :     printOperand(MI, 3, O);
     697           2 :     O << ", ";
     698           2 :     printOperand(MI, 4, O);
     699           2 :     return;
     700             :     break;
     701             :   case 3:
     702             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     703             :     O << ']';
     704             :     return;
     705             :     break;
     706           1 :   case 4:
     707             :     // INPW_l2rus
     708           1 :     O << "], ";
     709           1 :     printOperand(MI, 2, O);
     710           1 :     return;
     711             :     break;
     712          12 :   case 5:
     713             :     // LADD_l5r, LSUB_l5r, OUTPW_l2rus
     714          12 :     printOperand(MI, 2, O);
     715          12 :     break;
     716             :   case 6:
     717             :     // LD16S_3r, LD8U_3r, LDA16F_l3r, LDAWF_l2rus, LDAWF_l3r, LDW_2rus, LDW_3...
     718             :     O << '[';
     719         157 :     printOperand(MI, 2, O);
     720             :     O << ']';
     721             :     return;
     722             :     break;
     723           5 :   case 7:
     724             :     // LDA16B_l3r, LDAWB_l2rus, LDAWB_l3r
     725           5 :     O << "[-";
     726           5 :     printOperand(MI, 2, O);
     727             :     O << ']';
     728             :     return;
     729             :     break;
     730             :   }
     731             : 
     732             : 
     733             :   // Fragment 4 encoded into 3 bits for 5 unique commands.
     734         169 :   switch ((Bits >> 24) & 7) {
     735           0 :   default: llvm_unreachable("Invalid command number.");
     736         148 :   case 0:
     737             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     738         148 :     printOperand(MI, 2, O);
     739         148 :     break;
     740           2 :   case 1:
     741             :     // CRC_l3r
     742           2 :     printOperand(MI, 3, O);
     743           2 :     return;
     744             :     break;
     745          11 :   case 2:
     746             :     // LADD_l5r, LSUB_l5r
     747          11 :     O << ", ";
     748          11 :     printOperand(MI, 3, O);
     749          11 :     O << ", ";
     750          11 :     printOperand(MI, 4, O);
     751          11 :     return;
     752             :     break;
     753           7 :   case 3:
     754             :     // LDIVU_l5r, MACCS_l4r, MACCU_l4r
     755           7 :     printOperand(MI, 4, O);
     756           7 :     O << ", ";
     757           7 :     break;
     758             :   case 4:
     759             :     // OUTPW_l2rus
     760             :     return;
     761             :     break;
     762             :   }
     763             : 
     764             : 
     765             :   // Fragment 5 encoded into 2 bits for 4 unique commands.
     766         155 :   switch ((Bits >> 27) & 3) {
     767           0 :   default: llvm_unreachable("Invalid command number.");
     768             :   case 0:
     769             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     770             :     return;
     771             :     break;
     772           1 :   case 1:
     773             :     // LDIVU_l5r
     774           1 :     printOperand(MI, 2, O);
     775           1 :     O << ", ";
     776           1 :     printOperand(MI, 3, O);
     777           1 :     return;
     778             :     break;
     779          12 :   case 2:
     780             :     // LMUL_l6r
     781          12 :     O << ", ";
     782          12 :     printOperand(MI, 3, O);
     783          12 :     O << ", ";
     784          12 :     printOperand(MI, 4, O);
     785          12 :     O << ", ";
     786          12 :     printOperand(MI, 5, O);
     787          12 :     return;
     788             :     break;
     789           6 :   case 3:
     790             :     // MACCS_l4r, MACCU_l4r
     791           6 :     printOperand(MI, 5, O);
     792           6 :     return;
     793             :     break;
     794             :   }
     795             : 
     796             : }
     797             : 
     798             : 
     799             : /// getRegisterName - This method is automatically generated by tblgen
     800             : /// from the register set description.  This returns the assembler name
     801             : /// for the specified register.
     802        2049 : const char *XCoreInstPrinter::getRegisterName(unsigned RegNo) {
     803             :   assert(RegNo && RegNo < 17 && "Invalid register number!");
     804             : 
     805             :   static const char AsmStrs[] = {
     806             :   /* 0 */ 'r', '1', '0', 0,
     807             :   /* 4 */ 'r', '0', 0,
     808             :   /* 7 */ 'r', '1', '1', 0,
     809             :   /* 11 */ 'r', '1', 0,
     810             :   /* 14 */ 'r', '2', 0,
     811             :   /* 17 */ 'r', '3', 0,
     812             :   /* 20 */ 'r', '4', 0,
     813             :   /* 23 */ 'r', '5', 0,
     814             :   /* 26 */ 'r', '6', 0,
     815             :   /* 29 */ 'r', '7', 0,
     816             :   /* 32 */ 'r', '8', 0,
     817             :   /* 35 */ 'r', '9', 0,
     818             :   /* 38 */ 'c', 'p', 0,
     819             :   /* 41 */ 'd', 'p', 0,
     820             :   /* 44 */ 's', 'p', 0,
     821             :   /* 47 */ 'l', 'r', 0,
     822             :   };
     823             : 
     824             :   static const uint8_t RegAsmOffset[] = {
     825             :     38, 41, 47, 44, 4, 11, 14, 17, 20, 23, 26, 29, 32, 35, 
     826             :     0, 7, 
     827             :   };
     828             : 
     829             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
     830             :           "Invalid alt name index for register!");
     831        2049 :   return AsmStrs+RegAsmOffset[RegNo-1];
     832             : }
     833             : 
     834             : #ifdef PRINT_ALIAS_INSTR
     835             : #undef PRINT_ALIAS_INSTR
     836             : 
     837             : bool XCoreInstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
     838             :   return false;
     839             : }
     840             : 
     841             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13