LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/MSP430 - MSP430GenAsmWriter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 58 67 86.6 %
Date: 2018-10-20 13:21:21 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* Assembly Writer Source Fragment                                            *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : /// printInstruction - This method is automatically generated by tablegen
      10             : /// from the instruction set description.
      11        2483 : void MSP430InstPrinter::printInstruction(const MCInst *MI, raw_ostream &O) {
      12             :   static const char AsmStrs[] = {
      13             :   /* 0 */ 'r', 'l', 'a', '.', 'b', 9, 0,
      14             :   /* 7 */ 'r', 'r', 'a', '.', 'b', 9, 0,
      15             :   /* 14 */ 's', 'u', 'b', '.', 'b', 9, 0,
      16             :   /* 21 */ 's', 'u', 'b', 'c', '.', 'b', 9, 0,
      17             :   /* 29 */ 'a', 'd', 'd', 'c', '.', 'b', 9, 0,
      18             :   /* 37 */ 'b', 'i', 'c', '.', 'b', 9, 0,
      19             :   /* 44 */ 'c', 'l', 'r', 'c', 10, 9, 'r', 'r', 'c', '.', 'b', 9, 0,
      20             :   /* 57 */ 'a', 'd', 'd', '.', 'b', 9, 0,
      21             :   /* 64 */ 'a', 'n', 'd', '.', 'b', 9, 0,
      22             :   /* 71 */ 'c', 'm', 'p', '.', 'b', 9, 0,
      23             :   /* 78 */ 'x', 'o', 'r', '.', 'b', 9, 0,
      24             :   /* 85 */ 'b', 'i', 's', '.', 'b', 9, 0,
      25             :   /* 92 */ 'b', 'i', 't', '.', 'b', 9, 0,
      26             :   /* 99 */ 'm', 'o', 'v', '.', 'b', 9, 0,
      27             :   /* 106 */ 's', 'w', 'p', 'b', 9, 0,
      28             :   /* 112 */ 'c', 'a', 'l', 'l', 9, 0,
      29             :   /* 118 */ 'j', 'm', 'p', 9, 0,
      30             :   /* 123 */ 'b', 'r', 9, 0,
      31             :   /* 127 */ 's', 'x', 't', 9, 0,
      32             :   /* 132 */ 'r', 'l', 'a', '.', 'w', 9, 0,
      33             :   /* 139 */ 'r', 'r', 'a', '.', 'w', 9, 0,
      34             :   /* 146 */ 's', 'u', 'b', '.', 'w', 9, 0,
      35             :   /* 153 */ 's', 'u', 'b', 'c', '.', 'w', 9, 0,
      36             :   /* 161 */ 'a', 'd', 'd', 'c', '.', 'w', 9, 0,
      37             :   /* 169 */ 'b', 'i', 'c', '.', 'w', 9, 0,
      38             :   /* 176 */ 'c', 'l', 'r', 'c', 10, 9, 'r', 'r', 'c', '.', 'w', 9, 0,
      39             :   /* 189 */ 'a', 'd', 'd', '.', 'w', 9, 0,
      40             :   /* 196 */ 'a', 'n', 'd', '.', 'w', 9, 0,
      41             :   /* 203 */ 'p', 'u', 's', 'h', '.', 'w', 9, 0,
      42             :   /* 211 */ 'c', 'm', 'p', '.', 'w', 9, 0,
      43             :   /* 218 */ 'p', 'o', 'p', '.', 'w', 9, 0,
      44             :   /* 225 */ 'x', 'o', 'r', '.', 'w', 9, 0,
      45             :   /* 232 */ 'b', 'i', 's', '.', 'w', 9, 0,
      46             :   /* 239 */ 'b', 'i', 't', '.', 'w', 9, 0,
      47             :   /* 246 */ 'm', 'o', 'v', '.', 'w', 9, 0,
      48             :   /* 253 */ '#', 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,
      49             :   /* 284 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
      50             :   /* 308 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
      51             :   /* 333 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
      52             :   /* 356 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
      53             :   /* 379 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
      54             :   /* 401 */ 's', 'u', 'b', '.', 'b', 9, '@', 0,
      55             :   /* 409 */ 'a', 'd', 'd', '.', 'b', 9, '@', 0,
      56             :   /* 417 */ 'a', 'n', 'd', '.', 'b', 9, '@', 0,
      57             :   /* 425 */ 'x', 'o', 'r', '.', 'b', 9, '@', 0,
      58             :   /* 433 */ 'b', 'i', 's', '.', 'b', 9, '@', 0,
      59             :   /* 441 */ 'm', 'o', 'v', '.', 'b', 9, '@', 0,
      60             :   /* 449 */ 's', 'u', 'b', '.', 'w', 9, '@', 0,
      61             :   /* 457 */ 'a', 'd', 'd', '.', 'w', 9, '@', 0,
      62             :   /* 465 */ 'a', 'n', 'd', '.', 'w', 9, '@', 0,
      63             :   /* 473 */ 'x', 'o', 'r', '.', 'w', 9, '@', 0,
      64             :   /* 481 */ 'b', 'i', 's', '.', 'w', 9, '@', 0,
      65             :   /* 489 */ 'm', 'o', 'v', '.', 'w', 9, '@', 0,
      66             :   /* 497 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
      67             :   /* 510 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
      68             :   /* 517 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
      69             :   /* 527 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
      70             :   /* 537 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0,
      71             :   /* 555 */ '#', 32, 'S', 'r', 'a', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      72             :   /* 570 */ '#', 32, 'S', 'h', 'l', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      73             :   /* 585 */ '#', 32, 'S', 'r', 'l', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      74             :   /* 600 */ '#', 32, 'S', 'e', 'l', 'e', 'c', 't', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      75             :   /* 618 */ '#', 32, 'S', 'r', 'a', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      76             :   /* 632 */ '#', 32, 'S', 'h', 'l', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      77             :   /* 646 */ '#', 32, 'S', 'r', 'l', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      78             :   /* 660 */ '#', 32, 'S', 'e', 'l', 'e', 'c', 't', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      79             :   /* 677 */ '#', 32, 'A', 'D', 'D', 'f', 'r', 'a', 'm', 'e', 32, 'P', 'S', 'E', 'U', 'D', 'O', 0,
      80             :   /* 695 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0,
      81             :   /* 711 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
      82             :   /* 726 */ 'r', 'e', 't', 'i', 0,
      83             :   /* 731 */ 'j', 0,
      84             :   /* 733 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
      85             :   /* 747 */ 'n', 'o', 'p', 0,
      86             :   /* 751 */ 'r', 'e', 't', 0,
      87             :   };
      88             : 
      89             :   static const uint16_t OpInfo0[] = {
      90             :     0U, // PHI
      91             :     0U, // INLINEASM
      92             :     0U, // CFI_INSTRUCTION
      93             :     0U, // EH_LABEL
      94             :     0U, // GC_LABEL
      95             :     0U, // ANNOTATION_LABEL
      96             :     0U, // KILL
      97             :     0U, // EXTRACT_SUBREG
      98             :     0U, // INSERT_SUBREG
      99             :     0U, // IMPLICIT_DEF
     100             :     0U, // SUBREG_TO_REG
     101             :     0U, // COPY_TO_REGCLASS
     102             :     518U,       // DBG_VALUE
     103             :     528U,       // DBG_LABEL
     104             :     0U, // REG_SEQUENCE
     105             :     0U, // COPY
     106             :     511U,       // BUNDLE
     107             :     712U,       // LIFETIME_START
     108             :     498U,       // LIFETIME_END
     109             :     0U, // STACKMAP
     110             :     734U,       // FENTRY_CALL
     111             :     0U, // PATCHPOINT
     112             :     0U, // LOAD_STACK_GUARD
     113             :     0U, // STATEPOINT
     114             :     0U, // LOCAL_ESCAPE
     115             :     0U, // FAULTING_OP
     116             :     0U, // PATCHABLE_OP
     117             :     334U,       // PATCHABLE_FUNCTION_ENTER
     118             :     254U,       // PATCHABLE_RET
     119             :     380U,       // PATCHABLE_FUNCTION_EXIT
     120             :     357U,       // PATCHABLE_TAIL_CALL
     121             :     309U,       // PATCHABLE_EVENT_CALL
     122             :     285U,       // PATCHABLE_TYPED_EVENT_CALL
     123             :     0U, // ICALL_BRANCH_FUNNEL
     124             :     0U, // G_ADD
     125             :     0U, // G_SUB
     126             :     0U, // G_MUL
     127             :     0U, // G_SDIV
     128             :     0U, // G_UDIV
     129             :     0U, // G_SREM
     130             :     0U, // G_UREM
     131             :     0U, // G_AND
     132             :     0U, // G_OR
     133             :     0U, // G_XOR
     134             :     0U, // G_IMPLICIT_DEF
     135             :     0U, // G_PHI
     136             :     0U, // G_FRAME_INDEX
     137             :     0U, // G_GLOBAL_VALUE
     138             :     0U, // G_EXTRACT
     139             :     0U, // G_UNMERGE_VALUES
     140             :     0U, // G_INSERT
     141             :     0U, // G_MERGE_VALUES
     142             :     0U, // G_PTRTOINT
     143             :     0U, // G_INTTOPTR
     144             :     0U, // G_BITCAST
     145             :     0U, // G_INTRINSIC_TRUNC
     146             :     0U, // G_INTRINSIC_ROUND
     147             :     0U, // G_LOAD
     148             :     0U, // G_SEXTLOAD
     149             :     0U, // G_ZEXTLOAD
     150             :     0U, // G_STORE
     151             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     152             :     0U, // G_ATOMIC_CMPXCHG
     153             :     0U, // G_ATOMICRMW_XCHG
     154             :     0U, // G_ATOMICRMW_ADD
     155             :     0U, // G_ATOMICRMW_SUB
     156             :     0U, // G_ATOMICRMW_AND
     157             :     0U, // G_ATOMICRMW_NAND
     158             :     0U, // G_ATOMICRMW_OR
     159             :     0U, // G_ATOMICRMW_XOR
     160             :     0U, // G_ATOMICRMW_MAX
     161             :     0U, // G_ATOMICRMW_MIN
     162             :     0U, // G_ATOMICRMW_UMAX
     163             :     0U, // G_ATOMICRMW_UMIN
     164             :     0U, // G_BRCOND
     165             :     0U, // G_BRINDIRECT
     166             :     0U, // G_INTRINSIC
     167             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     168             :     0U, // G_ANYEXT
     169             :     0U, // G_TRUNC
     170             :     0U, // G_CONSTANT
     171             :     0U, // G_FCONSTANT
     172             :     0U, // G_VASTART
     173             :     0U, // G_VAARG
     174             :     0U, // G_SEXT
     175             :     0U, // G_ZEXT
     176             :     0U, // G_SHL
     177             :     0U, // G_LSHR
     178             :     0U, // G_ASHR
     179             :     0U, // G_ICMP
     180             :     0U, // G_FCMP
     181             :     0U, // G_SELECT
     182             :     0U, // G_UADDO
     183             :     0U, // G_UADDE
     184             :     0U, // G_USUBO
     185             :     0U, // G_USUBE
     186             :     0U, // G_SADDO
     187             :     0U, // G_SADDE
     188             :     0U, // G_SSUBO
     189             :     0U, // G_SSUBE
     190             :     0U, // G_UMULO
     191             :     0U, // G_SMULO
     192             :     0U, // G_UMULH
     193             :     0U, // G_SMULH
     194             :     0U, // G_FADD
     195             :     0U, // G_FSUB
     196             :     0U, // G_FMUL
     197             :     0U, // G_FMA
     198             :     0U, // G_FDIV
     199             :     0U, // G_FREM
     200             :     0U, // G_FPOW
     201             :     0U, // G_FEXP
     202             :     0U, // G_FEXP2
     203             :     0U, // G_FLOG
     204             :     0U, // G_FLOG2
     205             :     0U, // G_FNEG
     206             :     0U, // G_FPEXT
     207             :     0U, // G_FPTRUNC
     208             :     0U, // G_FPTOSI
     209             :     0U, // G_FPTOUI
     210             :     0U, // G_SITOFP
     211             :     0U, // G_UITOFP
     212             :     0U, // G_FABS
     213             :     0U, // G_GEP
     214             :     0U, // G_PTR_MASK
     215             :     0U, // G_BR
     216             :     0U, // G_INSERT_VECTOR_ELT
     217             :     0U, // G_EXTRACT_VECTOR_ELT
     218             :     0U, // G_SHUFFLE_VECTOR
     219             :     0U, // G_CTTZ
     220             :     0U, // G_CTTZ_ZERO_UNDEF
     221             :     0U, // G_CTLZ
     222             :     0U, // G_CTLZ_ZERO_UNDEF
     223             :     0U, // G_CTPOP
     224             :     0U, // G_BSWAP
     225             :     0U, // G_ADDRSPACE_CAST
     226             :     0U, // G_BLOCK_ADDR
     227             :     1186U,      // ADC16mi
     228             :     18594U,     // ADC16mm
     229             :     1186U,      // ADC16mr
     230             :     1186U,      // ADC16ri
     231             :     34978U,     // ADC16rm
     232             :     1186U,      // ADC16rr
     233             :     1054U,      // ADC8mi
     234             :     18462U,     // ADC8mm
     235             :     1054U,      // ADC8mr
     236             :     1054U,      // ADC8ri
     237             :     34846U,     // ADC8rm
     238             :     1054U,      // ADC8rr
     239             :     1214U,      // ADD16mi
     240             :     18622U,     // ADD16mm
     241             :     1214U,      // ADD16mr
     242             :     1214U,      // ADD16ri
     243             :     35006U,     // ADD16rm
     244             :     3530U,      // ADD16rm_POST
     245             :     1214U,      // ADD16rr
     246             :     1082U,      // ADD8mi
     247             :     18490U,     // ADD8mm
     248             :     1082U,      // ADD8mr
     249             :     1082U,      // ADD8ri
     250             :     34874U,     // ADD8rm
     251             :     3482U,      // ADD8rm_POST
     252             :     1082U,      // ADD8rr
     253             :     678U,       // ADDframe
     254             :     538U,       // ADJCALLSTACKDOWN
     255             :     696U,       // ADJCALLSTACKUP
     256             :     1221U,      // AND16mi
     257             :     18629U,     // AND16mm
     258             :     1221U,      // AND16mr
     259             :     1221U,      // AND16ri
     260             :     35013U,     // AND16rm
     261             :     3538U,      // AND16rm_POST
     262             :     1221U,      // AND16rr
     263             :     1089U,      // AND8mi
     264             :     18497U,     // AND8mm
     265             :     1089U,      // AND8mr
     266             :     1089U,      // AND8ri
     267             :     34881U,     // AND8rm
     268             :     3490U,      // AND8rm_POST
     269             :     1089U,      // AND8rr
     270             :     18602U,     // BIC16mm
     271             :     1194U,      // BIC16mr
     272             :     34986U,     // BIC16rm
     273             :     1194U,      // BIC16rr
     274             :     18470U,     // BIC8mm
     275             :     1062U,      // BIC8mr
     276             :     34854U,     // BIC8rm
     277             :     1062U,      // BIC8rr
     278             :     1264U,      // BIT16mi
     279             :     18672U,     // BIT16mm
     280             :     1264U,      // BIT16mr
     281             :     4336U,      // BIT16ri
     282             :     5360U,      // BIT16rm
     283             :     4336U,      // BIT16rr
     284             :     1117U,      // BIT8mi
     285             :     18525U,     // BIT8mm
     286             :     1117U,      // BIT8mr
     287             :     4189U,      // BIT8ri
     288             :     5213U,      // BIT8rm
     289             :     4189U,      // BIT8rr
     290             :     6268U,      // Bi
     291             :     7292U,      // Bm
     292             :     6268U,      // Br
     293             :     6257U,      // CALLi
     294             :     8305U,      // CALLm
     295             :     6257U,      // CALLr
     296             :     1236U,      // CMP16mi
     297             :     1236U,      // CMP16mr
     298             :     4308U,      // CMP16ri
     299             :     5332U,      // CMP16rm
     300             :     4308U,      // CMP16rr
     301             :     1096U,      // CMP8mi
     302             :     1096U,      // CMP8mr
     303             :     4168U,      // CMP8ri
     304             :     5192U,      // CMP8rm
     305             :     4168U,      // CMP8rr
     306             :     9948U,      // JCC
     307             :     10359U,     // JMP
     308             :     1271U,      // MOV16mi
     309             :     18679U,     // MOV16mm
     310             :     1271U,      // MOV16mr
     311             :     4343U,      // MOV16ri
     312             :     5367U,      // MOV16rm
     313             :     50666U,     // MOV16rm_POST
     314             :     4343U,      // MOV16rr
     315             :     1124U,      // MOV8mi
     316             :     18532U,     // MOV8mm
     317             :     1124U,      // MOV8mr
     318             :     4196U,      // MOV8ri
     319             :     5220U,      // MOV8rm
     320             :     50618U,     // MOV8rm_POST
     321             :     4196U,      // MOV8rr
     322             :     5220U,      // MOVZX16rm8
     323             :     4196U,      // MOVZX16rr8
     324             :     748U,       // NOP
     325             :     1257U,      // OR16mi
     326             :     18665U,     // OR16mm
     327             :     1257U,      // OR16mr
     328             :     1257U,      // OR16ri
     329             :     35049U,     // OR16rm
     330             :     3554U,      // OR16rm_POST
     331             :     1257U,      // OR16rr
     332             :     1110U,      // OR8mi
     333             :     18518U,     // OR8mm
     334             :     1110U,      // OR8mr
     335             :     1110U,      // OR8ri
     336             :     34902U,     // OR8rm
     337             :     3506U,      // OR8rm_POST
     338             :     1110U,      // OR8rr
     339             :     6363U,      // POP16r
     340             :     6348U,      // PUSH16r
     341             :     752U,       // RET
     342             :     727U,       // RETI
     343             :     6284U,      // SAR16r1
     344             :     6321U,      // SAR16r1c
     345             :     6152U,      // SAR8r1
     346             :     6189U,      // SAR8r1c
     347             :     1178U,      // SBC16mi
     348             :     18586U,     // SBC16mm
     349             :     1178U,      // SBC16mr
     350             :     1178U,      // SBC16ri
     351             :     34970U,     // SBC16rm
     352             :     1178U,      // SBC16rr
     353             :     1046U,      // SBC8mi
     354             :     18454U,     // SBC8mm
     355             :     1046U,      // SBC8mr
     356             :     1046U,      // SBC8ri
     357             :     34838U,     // SBC8rm
     358             :     1046U,      // SBC8rr
     359             :     6272U,      // SEXT16r
     360             :     6277U,      // SHL16r1
     361             :     6145U,      // SHL8r1
     362             :     1171U,      // SUB16mi
     363             :     18579U,     // SUB16mm
     364             :     1171U,      // SUB16mr
     365             :     1171U,      // SUB16ri
     366             :     34963U,     // SUB16rm
     367             :     3522U,      // SUB16rm_POST
     368             :     1171U,      // SUB16rr
     369             :     1039U,      // SUB8mi
     370             :     18447U,     // SUB8mm
     371             :     1039U,      // SUB8mr
     372             :     1039U,      // SUB8ri
     373             :     34831U,     // SUB8rm
     374             :     3474U,      // SUB8rm_POST
     375             :     1039U,      // SUB8rr
     376             :     6251U,      // SWPB16r
     377             :     601U,       // Select16
     378             :     661U,       // Select8
     379             :     571U,       // Shl16
     380             :     633U,       // Shl8
     381             :     556U,       // Sra16
     382             :     619U,       // Sra8
     383             :     586U,       // Srl16
     384             :     647U,       // Srl8
     385             :     1250U,      // XOR16mi
     386             :     18658U,     // XOR16mm
     387             :     1250U,      // XOR16mr
     388             :     1250U,      // XOR16ri
     389             :     35042U,     // XOR16rm
     390             :     3546U,      // XOR16rm_POST
     391             :     1250U,      // XOR16rr
     392             :     1103U,      // XOR8mi
     393             :     18511U,     // XOR8mm
     394             :     1103U,      // XOR8mr
     395             :     1103U,      // XOR8ri
     396             :     34895U,     // XOR8rm
     397             :     3498U,      // XOR8rm_POST
     398             :     1103U,      // XOR8rr
     399             :     4196U,      // ZEXT16r
     400             :   };
     401             : 
     402             :   static const uint8_t OpInfo1[] = {
     403             :     0U, // PHI
     404             :     0U, // INLINEASM
     405             :     0U, // CFI_INSTRUCTION
     406             :     0U, // EH_LABEL
     407             :     0U, // GC_LABEL
     408             :     0U, // ANNOTATION_LABEL
     409             :     0U, // KILL
     410             :     0U, // EXTRACT_SUBREG
     411             :     0U, // INSERT_SUBREG
     412             :     0U, // IMPLICIT_DEF
     413             :     0U, // SUBREG_TO_REG
     414             :     0U, // COPY_TO_REGCLASS
     415             :     0U, // DBG_VALUE
     416             :     0U, // DBG_LABEL
     417             :     0U, // REG_SEQUENCE
     418             :     0U, // COPY
     419             :     0U, // BUNDLE
     420             :     0U, // LIFETIME_START
     421             :     0U, // LIFETIME_END
     422             :     0U, // STACKMAP
     423             :     0U, // FENTRY_CALL
     424             :     0U, // PATCHPOINT
     425             :     0U, // LOAD_STACK_GUARD
     426             :     0U, // STATEPOINT
     427             :     0U, // LOCAL_ESCAPE
     428             :     0U, // FAULTING_OP
     429             :     0U, // PATCHABLE_OP
     430             :     0U, // PATCHABLE_FUNCTION_ENTER
     431             :     0U, // PATCHABLE_RET
     432             :     0U, // PATCHABLE_FUNCTION_EXIT
     433             :     0U, // PATCHABLE_TAIL_CALL
     434             :     0U, // PATCHABLE_EVENT_CALL
     435             :     0U, // PATCHABLE_TYPED_EVENT_CALL
     436             :     0U, // ICALL_BRANCH_FUNNEL
     437             :     0U, // G_ADD
     438             :     0U, // G_SUB
     439             :     0U, // G_MUL
     440             :     0U, // G_SDIV
     441             :     0U, // G_UDIV
     442             :     0U, // G_SREM
     443             :     0U, // G_UREM
     444             :     0U, // G_AND
     445             :     0U, // G_OR
     446             :     0U, // G_XOR
     447             :     0U, // G_IMPLICIT_DEF
     448             :     0U, // G_PHI
     449             :     0U, // G_FRAME_INDEX
     450             :     0U, // G_GLOBAL_VALUE
     451             :     0U, // G_EXTRACT
     452             :     0U, // G_UNMERGE_VALUES
     453             :     0U, // G_INSERT
     454             :     0U, // G_MERGE_VALUES
     455             :     0U, // G_PTRTOINT
     456             :     0U, // G_INTTOPTR
     457             :     0U, // G_BITCAST
     458             :     0U, // G_INTRINSIC_TRUNC
     459             :     0U, // G_INTRINSIC_ROUND
     460             :     0U, // G_LOAD
     461             :     0U, // G_SEXTLOAD
     462             :     0U, // G_ZEXTLOAD
     463             :     0U, // G_STORE
     464             :     0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
     465             :     0U, // G_ATOMIC_CMPXCHG
     466             :     0U, // G_ATOMICRMW_XCHG
     467             :     0U, // G_ATOMICRMW_ADD
     468             :     0U, // G_ATOMICRMW_SUB
     469             :     0U, // G_ATOMICRMW_AND
     470             :     0U, // G_ATOMICRMW_NAND
     471             :     0U, // G_ATOMICRMW_OR
     472             :     0U, // G_ATOMICRMW_XOR
     473             :     0U, // G_ATOMICRMW_MAX
     474             :     0U, // G_ATOMICRMW_MIN
     475             :     0U, // G_ATOMICRMW_UMAX
     476             :     0U, // G_ATOMICRMW_UMIN
     477             :     0U, // G_BRCOND
     478             :     0U, // G_BRINDIRECT
     479             :     0U, // G_INTRINSIC
     480             :     0U, // G_INTRINSIC_W_SIDE_EFFECTS
     481             :     0U, // G_ANYEXT
     482             :     0U, // G_TRUNC
     483             :     0U, // G_CONSTANT
     484             :     0U, // G_FCONSTANT
     485             :     0U, // G_VASTART
     486             :     0U, // G_VAARG
     487             :     0U, // G_SEXT
     488             :     0U, // G_ZEXT
     489             :     0U, // G_SHL
     490             :     0U, // G_LSHR
     491             :     0U, // G_ASHR
     492             :     0U, // G_ICMP
     493             :     0U, // G_FCMP
     494             :     0U, // G_SELECT
     495             :     0U, // G_UADDO
     496             :     0U, // G_UADDE
     497             :     0U, // G_USUBO
     498             :     0U, // G_USUBE
     499             :     0U, // G_SADDO
     500             :     0U, // G_SADDE
     501             :     0U, // G_SSUBO
     502             :     0U, // G_SSUBE
     503             :     0U, // G_UMULO
     504             :     0U, // G_SMULO
     505             :     0U, // G_UMULH
     506             :     0U, // G_SMULH
     507             :     0U, // G_FADD
     508             :     0U, // G_FSUB
     509             :     0U, // G_FMUL
     510             :     0U, // G_FMA
     511             :     0U, // G_FDIV
     512             :     0U, // G_FREM
     513             :     0U, // G_FPOW
     514             :     0U, // G_FEXP
     515             :     0U, // G_FEXP2
     516             :     0U, // G_FLOG
     517             :     0U, // G_FLOG2
     518             :     0U, // G_FNEG
     519             :     0U, // G_FPEXT
     520             :     0U, // G_FPTRUNC
     521             :     0U, // G_FPTOSI
     522             :     0U, // G_FPTOUI
     523             :     0U, // G_SITOFP
     524             :     0U, // G_UITOFP
     525             :     0U, // G_FABS
     526             :     0U, // G_GEP
     527             :     0U, // G_PTR_MASK
     528             :     0U, // G_BR
     529             :     0U, // G_INSERT_VECTOR_ELT
     530             :     0U, // G_EXTRACT_VECTOR_ELT
     531             :     0U, // G_SHUFFLE_VECTOR
     532             :     0U, // G_CTTZ
     533             :     0U, // G_CTTZ_ZERO_UNDEF
     534             :     0U, // G_CTLZ
     535             :     0U, // G_CTLZ_ZERO_UNDEF
     536             :     0U, // G_CTPOP
     537             :     0U, // G_BSWAP
     538             :     0U, // G_ADDRSPACE_CAST
     539             :     0U, // G_BLOCK_ADDR
     540             :     0U, // ADC16mi
     541             :     0U, // ADC16mm
     542             :     0U, // ADC16mr
     543             :     1U, // ADC16ri
     544             :     0U, // ADC16rm
     545             :     1U, // ADC16rr
     546             :     0U, // ADC8mi
     547             :     0U, // ADC8mm
     548             :     0U, // ADC8mr
     549             :     1U, // ADC8ri
     550             :     0U, // ADC8rm
     551             :     1U, // ADC8rr
     552             :     0U, // ADD16mi
     553             :     0U, // ADD16mm
     554             :     0U, // ADD16mr
     555             :     1U, // ADD16ri
     556             :     0U, // ADD16rm
     557             :     0U, // ADD16rm_POST
     558             :     1U, // ADD16rr
     559             :     0U, // ADD8mi
     560             :     0U, // ADD8mm
     561             :     0U, // ADD8mr
     562             :     1U, // ADD8ri
     563             :     0U, // ADD8rm
     564             :     0U, // ADD8rm_POST
     565             :     1U, // ADD8rr
     566             :     0U, // ADDframe
     567             :     0U, // ADJCALLSTACKDOWN
     568             :     0U, // ADJCALLSTACKUP
     569             :     0U, // AND16mi
     570             :     0U, // AND16mm
     571             :     0U, // AND16mr
     572             :     1U, // AND16ri
     573             :     0U, // AND16rm
     574             :     0U, // AND16rm_POST
     575             :     1U, // AND16rr
     576             :     0U, // AND8mi
     577             :     0U, // AND8mm
     578             :     0U, // AND8mr
     579             :     1U, // AND8ri
     580             :     0U, // AND8rm
     581             :     0U, // AND8rm_POST
     582             :     1U, // AND8rr
     583             :     0U, // BIC16mm
     584             :     0U, // BIC16mr
     585             :     0U, // BIC16rm
     586             :     1U, // BIC16rr
     587             :     0U, // BIC8mm
     588             :     0U, // BIC8mr
     589             :     0U, // BIC8rm
     590             :     1U, // BIC8rr
     591             :     0U, // BIT16mi
     592             :     0U, // BIT16mm
     593             :     0U, // BIT16mr
     594             :     0U, // BIT16ri
     595             :     0U, // BIT16rm
     596             :     0U, // BIT16rr
     597             :     0U, // BIT8mi
     598             :     0U, // BIT8mm
     599             :     0U, // BIT8mr
     600             :     0U, // BIT8ri
     601             :     0U, // BIT8rm
     602             :     0U, // BIT8rr
     603             :     0U, // Bi
     604             :     0U, // Bm
     605             :     0U, // Br
     606             :     0U, // CALLi
     607             :     0U, // CALLm
     608             :     0U, // CALLr
     609             :     0U, // CMP16mi
     610             :     0U, // CMP16mr
     611             :     0U, // CMP16ri
     612             :     0U, // CMP16rm
     613             :     0U, // CMP16rr
     614             :     0U, // CMP8mi
     615             :     0U, // CMP8mr
     616             :     0U, // CMP8ri
     617             :     0U, // CMP8rm
     618             :     0U, // CMP8rr
     619             :     0U, // JCC
     620             :     0U, // JMP
     621             :     0U, // MOV16mi
     622             :     0U, // MOV16mm
     623             :     0U, // MOV16mr
     624             :     0U, // MOV16ri
     625             :     0U, // MOV16rm
     626             :     0U, // MOV16rm_POST
     627             :     0U, // MOV16rr
     628             :     0U, // MOV8mi
     629             :     0U, // MOV8mm
     630             :     0U, // MOV8mr
     631             :     0U, // MOV8ri
     632             :     0U, // MOV8rm
     633             :     0U, // MOV8rm_POST
     634             :     0U, // MOV8rr
     635             :     0U, // MOVZX16rm8
     636             :     0U, // MOVZX16rr8
     637             :     0U, // NOP
     638             :     0U, // OR16mi
     639             :     0U, // OR16mm
     640             :     0U, // OR16mr
     641             :     1U, // OR16ri
     642             :     0U, // OR16rm
     643             :     0U, // OR16rm_POST
     644             :     1U, // OR16rr
     645             :     0U, // OR8mi
     646             :     0U, // OR8mm
     647             :     0U, // OR8mr
     648             :     1U, // OR8ri
     649             :     0U, // OR8rm
     650             :     0U, // OR8rm_POST
     651             :     1U, // OR8rr
     652             :     0U, // POP16r
     653             :     0U, // PUSH16r
     654             :     0U, // RET
     655             :     0U, // RETI
     656             :     0U, // SAR16r1
     657             :     0U, // SAR16r1c
     658             :     0U, // SAR8r1
     659             :     0U, // SAR8r1c
     660             :     0U, // SBC16mi
     661             :     0U, // SBC16mm
     662             :     0U, // SBC16mr
     663             :     1U, // SBC16ri
     664             :     0U, // SBC16rm
     665             :     1U, // SBC16rr
     666             :     0U, // SBC8mi
     667             :     0U, // SBC8mm
     668             :     0U, // SBC8mr
     669             :     1U, // SBC8ri
     670             :     0U, // SBC8rm
     671             :     1U, // SBC8rr
     672             :     0U, // SEXT16r
     673             :     0U, // SHL16r1
     674             :     0U, // SHL8r1
     675             :     0U, // SUB16mi
     676             :     0U, // SUB16mm
     677             :     0U, // SUB16mr
     678             :     1U, // SUB16ri
     679             :     0U, // SUB16rm
     680             :     0U, // SUB16rm_POST
     681             :     1U, // SUB16rr
     682             :     0U, // SUB8mi
     683             :     0U, // SUB8mm
     684             :     0U, // SUB8mr
     685             :     1U, // SUB8ri
     686             :     0U, // SUB8rm
     687             :     0U, // SUB8rm_POST
     688             :     1U, // SUB8rr
     689             :     0U, // SWPB16r
     690             :     0U, // Select16
     691             :     0U, // Select8
     692             :     0U, // Shl16
     693             :     0U, // Shl8
     694             :     0U, // Sra16
     695             :     0U, // Sra8
     696             :     0U, // Srl16
     697             :     0U, // Srl8
     698             :     0U, // XOR16mi
     699             :     0U, // XOR16mm
     700             :     0U, // XOR16mr
     701             :     1U, // XOR16ri
     702             :     0U, // XOR16rm
     703             :     0U, // XOR16rm_POST
     704             :     1U, // XOR16rr
     705             :     0U, // XOR8mi
     706             :     0U, // XOR8mm
     707             :     0U, // XOR8mr
     708             :     1U, // XOR8ri
     709             :     0U, // XOR8rm
     710             :     0U, // XOR8rm_POST
     711             :     1U, // XOR8rr
     712             :     0U, // ZEXT16r
     713             :   };
     714             : 
     715        2483 :   O << "\t";
     716             : 
     717             :   // Emit the opcode for the instruction.
     718             :   uint32_t Bits = 0;
     719        2483 :   Bits |= OpInfo0[MI->getOpcode()] << 0;
     720        2483 :   Bits |= OpInfo1[MI->getOpcode()] << 16;
     721             :   assert(Bits != 0 && "Cannot print this instruction.");
     722        2483 :   O << AsmStrs+(Bits & 1023)-1;
     723             : 
     724             : 
     725             :   // Fragment 0 encoded into 4 bits for 11 unique commands.
     726        2483 :   switch ((Bits >> 10) & 15) {
     727           0 :   default: llvm_unreachable("Invalid command number.");
     728             :   case 0:
     729             :     // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
     730             :     return;
     731             :     break;
     732        1097 :   case 1:
     733             :     // ADC16mi, ADC16mr, ADC16ri, ADC16rr, ADC8mi, ADC8mr, ADC8ri, ADC8rr, AD...
     734        1097 :     printOperand(MI, 2, O);
     735        1097 :     break;
     736          44 :   case 2:
     737             :     // ADC16mm, ADC16rm, ADC8mm, ADC8rm, ADD16mm, ADD16rm, ADD8mm, ADD8rm, AN...
     738          44 :     printSrcMemOperand(MI, 2, O);
     739          44 :     O << ", ";
     740          44 :     break;
     741           5 :   case 3:
     742             :     // ADD16rm_POST, ADD8rm_POST, AND16rm_POST, AND8rm_POST, OR16rm_POST, OR8...
     743           5 :     printOperand(MI, 3, O);
     744           5 :     O << "+, ";
     745           5 :     printOperand(MI, 0, O);
     746           5 :     return;
     747             :     break;
     748         371 :   case 4:
     749             :     // BIT16ri, BIT16rr, BIT8ri, BIT8rr, CMP16ri, CMP16rr, CMP8ri, CMP8rr, MO...
     750         371 :     printOperand(MI, 1, O);
     751         371 :     O << ", ";
     752         371 :     printOperand(MI, 0, O);
     753         371 :     return;
     754             :     break;
     755         325 :   case 5:
     756             :     // BIT16rm, BIT8rm, CMP16rm, CMP8rm, MOV16rm, MOV8rm, MOVZX16rm8
     757         325 :     printSrcMemOperand(MI, 1, O);
     758         325 :     O << ", ";
     759         325 :     printOperand(MI, 0, O);
     760         325 :     return;
     761             :     break;
     762         288 :   case 6:
     763             :     // Bi, Br, CALLi, CALLr, POP16r, PUSH16r, SAR16r1, SAR16r1c, SAR8r1, SAR8...
     764         288 :     printOperand(MI, 0, O);
     765         288 :     return;
     766             :     break;
     767           2 :   case 7:
     768             :     // Bm
     769           2 :     printSrcMemOperand(MI, 0, O);
     770           2 :     return;
     771             :     break;
     772           0 :   case 8:
     773             :     // CALLm
     774           0 :     printSrcMemOperand(MI, 0, O, "mem");
     775           0 :     return;
     776             :     break;
     777          52 :   case 9:
     778             :     // JCC
     779          52 :     printCCOperand(MI, 1, O);
     780          52 :     O << "\t";
     781          52 :     printPCRelImmOperand(MI, 0, O);
     782          52 :     return;
     783             :     break;
     784           7 :   case 10:
     785             :     // JMP
     786           7 :     printPCRelImmOperand(MI, 0, O);
     787           7 :     return;
     788             :     break;
     789             :   }
     790             : 
     791             : 
     792             :   // Fragment 1 encoded into 2 bits for 4 unique commands.
     793        1141 :   switch ((Bits >> 14) & 3) {
     794           0 :   default: llvm_unreachable("Invalid command number.");
     795        1097 :   case 0:
     796             :     // ADC16mi, ADC16mr, ADC16ri, ADC16rr, ADC8mi, ADC8mr, ADC8ri, ADC8rr, AD...
     797        1097 :     O << ", ";
     798             :     break;
     799          27 :   case 1:
     800             :     // ADC16mm, ADC8mm, ADD16mm, ADD8mm, AND16mm, AND8mm, BIC16mm, BIC8mm, BI...
     801          27 :     printSrcMemOperand(MI, 0, O);
     802          27 :     return;
     803             :     break;
     804          17 :   case 2:
     805             :     // ADC16rm, ADC8rm, ADD16rm, ADD8rm, AND16rm, AND8rm, BIC16rm, BIC8rm, OR...
     806          17 :     printOperand(MI, 0, O);
     807          17 :     return;
     808             :     break;
     809           0 :   case 3:
     810             :     // MOV16rm_POST, MOV8rm_POST
     811           0 :     O << "+, ";
     812           0 :     printOperand(MI, 0, O);
     813           0 :     return;
     814             :     break;
     815             :   }
     816             : 
     817             : 
     818             :   // Fragment 2 encoded into 1 bits for 2 unique commands.
     819        1097 :   if ((Bits >> 16) & 1) {
     820             :     // ADC16ri, ADC16rr, ADC8ri, ADC8rr, ADD16ri, ADD16rr, ADD8ri, ADD8rr, AN...
     821         246 :     printOperand(MI, 0, O);
     822         246 :     return;
     823             :   } else {
     824             :     // ADC16mi, ADC16mr, ADC8mi, ADC8mr, ADD16mi, ADD16mr, ADD8mi, ADD8mr, AN...
     825         851 :     printSrcMemOperand(MI, 0, O);
     826         851 :     return;
     827             :   }
     828             : 
     829             : }
     830             : 
     831             : 
     832             : /// getRegisterName - This method is automatically generated by tblgen
     833             : /// from the register set description.  This returns the assembler name
     834             : /// for the specified register.
     835        2012 : const char *MSP430InstPrinter::getRegisterName(unsigned RegNo) {
     836             :   assert(RegNo && RegNo < 33 && "Invalid register number!");
     837             : 
     838             :   static const char AsmStrs[] = {
     839             :   /* 0 */ 'r', '1', '0', 0,
     840             :   /* 4 */ 'r', '0', 0,
     841             :   /* 7 */ 'r', '1', '1', 0,
     842             :   /* 11 */ 'r', '1', 0,
     843             :   /* 14 */ 'r', '1', '2', 0,
     844             :   /* 18 */ 'r', '2', 0,
     845             :   /* 21 */ 'r', '1', '3', 0,
     846             :   /* 25 */ 'r', '3', 0,
     847             :   /* 28 */ 'r', '1', '4', 0,
     848             :   /* 32 */ 'r', '4', 0,
     849             :   /* 35 */ 'r', '1', '5', 0,
     850             :   /* 39 */ 'r', '5', 0,
     851             :   /* 42 */ 'r', '6', 0,
     852             :   /* 45 */ 'r', '7', 0,
     853             :   /* 48 */ 'r', '8', 0,
     854             :   /* 51 */ 'r', '9', 0,
     855             :   };
     856             : 
     857             :   static const uint8_t RegAsmOffset[] = {
     858             :     25, 25, 32, 32, 4, 4, 11, 11, 18, 18, 39, 42, 45, 48, 
     859             :     51, 0, 7, 14, 21, 28, 35, 39, 42, 45, 48, 51, 0, 7, 
     860             :     14, 21, 28, 35, 
     861             :   };
     862             : 
     863             :   assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
     864             :           "Invalid alt name index for register!");
     865        2012 :   return AsmStrs+RegAsmOffset[RegNo-1];
     866             : }
     867             : 
     868             : #ifdef PRINT_ALIAS_INSTR
     869             : #undef PRINT_ALIAS_INSTR
     870             : 
     871             : bool MSP430InstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
     872             :   return false;
     873             : }
     874             : 
     875             : #endif // PRINT_ALIAS_INSTR

Generated by: LCOV version 1.13