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

Generated by: LCOV version 1.13