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-02-21 17:27:13 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, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
     101             :   /* 687 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
     102             :   /* 710 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
     103             :   /* 733 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
     104             :   /* 755 */ 's', 'e', 't', 32, 'k', 'e', 'p', ',', 32, 'r', '1', '1', 0,
     105             :   /* 768 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
     106             :   /* 781 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
     107             :   /* 788 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
     108             :   /* 798 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
     109             :   /* 810 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
     110             :   /* 825 */ 'l', 'd', 'a', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
     111             :   /* 839 */ 'l', 'd', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
     112             :   /* 852 */ 'b', 'l', 'a', 32, 'c', 'p', '[', 0,
     113             :   /* 860 */ 'm', 's', 'y', 'n', 'c', 32, 'r', 'e', 's', '[', 0,
     114             :   /* 871 */ 's', 'e', 't', 'p', 's', 'c', 32, 'r', 'e', 's', '[', 0,
     115             :   /* 883 */ 's', 'e', 't', 'c', 32, 'r', 'e', 's', '[', 0,
     116             :   /* 893 */ 's', 'e', 't', 'd', 32, 'r', 'e', 's', '[', 0,
     117             :   /* 903 */ 's', 'e', 't', 'c', 'l', 'k', 32, 'r', 'e', 's', '[', 0,
     118             :   /* 915 */ 'm', 'j', 'o', 'i', 'n', 32, 'r', 'e', 's', '[', 0,
     119             :   /* 926 */ 's', 'e', 't', 'n', 32, 'r', 'e', 's', '[', 0,
     120             :   /* 936 */ 's', 'y', 'n', 'c', 'r', 32, 'r', 'e', 's', '[', 0,
     121             :   /* 947 */ 'f', 'r', 'e', 'e', 'r', 32, 'r', 'e', 's', '[', 0,
     122             :   /* 958 */ 'o', 'u', 't', 's', 'h', 'r', 32, 'r', 'e', 's', '[', 0,
     123             :   /* 970 */ 'c', 'h', 'k', 'c', 't', 32, 'r', 'e', 's', '[', 0,
     124             :   /* 981 */ 'o', 'u', 't', 'c', 't', 32, 'r', 'e', 's', '[', 0,
     125             :   /* 992 */ 'c', 'l', 'r', 'p', 't', 32, 'r', 'e', 's', '[', 0,
     126             :   /* 1003 */ 's', 'e', 't', 'p', 't', 32, 'r', 'e', 's', '[', 0,
     127             :   /* 1014 */ 'o', 'u', 't', 't', 32, 'r', 'e', 's', '[', 0,
     128             :   /* 1024 */ 'o', 'u', 't', 32, 'r', 'e', 's', '[', 0,
     129             :   /* 1033 */ 'e', 'd', 'u', 32, 'r', 'e', 's', '[', 0,
     130             :   /* 1042 */ 'e', 'e', 'u', 32, 'r', 'e', 's', '[', 0,
     131             :   /* 1051 */ 's', 'e', 't', 'e', 'v', 32, 'r', 'e', 's', '[', 0,
     132             :   /* 1062 */ 's', 'e', 't', 'v', 32, 'r', 'e', 's', '[', 0,
     133             :   /* 1072 */ 'o', 'u', 't', 'p', 'w', 32, 'r', 'e', 's', '[', 0,
     134             :   /* 1083 */ 's', 'e', 't', 't', 'w', 32, 'r', 'e', 's', '[', 0,
     135             :   /* 1094 */ 's', 'e', 't', 'r', 'd', 'y', 32, 'r', 'e', 's', '[', 0,
     136             :   /* 1106 */ 's', 'e', 't', 32, 'p', 's', '[', 0,
     137             :   /* 1114 */ 's', 'e', 't', 32, 't', '[', 0,
     138             :   /* 1121 */ 'i', 'n', 'i', 't', 32, 't', '[', 0,
     139             :   /* 1129 */ 's', 't', 'a', 'r', 't', 32, 't', '[', 0,
     140             :   /* 1138 */ 'l', 'd', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
     141             :   /* 1153 */ 's', 't', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
     142             :   /* 1168 */ 'l', 'd', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
     143             :   /* 1183 */ 's', 't', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
     144             :   /* 1198 */ 'l', 'd', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
     145             :   /* 1213 */ 's', 't', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
     146             :   /* 1228 */ 'l', 'd', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
     147             :   /* 1242 */ 's', 't', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
     148             :   /* 1256 */ 's', 's', 'y', 'n', 'c', 0,
     149             :   /* 1262 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 'd', 0,
     150             :   /* 1274 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'i', 'd', 0,
     151             :   /* 1286 */ 'c', 'l', 'r', 'e', 0,
     152             :   /* 1291 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
     153             :   /* 1305 */ 'd', 'c', 'a', 'l', 'l', 0,
     154             :   /* 1311 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 'e', 'p', 0,
     155             :   /* 1324 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 's', 'p', 0,
     156             :   /* 1337 */ 'd', 'e', 'n', 't', 's', 'p', 0,
     157             :   /* 1344 */ 'd', 'r', 'e', 's', 't', 's', 'p', 0,
     158             :   /* 1352 */ 't', 's', 'e', 't', 'm', 'r', 32, 'r', 0,
     159             :   /* 1361 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 't', 0,
     160             :   /* 1373 */ 'f', 'r', 'e', 'e', 't', 0,
     161             :   /* 1379 */ 'd', 'r', 'e', 't', 0,
     162             :   /* 1384 */ 'k', 'r', 'e', 't', 0,
     163             :   /* 1389 */ 'w', 'a', 'i', 't', 'e', 'u', 0,
     164             :   };
     165             : 
     166             :   static const uint32_t OpInfo0[] = {
     167             :     0U, // PHI
     168             :     0U, // INLINEASM
     169             :     0U, // CFI_INSTRUCTION
     170             :     0U, // EH_LABEL
     171             :     0U, // GC_LABEL
     172             :     0U, // ANNOTATION_LABEL
     173             :     0U, // KILL
     174             :     0U, // EXTRACT_SUBREG
     175             :     0U, // INSERT_SUBREG
     176             :     0U, // IMPLICIT_DEF
     177             :     0U, // SUBREG_TO_REG
     178             :     0U, // COPY_TO_REGCLASS
     179             :     789U,       // DBG_VALUE
     180             :     0U, // REG_SEQUENCE
     181             :     0U, // COPY
     182             :     782U,       // BUNDLE
     183             :     811U,       // LIFETIME_START
     184             :     769U,       // LIFETIME_END
     185             :     0U, // STACKMAP
     186             :     1292U,      // FENTRY_CALL
     187             :     0U, // PATCHPOINT
     188             :     0U, // LOAD_STACK_GUARD
     189             :     0U, // STATEPOINT
     190             :     0U, // LOCAL_ESCAPE
     191             :     0U, // FAULTING_OP
     192             :     0U, // PATCHABLE_OP
     193             :     688U,       // PATCHABLE_FUNCTION_ENTER
     194             :     632U,       // PATCHABLE_RET
     195             :     734U,       // PATCHABLE_FUNCTION_EXIT
     196             :     711U,       // PATCHABLE_TAIL_CALL
     197             :     663U,       // PATCHABLE_EVENT_CALL
     198             :     0U, // G_ADD
     199             :     0U, // G_SUB
     200             :     0U, // G_MUL
     201             :     0U, // G_SDIV
     202             :     0U, // G_UDIV
     203             :     0U, // G_SREM
     204             :     0U, // G_UREM
     205             :     0U, // G_AND
     206             :     0U, // G_OR
     207             :     0U, // G_XOR
     208             :     0U, // G_IMPLICIT_DEF
     209             :     0U, // G_PHI
     210             :     0U, // G_FRAME_INDEX
     211             :     0U, // G_GLOBAL_VALUE
     212             :     0U, // G_EXTRACT
     213             :     0U, // G_UNMERGE_VALUES
     214             :     0U, // G_INSERT
     215             :     0U, // G_MERGE_VALUES
     216             :     0U, // G_PTRTOINT
     217             :     0U, // G_INTTOPTR
     218             :     0U, // G_BITCAST
     219             :     0U, // G_LOAD
     220             :     0U, // G_STORE
     221             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     222             :     0U, // G_ATOMIC_CMPXCHG
     223             :     0U, // G_ATOMICRMW_XCHG
     224             :     0U, // G_ATOMICRMW_ADD
     225             :     0U, // G_ATOMICRMW_SUB
     226             :     0U, // G_ATOMICRMW_AND
     227             :     0U, // G_ATOMICRMW_NAND
     228             :     0U, // G_ATOMICRMW_OR
     229             :     0U, // G_ATOMICRMW_XOR
     230             :     0U, // G_ATOMICRMW_MAX
     231             :     0U, // G_ATOMICRMW_MIN
     232             :     0U, // G_ATOMICRMW_UMAX
     233             :     0U, // G_ATOMICRMW_UMIN
     234             :     0U, // G_BRCOND
     235             :     0U, // G_BRINDIRECT
     236             :     0U, // G_INTRINSIC
     237             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     238             :     0U, // G_ANYEXT
     239             :     0U, // G_TRUNC
     240             :     0U, // G_CONSTANT
     241             :     0U, // G_FCONSTANT
     242             :     0U, // G_VASTART
     243             :     0U, // G_VAARG
     244             :     0U, // G_SEXT
     245             :     0U, // G_ZEXT
     246             :     0U, // G_SHL
     247             :     0U, // G_LSHR
     248             :     0U, // G_ASHR
     249             :     0U, // G_ICMP
     250             :     0U, // G_FCMP
     251             :     0U, // G_SELECT
     252             :     0U, // G_UADDE
     253             :     0U, // G_USUBE
     254             :     0U, // G_SADDO
     255             :     0U, // G_SSUBO
     256             :     0U, // G_UMULO
     257             :     0U, // G_SMULO
     258             :     0U, // G_UMULH
     259             :     0U, // G_SMULH
     260             :     0U, // G_FADD
     261             :     0U, // G_FSUB
     262             :     0U, // G_FMUL
     263             :     0U, // G_FMA
     264             :     0U, // G_FDIV
     265             :     0U, // G_FREM
     266             :     0U, // G_FPOW
     267             :     0U, // G_FEXP
     268             :     0U, // G_FEXP2
     269             :     0U, // G_FLOG
     270             :     0U, // G_FLOG2
     271             :     0U, // G_FNEG
     272             :     0U, // G_FPEXT
     273             :     0U, // G_FPTRUNC
     274             :     0U, // G_FPTOSI
     275             :     0U, // G_FPTOUI
     276             :     0U, // G_SITOFP
     277             :     0U, // G_UITOFP
     278             :     0U, // G_GEP
     279             :     0U, // G_PTR_MASK
     280             :     0U, // G_BR
     281             :     0U, // G_INSERT_VECTOR_ELT
     282             :     0U, // G_EXTRACT_VECTOR_ELT
     283             :     0U, // G_SHUFFLE_VECTOR
     284             :     0U, // G_BSWAP
     285             :     2250U,      // ADD_2rus
     286             :     2250U,      // ADD_3r
     287             :     2099323U,   // ADJCALLSTACKDOWN
     288             :     10383U,     // ADJCALLSTACKUP
     289             :     2361840U,   // ANDNOT_2r
     290             :     2255U,      // AND_3r
     291             :     2404U,      // ASHR_l2rus
     292             :     2404U,      // ASHR_l3r
     293             :     10769U,     // BAU_1r
     294             :     2099777U,   // BITREV_l2r
     295             :     19285U,     // BLACP_lu10
     296             :     19285U,     // BLACP_u10
     297             :     10672U,     // BLAT_lu6
     298             :     10672U,     // BLAT_u6
     299             :     10425U,     // BLA_1r
     300             :     10510U,     // BLRB_lu10
     301             :     10510U,     // BLRB_u10
     302             :     10510U,     // BLRF_lu10
     303             :     10510U,     // BLRF_u10
     304             :     2099418U,   // BRBF_lru6
     305             :     2099418U,   // BRBF_ru6
     306             :     2099638U,   // BRBT_lru6
     307             :     2099638U,   // BRBT_ru6
     308             :     10774U,     // BRBU_lu6
     309             :     10774U,     // BRBU_u6
     310             :     2099418U,   // BRFF_lru6
     311             :     2099418U,   // BRFF_ru6
     312             :     2099638U,   // BRFT_lru6
     313             :     2099638U,   // BRFT_ru6
     314             :     10774U,     // BRFU_lu6
     315             :     10774U,     // BRFU_u6
     316             :     10791U,     // BRU_1r
     317             :     553511U,    // BR_JT
     318             :     815655U,    // BR_JT32
     319             :     2099768U,   // BYTEREV_l2r
     320             :     2132939U,   // CHKCT_2r
     321             :     2132939U,   // CHKCT_rus
     322             :     1287U,      // CLRE_0R
     323             :     19425U,     // CLRPT_1R
     324             :     10614U,     // CLRSR_branch_lu6
     325             :     10614U,     // CLRSR_branch_u6
     326             :     10614U,     // CLRSR_lu6
     327             :     10614U,     // CLRSR_u6
     328             :     2099807U,   // CLZ_l2r
     329             :     5247047U,   // CRC8_l4r
     330             :     17041459U,  // CRC_l3r
     331             :     1306U,      // DCALL_0R
     332             :     1338U,      // DENTSP_0R
     333             :     10488U,     // DGETREG_1r
     334             :     2474U,      // DIVS_l3r
     335             :     2610U,      // DIVU_l3r
     336             :     1345U,      // DRESTSP_0R
     337             :     1380U,      // DRET_0R
     338             :     10475U,     // ECALLF_1r
     339             :     10723U,     // ECALLT_1r
     340             :     19466U,     // EDU_1r
     341             :     6334686U,   // EEF_2r
     342             :     6334929U,   // EET_2r
     343             :     19475U,     // EEU_1r
     344             :     2099310U,   // EH_RETURN
     345             :     6334765U,   // ENDIN_2r
     346             :     10569U,     // ENTSP_lu6
     347             :     10569U,     // ENTSP_u6
     348             :     2400U,      // EQ_2rus
     349             :     2400U,      // EQ_3r
     350             :     10554U,     // EXTDP_lu6
     351             :     10554U,     // EXTDP_u6
     352             :     10585U,     // EXTSP_lu6
     353             :     10585U,     // EXTSP_u6
     354             :     10401U,     // FRAME_TO_ARGS_OFFSET
     355             :     19380U,     // FREER_1r
     356             :     1374U,      // FREET_0R
     357             :     6334676U,   // GETD_l2r
     358             :     1263U,      // GETED_0R
     359             :     1362U,      // GETET_0R
     360             :     1275U,      // GETID_0R
     361             :     1312U,      // GETKEP_0R
     362             :     1325U,      // GETKSP_0R
     363             :     6334772U,   // GETN_l2r
     364             :     51670U,     // GETPS_l2r
     365             :     2099588U,   // GETR_rus
     366             :     10252U,     // GETSR_lu6
     367             :     10252U,     // GETSR_u6
     368             :     6334968U,   // GETST_2r
     369             :     6334883U,   // GETTS_2r
     370             :     6334906U,   // INCT_2r
     371             :     62562U,     // INITCP_2r
     372             :     70754U,     // INITDP_2r
     373             :     78946U,     // INITLR_l2r
     374             :     87138U,     // INITPC_2r
     375             :     95330U,     // INITSP_2r
     376             :     8432212U,   // INPW_l2rus
     377             :     6596970U,   // INSHR_2r
     378             :     6334955U,   // INT_2r
     379             :     6334768U,   // IN_2r
     380             :     799U,       // Int_MemBarrier
     381             :     10528U,     // KCALL_1r
     382             :     10528U,     // KCALL_lu6
     383             :     10528U,     // KCALL_u6
     384             :     10568U,     // KENTSP_lu6
     385             :     10568U,     // KENTSP_u6
     386             :     10576U,     // KRESTSP_lu6
     387             :     10576U,     // KRESTSP_u6
     388             :     1385U,      // KRET_0R
     389             :     45093065U,  // LADD_l5r
     390             :     12585354U,  // LD16S_3r
     391             :     12585483U,  // LD8U_3r
     392             :     14682170U,  // LDA16B_l3r
     393             :     12585018U,  // LDA16F_l3r
     394             :     10241U,     // LDAPB_lu10
     395             :     10241U,     // LDAPB_u10
     396             :     10241U,     // LDAPF_lu10
     397             :     10241U,     // LDAPF_lu10_ba
     398             :     10241U,     // LDAPF_u10
     399             :     14682697U,  // LDAWB_l2rus
     400             :     14682697U,  // LDAWB_l3r
     401             :     19258U,     // LDAWCP_lu6
     402             :     19258U,     // LDAWCP_u6
     403             :     100937U,    // LDAWDP_lru6
     404             :     100937U,    // LDAWDP_ru6
     405             :     2099282U,   // LDAWFI
     406             :     12585545U,  // LDAWF_l2rus
     407             :     12585545U,  // LDAWF_l3r
     408             :     109129U,    // LDAWSP_lru6
     409             :     109129U,    // LDAWSP_ru6
     410             :     2099396U,   // LDC_lru6
     411             :     2099396U,   // LDC_ru6
     412             :     1229U,      // LDET_0R
     413             :     184551985U, // LDIVU_l5r
     414             :     1199U,      // LDSED_0R
     415             :     1139U,      // LDSPC_0R
     416             :     1169U,      // LDSSR_0R
     417             :     117327U,    // LDWCP_lru6
     418             :     19272U,     // LDWCP_lu10
     419             :     117327U,    // LDWCP_ru6
     420             :     19272U,     // LDWCP_u10
     421             :     100943U,    // LDWDP_lru6
     422             :     100943U,    // LDWDP_ru6
     423             :     2099292U,   // LDWFI
     424             :     109135U,    // LDWSP_lru6
     425             :     109135U,    // LDWSP_ru6
     426             :     12585551U,  // LDW_2rus
     427             :     12585551U,  // LDW_3r
     428             :     268437799U, // LMUL_l6r
     429             :     2462U,      // LSS_3r
     430             :     45093054U,  // LSUB_l5r
     431             :     2604U,      // LSU_3r
     432             :     452987281U, // MACCS_l4r
     433             :     452987418U, // MACCU_l4r
     434             :     19348U,     // MJOIN_1r
     435             :     2099463U,   // MKMSK_2r
     436             :     2099463U,   // MKMSK_rus
     437             :     19293U,     // MSYNC_1r
     438             :     2344U,      // MUL_l3r
     439             :     2099443U,   // NEG
     440             :     2099699U,   // NOT
     441             :     2418U,      // OR_3r
     442             :     2132950U,   // OUTCT_2r
     443             :     2132950U,   // OUTCT_rus
     444             :     78681137U,  // OUTPW_l2rus
     445             :     2137023U,   // OUTSHR_2r
     446             :     2132983U,   // OUTT_2r
     447             :     2132993U,   // OUT_2r
     448             :     6334721U,   // PEEK_2r
     449             :     2456U,      // REMS_l3r
     450             :     2593U,      // REMU_l3r
     451             :     10561U,     // RETSP_lu6
     452             :     10561U,     // RETSP_u6
     453             :     612U,       // SELECT_CC
     454             :     2132872U,   // SETCLK_l2r
     455             :     10264U,     // SETCP_1r
     456             :     2132852U,   // SETC_l2r
     457             :     2132852U,   // SETC_lru6
     458             :     2132852U,   // SETC_ru6
     459             :     10273U,     // SETDP_1r
     460             :     2132862U,   // SETD_2r
     461             :     125980U,    // SETEV_1r
     462             :     756U,       // SETKEP_0R
     463             :     2132895U,   // SETN_l2r
     464             :     2132840U,   // SETPSC_2r
     465             :     2133075U,   // SETPS_l2r
     466             :     2132972U,   // SETPT_2r
     467             :     2133063U,   // SETRDY_l2r
     468             :     10282U,     // SETSP_1r
     469             :     10621U,     // SETSR_branch_lu6
     470             :     10621U,     // SETSR_branch_u6
     471             :     10621U,     // SETSR_lu6
     472             :     10621U,     // SETSR_u6
     473             :     2133052U,   // SETTW_l2r
     474             :     125991U,    // SETV_1r
     475             :     2361855U,   // SEXT_2r
     476             :     2361855U,   // SEXT_rus
     477             :     2331U,      // SHL_2rus
     478             :     2331U,      // SHL_3r
     479             :     2405U,      // SHR_2rus
     480             :     2405U,      // SHR_3r
     481             :     1257U,      // SSYNC_0r
     482             :     12585025U,  // ST16_l3r
     483             :     12585037U,  // ST8_l3r
     484             :     1243U,      // STET_0R
     485             :     1214U,      // STSED_0R
     486             :     1154U,      // STSPC_0R
     487             :     1184U,      // STSSR_0R
     488             :     100954U,    // STWDP_lru6
     489             :     100954U,    // STWDP_ru6
     490             :     2099301U,   // STWFI
     491             :     109146U,    // STWSP_lru6
     492             :     109146U,    // STWSP_ru6
     493             :     12585562U,  // STW_2rus
     494             :     12585562U,  // STW_l3r
     495             :     2239U,      // SUB_2rus
     496             :     2239U,      // SUB_3r
     497             :     19369U,     // SYNCR_1r
     498             :     6334912U,   // TESTCT_2r
     499             :     6334738U,   // TESTLCL_l2r
     500             :     6334920U,   // TESTWCT_2r
     501             :     2100553U,   // TSETMR_2r
     502             :     138331U,    // TSETR_3r
     503             :     19562U,     // TSTART_1R
     504             :     10467U,     // WAITEF_1R
     505             :     10715U,     // WAITET_1R
     506             :     1390U,      // WAITEU_0R
     507             :     2417U,      // XOR_l3r
     508             :     2361861U,   // ZEXT_2r
     509             :     2361861U,   // ZEXT_rus
     510             :   };
     511             : 
     512        1785 :   O << "\t";
     513             : 
     514             :   // Emit the opcode for the instruction.
     515             :   uint32_t Bits = 0;
     516        1785 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
     517             :   assert(Bits != 0 && "Cannot print this instruction.");
     518        1785 :   O << AsmStrs+(Bits & 2047)-1;
     519             : 
     520             : 
     521             :   // Fragment 0 encoded into 2 bits for 4 unique commands.
     522        1785 :   switch ((Bits >> 11) & 3) {
     523           0 :   default: llvm_unreachable("Invalid command number.");
     524             :   case 0:
     525             :     // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CALL, PATCHABL...
     526             :     return;
     527             :     break;
     528        1692 :   case 1:
     529             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, ADJCALLSTACKUP, ANDNOT_2r, AND_3r,...
     530        1692 :     printOperand(MI, 0, O);
     531        1692 :     break;
     532          29 :   case 2:
     533             :     // BR_JT, BR_JT32, CRC8_l4r, INITCP_2r, INITDP_2r, INITLR_l2r, INITPC_2r,...
     534          29 :     printOperand(MI, 1, O);
     535          29 :     break;
     536           3 :   case 3:
     537             :     // OUTSHR_2r, TSETR_3r
     538           3 :     printOperand(MI, 2, O);
     539           3 :     break;
     540             :   }
     541             : 
     542             : 
     543             :   // Fragment 1 encoded into 5 bits for 17 unique commands.
     544        1724 :   switch ((Bits >> 13) & 31) {
     545           0 :   default: llvm_unreachable("Invalid command number.");
     546         548 :   case 0:
     547             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, ANDNOT_2r, AND_3r, ASHR_l2rus, ASH...
     548         548 :     O << ", ";
     549         548 :     break;
     550             :   case 1:
     551             :     // ADJCALLSTACKUP, BAU_1r, BLAT_lu6, BLAT_u6, BLA_1r, BLRB_lu10, BLRB_u10...
     552             :     return;
     553             :     break;
     554             :   case 2:
     555             :     // BLACP_lu10, BLACP_u10, CLRPT_1R, EDU_1r, EEU_1r, FREER_1r, LDAWCP_lu6,...
     556             :     O << ']';
     557             :     return;
     558             :     break;
     559           0 :   case 3:
     560             :     // BR_JT, BR_JT32
     561           0 :     O << "\n";
     562           0 :     break;
     563          39 :   case 4:
     564             :     // CHKCT_2r, CHKCT_rus, OUTCT_2r, OUTCT_rus, OUTPW_l2rus, OUTSHR_2r, OUTT...
     565          39 :     O << "], ";
     566          39 :     break;
     567          32 :   case 5:
     568             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     569          32 :     O << ", res[";
     570          32 :     break;
     571           2 :   case 6:
     572             :     // GETPS_l2r
     573           2 :     O << ", ps[";
     574           2 :     printOperand(MI, 1, O);
     575             :     O << ']';
     576             :     return;
     577             :     break;
     578           3 :   case 7:
     579             :     // INITCP_2r
     580           3 :     O << "]:cp, ";
     581           3 :     printOperand(MI, 0, O);
     582           3 :     return;
     583             :     break;
     584           3 :   case 8:
     585             :     // INITDP_2r
     586           3 :     O << "]:dp, ";
     587           3 :     printOperand(MI, 0, O);
     588           3 :     return;
     589             :     break;
     590           3 :   case 9:
     591             :     // INITLR_l2r
     592           3 :     O << "]:lr, ";
     593           3 :     printOperand(MI, 0, O);
     594           3 :     return;
     595             :     break;
     596           3 :   case 10:
     597             :     // INITPC_2r
     598           3 :     O << "]:pc, ";
     599           3 :     printOperand(MI, 0, O);
     600           3 :     return;
     601             :     break;
     602           3 :   case 11:
     603             :     // INITSP_2r
     604           3 :     O << "]:sp, ";
     605           3 :     printOperand(MI, 0, O);
     606           3 :     return;
     607             :     break;
     608         102 :   case 12:
     609             :     // LDAWDP_lru6, LDAWDP_ru6, LDWDP_lru6, LDWDP_ru6, STWDP_lru6, STWDP_ru6
     610         102 :     O << ", dp[";
     611         102 :     printOperand(MI, 1, O);
     612             :     O << ']';
     613             :     return;
     614             :     break;
     615         309 :   case 13:
     616             :     // LDAWSP_lru6, LDAWSP_ru6, LDWSP_lru6, LDWSP_ru6, STWSP_lru6, STWSP_ru6
     617         309 :     O << ", sp[";
     618         309 :     printOperand(MI, 1, O);
     619             :     O << ']';
     620             :     return;
     621             :     break;
     622          33 :   case 14:
     623             :     // LDWCP_lru6, LDWCP_ru6
     624          33 :     O << ", cp[";
     625          33 :     printOperand(MI, 1, O);
     626             :     O << ']';
     627             :     return;
     628             :     break;
     629           7 :   case 15:
     630             :     // SETEV_1r, SETV_1r
     631           7 :     O << "], r11";
     632           7 :     return;
     633             :     break;
     634           1 :   case 16:
     635             :     // TSETR_3r
     636           1 :     O << "]:r";
     637           1 :     printOperand(MI, 0, O);
     638           1 :     O << ", ";
     639           1 :     printOperand(MI, 1, O);
     640           1 :     return;
     641             :     break;
     642             :   }
     643             : 
     644             : 
     645             :   // Fragment 2 encoded into 3 bits for 5 unique commands.
     646         619 :   switch ((Bits >> 18) & 7) {
     647           0 :   default: llvm_unreachable("Invalid command number.");
     648         581 :   case 0:
     649             :     // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, AND_3r, ASHR_l2rus, ASHR_l3r, BITR...
     650         581 :     printOperand(MI, 1, O);
     651         581 :     break;
     652          24 :   case 1:
     653             :     // ANDNOT_2r, CRC_l3r, INSHR_2r, SEXT_2r, SEXT_rus, ZEXT_2r, ZEXT_rus
     654          24 :     printOperand(MI, 2, O);
     655          24 :     break;
     656           0 :   case 2:
     657             :     // BR_JT
     658           0 :     printInlineJT(MI, 0, O);
     659           0 :     return;
     660             :     break;
     661           0 :   case 3:
     662             :     // BR_JT32
     663           0 :     printInlineJT32(MI, 0, O);
     664           0 :     return;
     665             :     break;
     666          14 :   case 4:
     667             :     // CRC8_l4r, LADD_l5r, LSUB_l5r, OUTPW_l2rus
     668          14 :     printOperand(MI, 0, O);
     669          14 :     O << ", ";
     670          14 :     break;
     671             :   }
     672             : 
     673             : 
     674             :   // Fragment 3 encoded into 3 bits for 8 unique commands.
     675         619 :   switch ((Bits >> 21) & 7) {
     676           0 :   default: llvm_unreachable("Invalid command number.");
     677         157 :   case 0:
     678             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, CRC_l3r, DIVS_l3r, DIV...
     679         157 :     O << ", ";
     680         157 :     break;
     681             :   case 1:
     682             :     // ADJCALLSTACKDOWN, ANDNOT_2r, BITREV_l2r, BRBF_lru6, BRBF_ru6, BRBT_lru...
     683             :     return;
     684             :     break;
     685           2 :   case 2:
     686             :     // CRC8_l4r
     687           2 :     printOperand(MI, 3, O);
     688           2 :     O << ", ";
     689           2 :     printOperand(MI, 4, O);
     690           2 :     return;
     691             :     break;
     692             :   case 3:
     693             :     // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
     694             :     O << ']';
     695             :     return;
     696             :     break;
     697           1 :   case 4:
     698             :     // INPW_l2rus
     699           1 :     O << "], ";
     700           1 :     printOperand(MI, 2, O);
     701           1 :     return;
     702             :     break;
     703          12 :   case 5:
     704             :     // LADD_l5r, LSUB_l5r, OUTPW_l2rus
     705          12 :     printOperand(MI, 2, O);
     706          12 :     break;
     707             :   case 6:
     708             :     // LD16S_3r, LD8U_3r, LDA16F_l3r, LDAWF_l2rus, LDAWF_l3r, LDW_2rus, LDW_3...
     709             :     O << '[';
     710         157 :     printOperand(MI, 2, O);
     711             :     O << ']';
     712             :     return;
     713             :     break;
     714           5 :   case 7:
     715             :     // LDA16B_l3r, LDAWB_l2rus, LDAWB_l3r
     716           5 :     O << "[-";
     717           5 :     printOperand(MI, 2, O);
     718             :     O << ']';
     719             :     return;
     720             :     break;
     721             :   }
     722             : 
     723             : 
     724             :   // Fragment 4 encoded into 3 bits for 5 unique commands.
     725         169 :   switch ((Bits >> 24) & 7) {
     726           0 :   default: llvm_unreachable("Invalid command number.");
     727         148 :   case 0:
     728             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     729         148 :     printOperand(MI, 2, O);
     730         148 :     break;
     731           2 :   case 1:
     732             :     // CRC_l3r
     733           2 :     printOperand(MI, 3, O);
     734           2 :     return;
     735             :     break;
     736          11 :   case 2:
     737             :     // LADD_l5r, LSUB_l5r
     738          11 :     O << ", ";
     739          11 :     printOperand(MI, 3, O);
     740          11 :     O << ", ";
     741          11 :     printOperand(MI, 4, O);
     742          11 :     return;
     743             :     break;
     744           7 :   case 3:
     745             :     // LDIVU_l5r, MACCS_l4r, MACCU_l4r
     746           7 :     printOperand(MI, 4, O);
     747           7 :     O << ", ";
     748           7 :     break;
     749             :   case 4:
     750             :     // OUTPW_l2rus
     751             :     return;
     752             :     break;
     753             :   }
     754             : 
     755             : 
     756             :   // Fragment 5 encoded into 2 bits for 4 unique commands.
     757         155 :   switch ((Bits >> 27) & 3) {
     758           0 :   default: llvm_unreachable("Invalid command number.");
     759             :   case 0:
     760             :     // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
     761             :     return;
     762             :     break;
     763           1 :   case 1:
     764             :     // LDIVU_l5r
     765           1 :     printOperand(MI, 2, O);
     766           1 :     O << ", ";
     767           1 :     printOperand(MI, 3, O);
     768           1 :     return;
     769             :     break;
     770          12 :   case 2:
     771             :     // LMUL_l6r
     772          12 :     O << ", ";
     773          12 :     printOperand(MI, 3, O);
     774          12 :     O << ", ";
     775          12 :     printOperand(MI, 4, O);
     776          12 :     O << ", ";
     777          12 :     printOperand(MI, 5, O);
     778          12 :     return;
     779             :     break;
     780           6 :   case 3:
     781             :     // MACCS_l4r, MACCU_l4r
     782           6 :     printOperand(MI, 5, O);
     783           6 :     return;
     784             :     break;
     785             :   }
     786             : 
     787             : }
     788             : 
     789             : 
     790             : /// getRegisterName - This method is automatically generated by tblgen
     791             : /// from the register set description.  This returns the assembler name
     792             : /// for the specified register.
     793        2051 : const char *XCoreInstPrinter::getRegisterName(unsigned RegNo) {
     794             :   assert(RegNo && RegNo < 17 && "Invalid register number!");
     795             : 
     796             :   static const char AsmStrs[] = {
     797             :   /* 0 */ 'r', '1', '0', 0,
     798             :   /* 4 */ 'r', '0', 0,
     799             :   /* 7 */ 'r', '1', '1', 0,
     800             :   /* 11 */ 'r', '1', 0,
     801             :   /* 14 */ 'r', '2', 0,
     802             :   /* 17 */ 'r', '3', 0,
     803             :   /* 20 */ 'r', '4', 0,
     804             :   /* 23 */ 'r', '5', 0,
     805             :   /* 26 */ 'r', '6', 0,
     806             :   /* 29 */ 'r', '7', 0,
     807             :   /* 32 */ 'r', '8', 0,
     808             :   /* 35 */ 'r', '9', 0,
     809             :   /* 38 */ 'c', 'p', 0,
     810             :   /* 41 */ 'd', 'p', 0,
     811             :   /* 44 */ 's', 'p', 0,
     812             :   /* 47 */ 'l', 'r', 0,
     813             :   };
     814             : 
     815             :   static const uint8_t RegAsmOffset[] = {
     816             :     38, 41, 47, 44, 4, 11, 14, 17, 20, 23, 26, 29, 32, 35, 
     817             :     0, 7, 
     818             :   };
     819             : 
     820             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
     821             :           "Invalid alt name index for register!");
     822        2051 :   return AsmStrs+RegAsmOffset[RegNo-1];
     823             : }
     824             : 
     825             : #ifdef PRINT_ALIAS_INSTR
     826             : #undef PRINT_ALIAS_INSTR
     827             : 
     828             : bool XCoreInstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
     829             :   return false;
     830             : }
     831             : 
     832             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13