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-05-20 00:06:23 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        1785 : 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             :     2250U,      // ADD_2rus
     294             :     2250U,      // ADD_3r
     295             :     2099323U,   // ADJCALLSTACKDOWN
     296             :     10383U,     // ADJCALLSTACKUP
     297             :     2361840U,   // ANDNOT_2r
     298             :     2255U,      // AND_3r
     299             :     2404U,      // ASHR_l2rus
     300             :     2404U,      // ASHR_l3r
     301             :     10769U,     // BAU_1r
     302             :     2099777U,   // BITREV_l2r
     303             :     19319U,     // BLACP_lu10
     304             :     19319U,     // BLACP_u10
     305             :     10672U,     // BLAT_lu6
     306             :     10672U,     // BLAT_u6
     307             :     10425U,     // BLA_1r
     308             :     10510U,     // BLRB_lu10
     309             :     10510U,     // BLRB_u10
     310             :     10510U,     // BLRF_lu10
     311             :     10510U,     // BLRF_u10
     312             :     2099418U,   // BRBF_lru6
     313             :     2099418U,   // BRBF_ru6
     314             :     2099638U,   // BRBT_lru6
     315             :     2099638U,   // BRBT_ru6
     316             :     10774U,     // BRBU_lu6
     317             :     10774U,     // BRBU_u6
     318             :     2099418U,   // BRFF_lru6
     319             :     2099418U,   // BRFF_ru6
     320             :     2099638U,   // BRFT_lru6
     321             :     2099638U,   // BRFT_ru6
     322             :     10774U,     // BRFU_lu6
     323             :     10774U,     // BRFU_u6
     324             :     10791U,     // BRU_1r
     325             :     553511U,    // BR_JT
     326             :     815655U,    // BR_JT32
     327             :     2099768U,   // BYTEREV_l2r
     328             :     2132973U,   // CHKCT_2r
     329             :     2132973U,   // CHKCT_rus
     330             :     1321U,      // CLRE_0R
     331             :     19459U,     // CLRPT_1R
     332             :     10614U,     // CLRSR_branch_lu6
     333             :     10614U,     // CLRSR_branch_u6
     334             :     10614U,     // CLRSR_lu6
     335             :     10614U,     // CLRSR_u6
     336             :     2099807U,   // CLZ_l2r
     337             :     5247047U,   // CRC8_l4r
     338             :     17041459U,  // CRC_l3r
     339             :     1340U,      // DCALL_0R
     340             :     1372U,      // DENTSP_0R
     341             :     10488U,     // DGETREG_1r
     342             :     2474U,      // DIVS_l3r
     343             :     2610U,      // DIVU_l3r
     344             :     1379U,      // DRESTSP_0R
     345             :     1414U,      // DRET_0R
     346             :     10475U,     // ECALLF_1r
     347             :     10723U,     // ECALLT_1r
     348             :     19500U,     // EDU_1r
     349             :     6334686U,   // EEF_2r
     350             :     6334929U,   // EET_2r
     351             :     19509U,     // EEU_1r
     352             :     2099310U,   // EH_RETURN
     353             :     6334765U,   // ENDIN_2r
     354             :     10569U,     // ENTSP_lu6
     355             :     10569U,     // ENTSP_u6
     356             :     2400U,      // EQ_2rus
     357             :     2400U,      // EQ_3r
     358             :     10554U,     // EXTDP_lu6
     359             :     10554U,     // EXTDP_u6
     360             :     10585U,     // EXTSP_lu6
     361             :     10585U,     // EXTSP_u6
     362             :     10401U,     // FRAME_TO_ARGS_OFFSET
     363             :     19414U,     // FREER_1r
     364             :     1408U,      // FREET_0R
     365             :     6334676U,   // GETD_l2r
     366             :     1297U,      // GETED_0R
     367             :     1396U,      // GETET_0R
     368             :     1309U,      // GETID_0R
     369             :     1346U,      // GETKEP_0R
     370             :     1359U,      // GETKSP_0R
     371             :     6334772U,   // GETN_l2r
     372             :     51670U,     // GETPS_l2r
     373             :     2099588U,   // GETR_rus
     374             :     10252U,     // GETSR_lu6
     375             :     10252U,     // GETSR_u6
     376             :     6334968U,   // GETST_2r
     377             :     6334883U,   // GETTS_2r
     378             :     6334906U,   // INCT_2r
     379             :     62596U,     // INITCP_2r
     380             :     70788U,     // INITDP_2r
     381             :     78980U,     // INITLR_l2r
     382             :     87172U,     // INITPC_2r
     383             :     95364U,     // INITSP_2r
     384             :     8432212U,   // INPW_l2rus
     385             :     6596970U,   // INSHR_2r
     386             :     6334955U,   // INT_2r
     387             :     6334768U,   // IN_2r
     388             :     833U,       // Int_MemBarrier
     389             :     10528U,     // KCALL_1r
     390             :     10528U,     // KCALL_lu6
     391             :     10528U,     // KCALL_u6
     392             :     10568U,     // KENTSP_lu6
     393             :     10568U,     // KENTSP_u6
     394             :     10576U,     // KRESTSP_lu6
     395             :     10576U,     // KRESTSP_u6
     396             :     1419U,      // KRET_0R
     397             :     45093065U,  // LADD_l5r
     398             :     12585354U,  // LD16S_3r
     399             :     12585483U,  // LD8U_3r
     400             :     14682170U,  // LDA16B_l3r
     401             :     12585018U,  // LDA16F_l3r
     402             :     10241U,     // LDAPB_lu10
     403             :     10241U,     // LDAPB_u10
     404             :     10241U,     // LDAPF_lu10
     405             :     10241U,     // LDAPF_lu10_ba
     406             :     10241U,     // LDAPF_u10
     407             :     14682697U,  // LDAWB_l2rus
     408             :     14682697U,  // LDAWB_l3r
     409             :     19292U,     // LDAWCP_lu6
     410             :     19292U,     // LDAWCP_u6
     411             :     100937U,    // LDAWDP_lru6
     412             :     100937U,    // LDAWDP_ru6
     413             :     2099282U,   // LDAWFI
     414             :     12585545U,  // LDAWF_l2rus
     415             :     12585545U,  // LDAWF_l3r
     416             :     109129U,    // LDAWSP_lru6
     417             :     109129U,    // LDAWSP_ru6
     418             :     2099396U,   // LDC_lru6
     419             :     2099396U,   // LDC_ru6
     420             :     1263U,      // LDET_0R
     421             :     184551985U, // LDIVU_l5r
     422             :     1233U,      // LDSED_0R
     423             :     1173U,      // LDSPC_0R
     424             :     1203U,      // LDSSR_0R
     425             :     117327U,    // LDWCP_lru6
     426             :     19306U,     // LDWCP_lu10
     427             :     117327U,    // LDWCP_ru6
     428             :     19306U,     // LDWCP_u10
     429             :     100943U,    // LDWDP_lru6
     430             :     100943U,    // LDWDP_ru6
     431             :     2099292U,   // LDWFI
     432             :     109135U,    // LDWSP_lru6
     433             :     109135U,    // LDWSP_ru6
     434             :     12585551U,  // LDW_2rus
     435             :     12585551U,  // LDW_3r
     436             :     268437799U, // LMUL_l6r
     437             :     2462U,      // LSS_3r
     438             :     45093054U,  // LSUB_l5r
     439             :     2604U,      // LSU_3r
     440             :     452987281U, // MACCS_l4r
     441             :     452987418U, // MACCU_l4r
     442             :     19382U,     // MJOIN_1r
     443             :     2099463U,   // MKMSK_2r
     444             :     2099463U,   // MKMSK_rus
     445             :     19327U,     // MSYNC_1r
     446             :     2344U,      // MUL_l3r
     447             :     2099443U,   // NEG
     448             :     2099699U,   // NOT
     449             :     2418U,      // OR_3r
     450             :     2132984U,   // OUTCT_2r
     451             :     2132984U,   // OUTCT_rus
     452             :     78681171U,  // OUTPW_l2rus
     453             :     2137057U,   // OUTSHR_2r
     454             :     2133017U,   // OUTT_2r
     455             :     2133027U,   // OUT_2r
     456             :     6334721U,   // PEEK_2r
     457             :     2456U,      // REMS_l3r
     458             :     2593U,      // REMU_l3r
     459             :     10561U,     // RETSP_lu6
     460             :     10561U,     // RETSP_u6
     461             :     612U,       // SELECT_CC
     462             :     2132906U,   // SETCLK_l2r
     463             :     10264U,     // SETCP_1r
     464             :     2132886U,   // SETC_l2r
     465             :     2132886U,   // SETC_lru6
     466             :     2132886U,   // SETC_ru6
     467             :     10273U,     // SETDP_1r
     468             :     2132896U,   // SETD_2r
     469             :     126014U,    // SETEV_1r
     470             :     780U,       // SETKEP_0R
     471             :     2132929U,   // SETN_l2r
     472             :     2132874U,   // SETPSC_2r
     473             :     2133109U,   // SETPS_l2r
     474             :     2133006U,   // SETPT_2r
     475             :     2133097U,   // SETRDY_l2r
     476             :     10282U,     // SETSP_1r
     477             :     10621U,     // SETSR_branch_lu6
     478             :     10621U,     // SETSR_branch_u6
     479             :     10621U,     // SETSR_lu6
     480             :     10621U,     // SETSR_u6
     481             :     2133086U,   // SETTW_l2r
     482             :     126025U,    // SETV_1r
     483             :     2361855U,   // SEXT_2r
     484             :     2361855U,   // SEXT_rus
     485             :     2331U,      // SHL_2rus
     486             :     2331U,      // SHL_3r
     487             :     2405U,      // SHR_2rus
     488             :     2405U,      // SHR_3r
     489             :     1291U,      // SSYNC_0r
     490             :     12585025U,  // ST16_l3r
     491             :     12585037U,  // ST8_l3r
     492             :     1277U,      // STET_0R
     493             :     1248U,      // STSED_0R
     494             :     1188U,      // STSPC_0R
     495             :     1218U,      // STSSR_0R
     496             :     100954U,    // STWDP_lru6
     497             :     100954U,    // STWDP_ru6
     498             :     2099301U,   // STWFI
     499             :     109146U,    // STWSP_lru6
     500             :     109146U,    // STWSP_ru6
     501             :     12585562U,  // STW_2rus
     502             :     12585562U,  // STW_l3r
     503             :     2239U,      // SUB_2rus
     504             :     2239U,      // SUB_3r
     505             :     19403U,     // SYNCR_1r
     506             :     6334912U,   // TESTCT_2r
     507             :     6334738U,   // TESTLCL_l2r
     508             :     6334920U,   // TESTWCT_2r
     509             :     2100587U,   // TSETMR_2r
     510             :     138365U,    // TSETR_3r
     511             :     19596U,     // TSTART_1R
     512             :     10467U,     // WAITEF_1R
     513             :     10715U,     // WAITET_1R
     514             :     1424U,      // WAITEU_0R
     515             :     2417U,      // XOR_l3r
     516             :     2361861U,   // ZEXT_2r
     517             :     2361861U,   // ZEXT_rus
     518             :   };
     519             : 
     520        1785 :   O << "\t";
     521             : 
     522             :   // Emit the opcode for the instruction.
     523             :   uint32_t Bits = 0;
     524        1785 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
     525             :   assert(Bits != 0 && "Cannot print this instruction.");
     526        1785 :   O << AsmStrs+(Bits & 2047)-1;
     527             : 
     528             : 
     529             :   // Fragment 0 encoded into 2 bits for 4 unique commands.
     530        1785 :   switch ((Bits >> 11) & 3) {
     531           0 :   default: llvm_unreachable("Invalid command number.");
     532             :   case 0:
     533             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
     534             :     return;
     535             :     break;
     536        1692 :   case 1:
     537             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, ADJCALLSTACKUP, ANDNOT_2r, AND_3r,...
     538        1692 :     printOperand(MI, 0, O);
     539        1692 :     break;
     540          29 :   case 2:
     541             :     // BR_JT, BR_JT32, CRC8_l4r, INITCP_2r, INITDP_2r, INITLR_l2r, INITPC_2r,...
     542          29 :     printOperand(MI, 1, O);
     543          29 :     break;
     544           3 :   case 3:
     545             :     // OUTSHR_2r, TSETR_3r
     546           3 :     printOperand(MI, 2, O);
     547           3 :     break;
     548             :   }
     549             : 
     550             : 
     551             :   // Fragment 1 encoded into 5 bits for 17 unique commands.
     552        1724 :   switch ((Bits >> 13) & 31) {
     553           0 :   default: llvm_unreachable("Invalid command number.");
     554         548 :   case 0:
     555             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, ANDNOT_2r, AND_3r, ASHR_l2rus, ASH...
     556         548 :     O << ", ";
     557         548 :     break;
     558             :   case 1:
     559             :     // ADJCALLSTACKUP, BAU_1r, BLAT_lu6, BLAT_u6, BLA_1r, BLRB_lu10, BLRB_u10...
     560             :     return;
     561             :     break;
     562             :   case 2:
     563             :     // BLACP_lu10, BLACP_u10, CLRPT_1R, EDU_1r, EEU_1r, FREER_1r, LDAWCP_lu6,...
     564             :     O << ']';
     565             :     return;
     566             :     break;
     567           0 :   case 3:
     568             :     // BR_JT, BR_JT32
     569           0 :     O << "\n";
     570           0 :     break;
     571          39 :   case 4:
     572             :     // CHKCT_2r, CHKCT_rus, OUTCT_2r, OUTCT_rus, OUTPW_l2rus, OUTSHR_2r, OUTT...
     573          39 :     O << "], ";
     574          39 :     break;
     575          32 :   case 5:
     576             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     577          32 :     O << ", res[";
     578          32 :     break;
     579           2 :   case 6:
     580             :     // GETPS_l2r
     581           2 :     O << ", ps[";
     582           2 :     printOperand(MI, 1, O);
     583             :     O << ']';
     584             :     return;
     585             :     break;
     586           3 :   case 7:
     587             :     // INITCP_2r
     588           3 :     O << "]:cp, ";
     589           3 :     printOperand(MI, 0, O);
     590           3 :     return;
     591             :     break;
     592           3 :   case 8:
     593             :     // INITDP_2r
     594           3 :     O << "]:dp, ";
     595           3 :     printOperand(MI, 0, O);
     596           3 :     return;
     597             :     break;
     598           3 :   case 9:
     599             :     // INITLR_l2r
     600           3 :     O << "]:lr, ";
     601           3 :     printOperand(MI, 0, O);
     602           3 :     return;
     603             :     break;
     604           3 :   case 10:
     605             :     // INITPC_2r
     606           3 :     O << "]:pc, ";
     607           3 :     printOperand(MI, 0, O);
     608           3 :     return;
     609             :     break;
     610           3 :   case 11:
     611             :     // INITSP_2r
     612           3 :     O << "]:sp, ";
     613           3 :     printOperand(MI, 0, O);
     614           3 :     return;
     615             :     break;
     616         102 :   case 12:
     617             :     // LDAWDP_lru6, LDAWDP_ru6, LDWDP_lru6, LDWDP_ru6, STWDP_lru6, STWDP_ru6
     618         102 :     O << ", dp[";
     619         102 :     printOperand(MI, 1, O);
     620             :     O << ']';
     621             :     return;
     622             :     break;
     623         309 :   case 13:
     624             :     // LDAWSP_lru6, LDAWSP_ru6, LDWSP_lru6, LDWSP_ru6, STWSP_lru6, STWSP_ru6
     625         309 :     O << ", sp[";
     626         309 :     printOperand(MI, 1, O);
     627             :     O << ']';
     628             :     return;
     629             :     break;
     630          33 :   case 14:
     631             :     // LDWCP_lru6, LDWCP_ru6
     632          33 :     O << ", cp[";
     633          33 :     printOperand(MI, 1, O);
     634             :     O << ']';
     635             :     return;
     636             :     break;
     637           7 :   case 15:
     638             :     // SETEV_1r, SETV_1r
     639           7 :     O << "], r11";
     640           7 :     return;
     641             :     break;
     642           1 :   case 16:
     643             :     // TSETR_3r
     644           1 :     O << "]:r";
     645           1 :     printOperand(MI, 0, O);
     646           1 :     O << ", ";
     647           1 :     printOperand(MI, 1, O);
     648           1 :     return;
     649             :     break;
     650             :   }
     651             : 
     652             : 
     653             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
     654         619 :   switch ((Bits >> 18) & 7) {
     655           0 :   default: llvm_unreachable("Invalid command number.");
     656         581 :   case 0:
     657             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, AND_3r, ASHR_l2rus, ASHR_l3r, BITR...
     658         581 :     printOperand(MI, 1, O);
     659         581 :     break;
     660          24 :   case 1:
     661             :     // ANDNOT_2r, CRC_l3r, INSHR_2r, SEXT_2r, SEXT_rus, ZEXT_2r, ZEXT_rus
     662          24 :     printOperand(MI, 2, O);
     663          24 :     break;
     664           0 :   case 2:
     665             :     // BR_JT
     666           0 :     printInlineJT(MI, 0, O);
     667           0 :     return;
     668             :     break;
     669           0 :   case 3:
     670             :     // BR_JT32
     671           0 :     printInlineJT32(MI, 0, O);
     672           0 :     return;
     673             :     break;
     674          14 :   case 4:
     675             :     // CRC8_l4r, LADD_l5r, LSUB_l5r, OUTPW_l2rus
     676          14 :     printOperand(MI, 0, O);
     677          14 :     O << ", ";
     678          14 :     break;
     679             :   }
     680             : 
     681             : 
     682             :   // Fragment 3 encoded into 3 bits for 8 unique commands.
     683         619 :   switch ((Bits >> 21) & 7) {
     684           0 :   default: llvm_unreachable("Invalid command number.");
     685         157 :   case 0:
     686             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, CRC_l3r, DIVS_l3r, DIV...
     687         157 :     O << ", ";
     688         157 :     break;
     689             :   case 1:
     690             :     // ADJCALLSTACKDOWN, ANDNOT_2r, BITREV_l2r, BRBF_lru6, BRBF_ru6, BRBT_lru...
     691             :     return;
     692             :     break;
     693           2 :   case 2:
     694             :     // CRC8_l4r
     695           2 :     printOperand(MI, 3, O);
     696           2 :     O << ", ";
     697           2 :     printOperand(MI, 4, O);
     698           2 :     return;
     699             :     break;
     700             :   case 3:
     701             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     702             :     O << ']';
     703             :     return;
     704             :     break;
     705           1 :   case 4:
     706             :     // INPW_l2rus
     707           1 :     O << "], ";
     708           1 :     printOperand(MI, 2, O);
     709           1 :     return;
     710             :     break;
     711          12 :   case 5:
     712             :     // LADD_l5r, LSUB_l5r, OUTPW_l2rus
     713          12 :     printOperand(MI, 2, O);
     714          12 :     break;
     715             :   case 6:
     716             :     // LD16S_3r, LD8U_3r, LDA16F_l3r, LDAWF_l2rus, LDAWF_l3r, LDW_2rus, LDW_3...
     717             :     O << '[';
     718         157 :     printOperand(MI, 2, O);
     719             :     O << ']';
     720             :     return;
     721             :     break;
     722           5 :   case 7:
     723             :     // LDA16B_l3r, LDAWB_l2rus, LDAWB_l3r
     724           5 :     O << "[-";
     725           5 :     printOperand(MI, 2, O);
     726             :     O << ']';
     727             :     return;
     728             :     break;
     729             :   }
     730             : 
     731             : 
     732             :   // Fragment 4 encoded into 3 bits for 5 unique commands.
     733         169 :   switch ((Bits >> 24) & 7) {
     734           0 :   default: llvm_unreachable("Invalid command number.");
     735         148 :   case 0:
     736             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     737         148 :     printOperand(MI, 2, O);
     738         148 :     break;
     739           2 :   case 1:
     740             :     // CRC_l3r
     741           2 :     printOperand(MI, 3, O);
     742           2 :     return;
     743             :     break;
     744          11 :   case 2:
     745             :     // LADD_l5r, LSUB_l5r
     746          11 :     O << ", ";
     747          11 :     printOperand(MI, 3, O);
     748          11 :     O << ", ";
     749          11 :     printOperand(MI, 4, O);
     750          11 :     return;
     751             :     break;
     752           7 :   case 3:
     753             :     // LDIVU_l5r, MACCS_l4r, MACCU_l4r
     754           7 :     printOperand(MI, 4, O);
     755           7 :     O << ", ";
     756           7 :     break;
     757             :   case 4:
     758             :     // OUTPW_l2rus
     759             :     return;
     760             :     break;
     761             :   }
     762             : 
     763             : 
     764             :   // Fragment 5 encoded into 2 bits for 4 unique commands.
     765         155 :   switch ((Bits >> 27) & 3) {
     766           0 :   default: llvm_unreachable("Invalid command number.");
     767             :   case 0:
     768             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     769             :     return;
     770             :     break;
     771           1 :   case 1:
     772             :     // LDIVU_l5r
     773           1 :     printOperand(MI, 2, O);
     774           1 :     O << ", ";
     775           1 :     printOperand(MI, 3, O);
     776           1 :     return;
     777             :     break;
     778          12 :   case 2:
     779             :     // LMUL_l6r
     780          12 :     O << ", ";
     781          12 :     printOperand(MI, 3, O);
     782          12 :     O << ", ";
     783          12 :     printOperand(MI, 4, O);
     784          12 :     O << ", ";
     785          12 :     printOperand(MI, 5, O);
     786          12 :     return;
     787             :     break;
     788           6 :   case 3:
     789             :     // MACCS_l4r, MACCU_l4r
     790           6 :     printOperand(MI, 5, O);
     791           6 :     return;
     792             :     break;
     793             :   }
     794             : 
     795             : }
     796             : 
     797             : 
     798             : /// getRegisterName - This method is automatically generated by tblgen
     799             : /// from the register set description.  This returns the assembler name
     800             : /// for the specified register.
     801        2051 : const char *XCoreInstPrinter::getRegisterName(unsigned RegNo) {
     802             :   assert(RegNo && RegNo < 17 && "Invalid register number!");
     803             : 
     804             :   static const char AsmStrs[] = {
     805             :   /* 0 */ 'r', '1', '0', 0,
     806             :   /* 4 */ 'r', '0', 0,
     807             :   /* 7 */ 'r', '1', '1', 0,
     808             :   /* 11 */ 'r', '1', 0,
     809             :   /* 14 */ 'r', '2', 0,
     810             :   /* 17 */ 'r', '3', 0,
     811             :   /* 20 */ 'r', '4', 0,
     812             :   /* 23 */ 'r', '5', 0,
     813             :   /* 26 */ 'r', '6', 0,
     814             :   /* 29 */ 'r', '7', 0,
     815             :   /* 32 */ 'r', '8', 0,
     816             :   /* 35 */ 'r', '9', 0,
     817             :   /* 38 */ 'c', 'p', 0,
     818             :   /* 41 */ 'd', 'p', 0,
     819             :   /* 44 */ 's', 'p', 0,
     820             :   /* 47 */ 'l', 'r', 0,
     821             :   };
     822             : 
     823             :   static const uint8_t RegAsmOffset[] = {
     824             :     38, 41, 47, 44, 4, 11, 14, 17, 20, 23, 26, 29, 32, 35, 
     825             :     0, 7, 
     826             :   };
     827             : 
     828             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
     829             :           "Invalid alt name index for register!");
     830        2051 :   return AsmStrs+RegAsmOffset[RegNo-1];
     831             : }
     832             : 
     833             : #ifdef PRINT_ALIAS_INSTR
     834             : #undef PRINT_ALIAS_INSTR
     835             : 
     836             : bool XCoreInstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
     837             :   return false;
     838             : }
     839             : 
     840             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13