LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/ARM - ARMGenMCCodeEmitter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 3800 3874 98.1 %
Date: 2017-09-14 15:23:50 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* Machine Code Emitter                                                       *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : // Undef for HURD
      10             : #ifdef EIEIO
      11             : #undef EIEIO
      12             : #endif
      13       40637 : uint64_t ARMMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
      14             :     SmallVectorImpl<MCFixup> &Fixups,
      15             :     const MCSubtargetInfo &STI) const {
      16             :   static const uint64_t InstBits[] = {
      17             :     UINT64_C(0),
      18             :     UINT64_C(0),
      19             :     UINT64_C(0),
      20             :     UINT64_C(0),
      21             :     UINT64_C(0),
      22             :     UINT64_C(0),
      23             :     UINT64_C(0),
      24             :     UINT64_C(0),
      25             :     UINT64_C(0),
      26             :     UINT64_C(0),
      27             :     UINT64_C(0),
      28             :     UINT64_C(0),
      29             :     UINT64_C(0),
      30             :     UINT64_C(0),
      31             :     UINT64_C(0),
      32             :     UINT64_C(0),
      33             :     UINT64_C(0),
      34             :     UINT64_C(0),
      35             :     UINT64_C(0),
      36             :     UINT64_C(0),
      37             :     UINT64_C(0),
      38             :     UINT64_C(0),
      39             :     UINT64_C(0),
      40             :     UINT64_C(0),
      41             :     UINT64_C(0),
      42             :     UINT64_C(0),
      43             :     UINT64_C(0),
      44             :     UINT64_C(0),
      45             :     UINT64_C(0),
      46             :     UINT64_C(0),
      47             :     UINT64_C(0),
      48             :     UINT64_C(0),
      49             :     UINT64_C(0),
      50             :     UINT64_C(0),
      51             :     UINT64_C(0),
      52             :     UINT64_C(0),
      53             :     UINT64_C(0),
      54             :     UINT64_C(0),
      55             :     UINT64_C(0),
      56             :     UINT64_C(0),
      57             :     UINT64_C(0),
      58             :     UINT64_C(0),
      59             :     UINT64_C(0),
      60             :     UINT64_C(0),
      61             :     UINT64_C(0),
      62             :     UINT64_C(0),
      63             :     UINT64_C(0),
      64             :     UINT64_C(0),
      65             :     UINT64_C(0),
      66             :     UINT64_C(0),
      67             :     UINT64_C(0),
      68             :     UINT64_C(0),
      69             :     UINT64_C(0),
      70             :     UINT64_C(0),
      71             :     UINT64_C(0),
      72             :     UINT64_C(0),
      73             :     UINT64_C(0),
      74             :     UINT64_C(0),
      75             :     UINT64_C(0),
      76             :     UINT64_C(0),
      77             :     UINT64_C(0),
      78             :     UINT64_C(0),
      79             :     UINT64_C(0),
      80             :     UINT64_C(0),
      81             :     UINT64_C(0),
      82             :     UINT64_C(0),
      83             :     UINT64_C(0),
      84             :     UINT64_C(0),
      85             :     UINT64_C(0),
      86             :     UINT64_C(0),
      87             :     UINT64_C(0),
      88             :     UINT64_C(0),
      89             :     UINT64_C(0),
      90             :     UINT64_C(0),
      91             :     UINT64_C(0),
      92             :     UINT64_C(0),
      93             :     UINT64_C(0),
      94             :     UINT64_C(0),
      95             :     UINT64_C(0),
      96             :     UINT64_C(0),
      97             :     UINT64_C(0),
      98             :     UINT64_C(0),
      99             :     UINT64_C(0),
     100             :     UINT64_C(0),
     101             :     UINT64_C(0),
     102             :     UINT64_C(0),
     103             :     UINT64_C(0),
     104             :     UINT64_C(0),
     105             :     UINT64_C(0),
     106             :     UINT64_C(0),
     107             :     UINT64_C(0),
     108             :     UINT64_C(0),
     109             :     UINT64_C(0),
     110             :     UINT64_C(0),
     111             :     UINT64_C(0),
     112             :     UINT64_C(0),
     113             :     UINT64_C(0),
     114             :     UINT64_C(0),
     115             :     UINT64_C(0),
     116             :     UINT64_C(0),
     117             :     UINT64_C(0),
     118             :     UINT64_C(0),
     119             :     UINT64_C(0),
     120             :     UINT64_C(0),
     121             :     UINT64_C(0),
     122             :     UINT64_C(44040192), // ADCri
     123             :     UINT64_C(10485760), // ADCrr
     124             :     UINT64_C(10485760), // ADCrsi
     125             :     UINT64_C(10485776), // ADCrsr
     126             :     UINT64_C(0),
     127             :     UINT64_C(0),
     128             :     UINT64_C(0),
     129             :     UINT64_C(0),
     130             :     UINT64_C(41943040), // ADDri
     131             :     UINT64_C(8388608),  // ADDrr
     132             :     UINT64_C(8388608),  // ADDrsi
     133             :     UINT64_C(8388624),  // ADDrsr
     134             :     UINT64_C(0),
     135             :     UINT64_C(0),
     136             :     UINT64_C(34537472), // ADR
     137             :     UINT64_C(4088398656),       // AESD
     138             :     UINT64_C(4088398592),       // AESE
     139             :     UINT64_C(4088398784),       // AESIMC
     140             :     UINT64_C(4088398720),       // AESMC
     141             :     UINT64_C(33554432), // ANDri
     142             :     UINT64_C(0),        // ANDrr
     143             :     UINT64_C(0),        // ANDrsi
     144             :     UINT64_C(16),       // ANDrsr
     145             :     UINT64_C(0),
     146             :     UINT64_C(0),
     147             :     UINT64_C(0),
     148             :     UINT64_C(0),
     149             :     UINT64_C(0),
     150             :     UINT64_C(130023455),        // BFC
     151             :     UINT64_C(130023440),        // BFI
     152             :     UINT64_C(62914560), // BICri
     153             :     UINT64_C(29360128), // BICrr
     154             :     UINT64_C(29360128), // BICrsi
     155             :     UINT64_C(29360144), // BICrsr
     156             :     UINT64_C(3776970864),       // BKPT
     157             :     UINT64_C(3942645760),       // BL
     158             :     UINT64_C(3778019120),       // BLX
     159             :     UINT64_C(19922736), // BLX_pred
     160             :     UINT64_C(4194304000),       // BLXi
     161             :     UINT64_C(184549376),        // BL_pred
     162             :     UINT64_C(0),
     163             :     UINT64_C(0),
     164             :     UINT64_C(0),
     165             :     UINT64_C(0),
     166             :     UINT64_C(0),
     167             :     UINT64_C(3778019088),       // BX
     168             :     UINT64_C(19922720), // BXJ
     169             :     UINT64_C(0),
     170             :     UINT64_C(19922718), // BX_RET
     171             :     UINT64_C(19922704), // BX_pred
     172             :     UINT64_C(167772160),        // Bcc
     173             :     UINT64_C(234881024),        // CDP
     174             :     UINT64_C(4261412864),       // CDP2
     175             :     UINT64_C(4118802463),       // CLREX
     176             :     UINT64_C(24055568), // CLZ
     177             :     UINT64_C(57671680), // CMNri
     178             :     UINT64_C(24117248), // CMNzrr
     179             :     UINT64_C(24117248), // CMNzrsi
     180             :     UINT64_C(24117264), // CMNzrsr
     181             :     UINT64_C(0),
     182             :     UINT64_C(0),
     183             :     UINT64_C(0),
     184             :     UINT64_C(0),
     185             :     UINT64_C(55574528), // CMPri
     186             :     UINT64_C(22020096), // CMPrr
     187             :     UINT64_C(22020096), // CMPrsi
     188             :     UINT64_C(22020112), // CMPrsr
     189             :     UINT64_C(0),
     190             :     UINT64_C(0),
     191             :     UINT64_C(4043440128),       // CPS1p
     192             :     UINT64_C(4043309056),       // CPS2p
     193             :     UINT64_C(4043440128),       // CPS3p
     194             :     UINT64_C(3774873664),       // CRC32B
     195             :     UINT64_C(3774874176),       // CRC32CB
     196             :     UINT64_C(3776971328),       // CRC32CH
     197             :     UINT64_C(3779068480),       // CRC32CW
     198             :     UINT64_C(3776970816),       // CRC32H
     199             :     UINT64_C(3779067968),       // CRC32W
     200             :     UINT64_C(0),
     201             :     UINT64_C(52490480), // DBG
     202             :     UINT64_C(4118802512),       // DMB
     203             :     UINT64_C(4118802496),       // DSB
     204             :     UINT64_C(35651584), // EORri
     205             :     UINT64_C(2097152),  // EORrr
     206             :     UINT64_C(2097152),  // EORrsi
     207             :     UINT64_C(2097168),  // EORrsr
     208             :     UINT64_C(23068782), // ERET
     209             :     UINT64_C(246418176),        // FCONSTD
     210             :     UINT64_C(246417664),        // FCONSTH
     211             :     UINT64_C(246417920),        // FCONSTS
     212             :     UINT64_C(221252353),        // FLDMXDB_UPD
     213             :     UINT64_C(210766593),        // FLDMXIA
     214             :     UINT64_C(212863745),        // FLDMXIA_UPD
     215             :     UINT64_C(250739216),        // FMSTAT
     216             :     UINT64_C(220203777),        // FSTMXDB_UPD
     217             :     UINT64_C(209718017),        // FSTMXIA
     218             :     UINT64_C(211815169),        // FSTMXIA_UPD
     219             :     UINT64_C(52490240), // HINT
     220             :     UINT64_C(3774873712),       // HLT
     221             :     UINT64_C(3779068016),       // HVC
     222             :     UINT64_C(4118802528),       // ISB
     223             :     UINT64_C(0),
     224             :     UINT64_C(0),
     225             :     UINT64_C(0),
     226             :     UINT64_C(0),
     227             :     UINT64_C(0),
     228             :     UINT64_C(0),
     229             :     UINT64_C(0),
     230             :     UINT64_C(0),
     231             :     UINT64_C(0),
     232             :     UINT64_C(0),
     233             :     UINT64_C(26217631), // LDA
     234             :     UINT64_C(30411935), // LDAB
     235             :     UINT64_C(26218143), // LDAEX
     236             :     UINT64_C(30412447), // LDAEXB
     237             :     UINT64_C(28315295), // LDAEXD
     238             :     UINT64_C(32509599), // LDAEXH
     239             :     UINT64_C(32509087), // LDAH
     240             :     UINT64_C(4249878528),       // LDC2L_OFFSET
     241             :     UINT64_C(4241489920),       // LDC2L_OPTION
     242             :     UINT64_C(4235198464),       // LDC2L_POST
     243             :     UINT64_C(4251975680),       // LDC2L_PRE
     244             :     UINT64_C(4245684224),       // LDC2_OFFSET
     245             :     UINT64_C(4237295616),       // LDC2_OPTION
     246             :     UINT64_C(4231004160),       // LDC2_POST
     247             :     UINT64_C(4247781376),       // LDC2_PRE
     248             :     UINT64_C(223346688),        // LDCL_OFFSET
     249             :     UINT64_C(214958080),        // LDCL_OPTION
     250             :     UINT64_C(208666624),        // LDCL_POST
     251             :     UINT64_C(225443840),        // LDCL_PRE
     252             :     UINT64_C(219152384),        // LDC_OFFSET
     253             :     UINT64_C(210763776),        // LDC_OPTION
     254             :     UINT64_C(204472320),        // LDC_POST
     255             :     UINT64_C(221249536),        // LDC_PRE
     256             :     UINT64_C(135266304),        // LDMDA
     257             :     UINT64_C(137363456),        // LDMDA_UPD
     258             :     UINT64_C(152043520),        // LDMDB
     259             :     UINT64_C(154140672),        // LDMDB_UPD
     260             :     UINT64_C(143654912),        // LDMIA
     261             :     UINT64_C(0),
     262             :     UINT64_C(145752064),        // LDMIA_UPD
     263             :     UINT64_C(160432128),        // LDMIB
     264             :     UINT64_C(162529280),        // LDMIB_UPD
     265             :     UINT64_C(0),
     266             :     UINT64_C(74448896), // LDRBT_POST_IMM
     267             :     UINT64_C(108003328),        // LDRBT_POST_REG
     268             :     UINT64_C(72351744), // LDRB_POST_IMM
     269             :     UINT64_C(105906176),        // LDRB_POST_REG
     270             :     UINT64_C(91226112), // LDRB_PRE_IMM
     271             :     UINT64_C(124780544),        // LDRB_PRE_REG
     272             :     UINT64_C(89128960), // LDRBi12
     273             :     UINT64_C(122683392),        // LDRBrs
     274             :     UINT64_C(0),
     275             :     UINT64_C(16777424), // LDRD
     276             :     UINT64_C(208),      // LDRD_POST
     277             :     UINT64_C(18874576), // LDRD_PRE
     278             :     UINT64_C(26218399), // LDREX
     279             :     UINT64_C(30412703), // LDREXB
     280             :     UINT64_C(28315551), // LDREXD
     281             :     UINT64_C(32509855), // LDREXH
     282             :     UINT64_C(17825968), // LDRH
     283             :     UINT64_C(7340208),  // LDRHTi
     284             :     UINT64_C(3145904),  // LDRHTr
     285             :     UINT64_C(1048752),  // LDRH_POST
     286             :     UINT64_C(19923120), // LDRH_PRE
     287             :     UINT64_C(0),
     288             :     UINT64_C(0),
     289             :     UINT64_C(0),
     290             :     UINT64_C(17826000), // LDRSB
     291             :     UINT64_C(7340240),  // LDRSBTi
     292             :     UINT64_C(3145936),  // LDRSBTr
     293             :     UINT64_C(1048784),  // LDRSB_POST
     294             :     UINT64_C(19923152), // LDRSB_PRE
     295             :     UINT64_C(17826032), // LDRSH
     296             :     UINT64_C(7340272),  // LDRSHTi
     297             :     UINT64_C(3145968),  // LDRSHTr
     298             :     UINT64_C(1048816),  // LDRSH_POST
     299             :     UINT64_C(19923184), // LDRSH_PRE
     300             :     UINT64_C(0),
     301             :     UINT64_C(70254592), // LDRT_POST_IMM
     302             :     UINT64_C(103809024),        // LDRT_POST_REG
     303             :     UINT64_C(68157440), // LDR_POST_IMM
     304             :     UINT64_C(101711872),        // LDR_POST_REG
     305             :     UINT64_C(87031808), // LDR_PRE_IMM
     306             :     UINT64_C(120586240),        // LDR_PRE_REG
     307             :     UINT64_C(85917696), // LDRcp
     308             :     UINT64_C(84934656), // LDRi12
     309             :     UINT64_C(118489088),        // LDRrs
     310             :     UINT64_C(0),
     311             :     UINT64_C(0),
     312             :     UINT64_C(0),
     313             :     UINT64_C(0),
     314             :     UINT64_C(0),
     315             :     UINT64_C(0),
     316             :     UINT64_C(234881040),        // MCR
     317             :     UINT64_C(4261412880),       // MCR2
     318             :     UINT64_C(205520896),        // MCRR
     319             :     UINT64_C(4232052736),       // MCRR2
     320             :     UINT64_C(0),
     321             :     UINT64_C(2097296),  // MLA
     322             :     UINT64_C(0),
     323             :     UINT64_C(6291600),  // MLS
     324             :     UINT64_C(0),
     325             :     UINT64_C(0),
     326             :     UINT64_C(0),
     327             :     UINT64_C(0),
     328             :     UINT64_C(0),
     329             :     UINT64_C(0),
     330             :     UINT64_C(27324430), // MOVPCLR
     331             :     UINT64_C(0),
     332             :     UINT64_C(54525952), // MOVTi16
     333             :     UINT64_C(0),
     334             :     UINT64_C(0),
     335             :     UINT64_C(0),
     336             :     UINT64_C(60817408), // MOVi
     337             :     UINT64_C(50331648), // MOVi16
     338             :     UINT64_C(0),
     339             :     UINT64_C(0),
     340             :     UINT64_C(27262976), // MOVr
     341             :     UINT64_C(27262976), // MOVr_TC
     342             :     UINT64_C(27262976), // MOVsi
     343             :     UINT64_C(27262992), // MOVsr
     344             :     UINT64_C(0),
     345             :     UINT64_C(0),
     346             :     UINT64_C(235929616),        // MRC
     347             :     UINT64_C(4262461456),       // MRC2
     348             :     UINT64_C(206569472),        // MRRC
     349             :     UINT64_C(4233101312),       // MRRC2
     350             :     UINT64_C(17760256), // MRS
     351             :     UINT64_C(16777728), // MRSbanked
     352             :     UINT64_C(21954560), // MRSsys
     353             :     UINT64_C(18935808), // MSR
     354             :     UINT64_C(18936320), // MSRbanked
     355             :     UINT64_C(52490240), // MSRi
     356             :     UINT64_C(144),      // MUL
     357             :     UINT64_C(0),
     358             :     UINT64_C(0),
     359             :     UINT64_C(65011712), // MVNi
     360             :     UINT64_C(31457280), // MVNr
     361             :     UINT64_C(31457280), // MVNsi
     362             :     UINT64_C(31457296), // MVNsr
     363             :     UINT64_C(58720256), // ORRri
     364             :     UINT64_C(25165824), // ORRrr
     365             :     UINT64_C(25165824), // ORRrsi
     366             :     UINT64_C(25165840), // ORRrsr
     367             :     UINT64_C(0),
     368             :     UINT64_C(0),
     369             :     UINT64_C(0),
     370             :     UINT64_C(0),
     371             :     UINT64_C(0),
     372             :     UINT64_C(0),
     373             :     UINT64_C(0),
     374             :     UINT64_C(0),
     375             :     UINT64_C(0),
     376             :     UINT64_C(109051920),        // PKHBT
     377             :     UINT64_C(109051984),        // PKHTB
     378             :     UINT64_C(4111527936),       // PLDWi12
     379             :     UINT64_C(4145082368),       // PLDWrs
     380             :     UINT64_C(4115722240),       // PLDi12
     381             :     UINT64_C(4149276672),       // PLDrs
     382             :     UINT64_C(4098945024),       // PLIi12
     383             :     UINT64_C(4132499456),       // PLIrs
     384             :     UINT64_C(16777296), // QADD
     385             :     UINT64_C(102764304),        // QADD16
     386             :     UINT64_C(102764432),        // QADD8
     387             :     UINT64_C(102764336),        // QASX
     388             :     UINT64_C(20971600), // QDADD
     389             :     UINT64_C(23068752), // QDSUB
     390             :     UINT64_C(102764368),        // QSAX
     391             :     UINT64_C(18874448), // QSUB
     392             :     UINT64_C(102764400),        // QSUB16
     393             :     UINT64_C(102764528),        // QSUB8
     394             :     UINT64_C(117378864),        // RBIT
     395             :     UINT64_C(113184560),        // REV
     396             :     UINT64_C(113184688),        // REV16
     397             :     UINT64_C(117378992),        // REVSH
     398             :     UINT64_C(4161800704),       // RFEDA
     399             :     UINT64_C(4163897856),       // RFEDA_UPD
     400             :     UINT64_C(4178577920),       // RFEDB
     401             :     UINT64_C(4180675072),       // RFEDB_UPD
     402             :     UINT64_C(4170189312),       // RFEIA
     403             :     UINT64_C(4172286464),       // RFEIA_UPD
     404             :     UINT64_C(4186966528),       // RFEIB
     405             :     UINT64_C(4189063680),       // RFEIB_UPD
     406             :     UINT64_C(0),
     407             :     UINT64_C(0),
     408             :     UINT64_C(0),
     409             :     UINT64_C(0),
     410             :     UINT64_C(0),
     411             :     UINT64_C(0),
     412             :     UINT64_C(0),
     413             :     UINT64_C(39845888), // RSBri
     414             :     UINT64_C(6291456),  // RSBrr
     415             :     UINT64_C(6291456),  // RSBrsi
     416             :     UINT64_C(6291472),  // RSBrsr
     417             :     UINT64_C(48234496), // RSCri
     418             :     UINT64_C(14680064), // RSCrr
     419             :     UINT64_C(14680064), // RSCrsi
     420             :     UINT64_C(14680080), // RSCrsr
     421             :     UINT64_C(101715728),        // SADD16
     422             :     UINT64_C(101715856),        // SADD8
     423             :     UINT64_C(101715760),        // SASX
     424             :     UINT64_C(46137344), // SBCri
     425             :     UINT64_C(12582912), // SBCrr
     426             :     UINT64_C(12582912), // SBCrsi
     427             :     UINT64_C(12582928), // SBCrsr
     428             :     UINT64_C(127926352),        // SBFX
     429             :     UINT64_C(118550544),        // SDIV
     430             :     UINT64_C(109055920),        // SEL
     431             :     UINT64_C(4043374592),       // SETEND
     432             :     UINT64_C(4044357632),       // SETPAN
     433             :     UINT64_C(4060089408),       // SHA1C
     434             :     UINT64_C(4088988352),       // SHA1H
     435             :     UINT64_C(4062186560),       // SHA1M
     436             :     UINT64_C(4061137984),       // SHA1P
     437             :     UINT64_C(4063235136),       // SHA1SU0
     438             :     UINT64_C(4089054080),       // SHA1SU1
     439             :     UINT64_C(4076866624),       // SHA256H
     440             :     UINT64_C(4077915200),       // SHA256H2
     441             :     UINT64_C(4089054144),       // SHA256SU0
     442             :     UINT64_C(4078963776),       // SHA256SU1
     443             :     UINT64_C(103812880),        // SHADD16
     444             :     UINT64_C(103813008),        // SHADD8
     445             :     UINT64_C(103812912),        // SHASX
     446             :     UINT64_C(103812944),        // SHSAX
     447             :     UINT64_C(103812976),        // SHSUB16
     448             :     UINT64_C(103813104),        // SHSUB8
     449             :     UINT64_C(23068784), // SMC
     450             :     UINT64_C(16777344), // SMLABB
     451             :     UINT64_C(16777408), // SMLABT
     452             :     UINT64_C(117440528),        // SMLAD
     453             :     UINT64_C(117440560),        // SMLADX
     454             :     UINT64_C(14680208), // SMLAL
     455             :     UINT64_C(20971648), // SMLALBB
     456             :     UINT64_C(20971712), // SMLALBT
     457             :     UINT64_C(121634832),        // SMLALD
     458             :     UINT64_C(121634864),        // SMLALDX
     459             :     UINT64_C(20971680), // SMLALTB
     460             :     UINT64_C(20971744), // SMLALTT
     461             :     UINT64_C(0),
     462             :     UINT64_C(16777376), // SMLATB
     463             :     UINT64_C(16777440), // SMLATT
     464             :     UINT64_C(18874496), // SMLAWB
     465             :     UINT64_C(18874560), // SMLAWT
     466             :     UINT64_C(117440592),        // SMLSD
     467             :     UINT64_C(117440624),        // SMLSDX
     468             :     UINT64_C(121634896),        // SMLSLD
     469             :     UINT64_C(121634928),        // SMLSLDX
     470             :     UINT64_C(122683408),        // SMMLA
     471             :     UINT64_C(122683440),        // SMMLAR
     472             :     UINT64_C(122683600),        // SMMLS
     473             :     UINT64_C(122683632),        // SMMLSR
     474             :     UINT64_C(122744848),        // SMMUL
     475             :     UINT64_C(122744880),        // SMMULR
     476             :     UINT64_C(117501968),        // SMUAD
     477             :     UINT64_C(117502000),        // SMUADX
     478             :     UINT64_C(23068800), // SMULBB
     479             :     UINT64_C(23068864), // SMULBT
     480             :     UINT64_C(12583056), // SMULL
     481             :     UINT64_C(0),
     482             :     UINT64_C(23068832), // SMULTB
     483             :     UINT64_C(23068896), // SMULTT
     484             :     UINT64_C(18874528), // SMULWB
     485             :     UINT64_C(18874592), // SMULWT
     486             :     UINT64_C(117502032),        // SMUSD
     487             :     UINT64_C(117502064),        // SMUSDX
     488             :     UINT64_C(0),
     489             :     UINT64_C(4165797120),       // SRSDA
     490             :     UINT64_C(4167894272),       // SRSDA_UPD
     491             :     UINT64_C(4182574336),       // SRSDB
     492             :     UINT64_C(4184671488),       // SRSDB_UPD
     493             :     UINT64_C(4174185728),       // SRSIA
     494             :     UINT64_C(4176282880),       // SRSIA_UPD
     495             :     UINT64_C(4190962944),       // SRSIB
     496             :     UINT64_C(4193060096),       // SRSIB_UPD
     497             :     UINT64_C(111149072),        // SSAT
     498             :     UINT64_C(111152944),        // SSAT16
     499             :     UINT64_C(101715792),        // SSAX
     500             :     UINT64_C(101715824),        // SSUB16
     501             :     UINT64_C(101715952),        // SSUB8
     502             :     UINT64_C(4248829952),       // STC2L_OFFSET
     503             :     UINT64_C(4240441344),       // STC2L_OPTION
     504             :     UINT64_C(4234149888),       // STC2L_POST
     505             :     UINT64_C(4250927104),       // STC2L_PRE
     506             :     UINT64_C(4244635648),       // STC2_OFFSET
     507             :     UINT64_C(4236247040),       // STC2_OPTION
     508             :     UINT64_C(4229955584),       // STC2_POST
     509             :     UINT64_C(4246732800),       // STC2_PRE
     510             :     UINT64_C(222298112),        // STCL_OFFSET
     511             :     UINT64_C(213909504),        // STCL_OPTION
     512             :     UINT64_C(207618048),        // STCL_POST
     513             :     UINT64_C(224395264),        // STCL_PRE
     514             :     UINT64_C(218103808),        // STC_OFFSET
     515             :     UINT64_C(209715200),        // STC_OPTION
     516             :     UINT64_C(203423744),        // STC_POST
     517             :     UINT64_C(220200960),        // STC_PRE
     518             :     UINT64_C(25230480), // STL
     519             :     UINT64_C(29424784), // STLB
     520             :     UINT64_C(25169552), // STLEX
     521             :     UINT64_C(29363856), // STLEXB
     522             :     UINT64_C(27266704), // STLEXD
     523             :     UINT64_C(31461008), // STLEXH
     524             :     UINT64_C(31521936), // STLH
     525             :     UINT64_C(134217728),        // STMDA
     526             :     UINT64_C(136314880),        // STMDA_UPD
     527             :     UINT64_C(150994944),        // STMDB
     528             :     UINT64_C(153092096),        // STMDB_UPD
     529             :     UINT64_C(142606336),        // STMIA
     530             :     UINT64_C(144703488),        // STMIA_UPD
     531             :     UINT64_C(159383552),        // STMIB
     532             :     UINT64_C(161480704),        // STMIB_UPD
     533             :     UINT64_C(0),
     534             :     UINT64_C(73400320), // STRBT_POST_IMM
     535             :     UINT64_C(106954752),        // STRBT_POST_REG
     536             :     UINT64_C(71303168), // STRB_POST_IMM
     537             :     UINT64_C(104857600),        // STRB_POST_REG
     538             :     UINT64_C(90177536), // STRB_PRE_IMM
     539             :     UINT64_C(123731968),        // STRB_PRE_REG
     540             :     UINT64_C(88080384), // STRBi12
     541             :     UINT64_C(0),
     542             :     UINT64_C(0),
     543             :     UINT64_C(121634816),        // STRBrs
     544             :     UINT64_C(16777456), // STRD
     545             :     UINT64_C(240),      // STRD_POST
     546             :     UINT64_C(18874608), // STRD_PRE
     547             :     UINT64_C(25169808), // STREX
     548             :     UINT64_C(29364112), // STREXB
     549             :     UINT64_C(27266960), // STREXD
     550             :     UINT64_C(31461264), // STREXH
     551             :     UINT64_C(16777392), // STRH
     552             :     UINT64_C(6291632),  // STRHTi
     553             :     UINT64_C(2097328),  // STRHTr
     554             :     UINT64_C(176),      // STRH_POST
     555             :     UINT64_C(18874544), // STRH_PRE
     556             :     UINT64_C(0),
     557             :     UINT64_C(0),
     558             :     UINT64_C(69206016), // STRT_POST_IMM
     559             :     UINT64_C(102760448),        // STRT_POST_REG
     560             :     UINT64_C(67108864), // STR_POST_IMM
     561             :     UINT64_C(100663296),        // STR_POST_REG
     562             :     UINT64_C(85983232), // STR_PRE_IMM
     563             :     UINT64_C(119537664),        // STR_PRE_REG
     564             :     UINT64_C(83886080), // STRi12
     565             :     UINT64_C(0),
     566             :     UINT64_C(0),
     567             :     UINT64_C(117440512),        // STRrs
     568             :     UINT64_C(0),
     569             :     UINT64_C(0),
     570             :     UINT64_C(0),
     571             :     UINT64_C(0),
     572             :     UINT64_C(0),
     573             :     UINT64_C(37748736), // SUBri
     574             :     UINT64_C(4194304),  // SUBrr
     575             :     UINT64_C(4194304),  // SUBrsi
     576             :     UINT64_C(4194320),  // SUBrsr
     577             :     UINT64_C(251658240),        // SVC
     578             :     UINT64_C(16777360), // SWP
     579             :     UINT64_C(20971664), // SWPB
     580             :     UINT64_C(111149168),        // SXTAB
     581             :     UINT64_C(109052016),        // SXTAB16
     582             :     UINT64_C(112197744),        // SXTAH
     583             :     UINT64_C(112132208),        // SXTB
     584             :     UINT64_C(110035056),        // SXTB16
     585             :     UINT64_C(113180784),        // SXTH
     586             :     UINT64_C(0),
     587             :     UINT64_C(0),
     588             :     UINT64_C(0),
     589             :     UINT64_C(0),
     590             :     UINT64_C(0),
     591             :     UINT64_C(53477376), // TEQri
     592             :     UINT64_C(19922944), // TEQrr
     593             :     UINT64_C(19922944), // TEQrsi
     594             :     UINT64_C(19922960), // TEQrsr
     595             :     UINT64_C(0),
     596             :     UINT64_C(3892305662),       // TRAP
     597             :     UINT64_C(3892240112),       // TRAPNaCl
     598             :     UINT64_C(51380224), // TSTri
     599             :     UINT64_C(17825792), // TSTrr
     600             :     UINT64_C(17825792), // TSTrsi
     601             :     UINT64_C(17825808), // TSTrsr
     602             :     UINT64_C(105910032),        // UADD16
     603             :     UINT64_C(105910160),        // UADD8
     604             :     UINT64_C(105910064),        // UASX
     605             :     UINT64_C(132120656),        // UBFX
     606             :     UINT64_C(3891265776),       // UDF
     607             :     UINT64_C(120647696),        // UDIV
     608             :     UINT64_C(108007184),        // UHADD16
     609             :     UINT64_C(108007312),        // UHADD8
     610             :     UINT64_C(108007216),        // UHASX
     611             :     UINT64_C(108007248),        // UHSAX
     612             :     UINT64_C(108007280),        // UHSUB16
     613             :     UINT64_C(108007408),        // UHSUB8
     614             :     UINT64_C(4194448),  // UMAAL
     615             :     UINT64_C(10485904), // UMLAL
     616             :     UINT64_C(0),
     617             :     UINT64_C(8388752),  // UMULL
     618             :     UINT64_C(0),
     619             :     UINT64_C(106958608),        // UQADD16
     620             :     UINT64_C(106958736),        // UQADD8
     621             :     UINT64_C(106958640),        // UQASX
     622             :     UINT64_C(106958672),        // UQSAX
     623             :     UINT64_C(106958704),        // UQSUB16
     624             :     UINT64_C(106958832),        // UQSUB8
     625             :     UINT64_C(125890576),        // USAD8
     626             :     UINT64_C(125829136),        // USADA8
     627             :     UINT64_C(115343376),        // USAT
     628             :     UINT64_C(115347248),        // USAT16
     629             :     UINT64_C(105910096),        // USAX
     630             :     UINT64_C(105910128),        // USUB16
     631             :     UINT64_C(105910256),        // USUB8
     632             :     UINT64_C(115343472),        // UXTAB
     633             :     UINT64_C(113246320),        // UXTAB16
     634             :     UINT64_C(116392048),        // UXTAH
     635             :     UINT64_C(116326512),        // UXTB
     636             :     UINT64_C(114229360),        // UXTB16
     637             :     UINT64_C(117375088),        // UXTH
     638             :     UINT64_C(4070573312),       // VABALsv2i64
     639             :     UINT64_C(4069524736),       // VABALsv4i32
     640             :     UINT64_C(4068476160),       // VABALsv8i16
     641             :     UINT64_C(4087350528),       // VABALuv2i64
     642             :     UINT64_C(4086301952),       // VABALuv4i32
     643             :     UINT64_C(4085253376),       // VABALuv8i16
     644             :     UINT64_C(4060088144),       // VABAsv16i8
     645             :     UINT64_C(4062185232),       // VABAsv2i32
     646             :     UINT64_C(4061136656),       // VABAsv4i16
     647             :     UINT64_C(4062185296),       // VABAsv4i32
     648             :     UINT64_C(4061136720),       // VABAsv8i16
     649             :     UINT64_C(4060088080),       // VABAsv8i8
     650             :     UINT64_C(4076865360),       // VABAuv16i8
     651             :     UINT64_C(4078962448),       // VABAuv2i32
     652             :     UINT64_C(4077913872),       // VABAuv4i16
     653             :     UINT64_C(4078962512),       // VABAuv4i32
     654             :     UINT64_C(4077913936),       // VABAuv8i16
     655             :     UINT64_C(4076865296),       // VABAuv8i8
     656             :     UINT64_C(4070573824),       // VABDLsv2i64
     657             :     UINT64_C(4069525248),       // VABDLsv4i32
     658             :     UINT64_C(4068476672),       // VABDLsv8i16
     659             :     UINT64_C(4087351040),       // VABDLuv2i64
     660             :     UINT64_C(4086302464),       // VABDLuv4i32
     661             :     UINT64_C(4085253888),       // VABDLuv8i16
     662             :     UINT64_C(4078963968),       // VABDfd
     663             :     UINT64_C(4078964032),       // VABDfq
     664             :     UINT64_C(4080012544),       // VABDhd
     665             :     UINT64_C(4080012608),       // VABDhq
     666             :     UINT64_C(4060088128),       // VABDsv16i8
     667             :     UINT64_C(4062185216),       // VABDsv2i32
     668             :     UINT64_C(4061136640),       // VABDsv4i16
     669             :     UINT64_C(4062185280),       // VABDsv4i32
     670             :     UINT64_C(4061136704),       // VABDsv8i16
     671             :     UINT64_C(4060088064),       // VABDsv8i8
     672             :     UINT64_C(4076865344),       // VABDuv16i8
     673             :     UINT64_C(4078962432),       // VABDuv2i32
     674             :     UINT64_C(4077913856),       // VABDuv4i16
     675             :     UINT64_C(4078962496),       // VABDuv4i32
     676             :     UINT64_C(4077913920),       // VABDuv8i16
     677             :     UINT64_C(4076865280),       // VABDuv8i8
     678             :     UINT64_C(246418368),        // VABSD
     679             :     UINT64_C(246417856),        // VABSH
     680             :     UINT64_C(246418112),        // VABSS
     681             :     UINT64_C(4088989440),       // VABSfd
     682             :     UINT64_C(4088989504),       // VABSfq
     683             :     UINT64_C(4088727296),       // VABShd
     684             :     UINT64_C(4088727360),       // VABShq
     685             :     UINT64_C(4088464192),       // VABSv16i8
     686             :     UINT64_C(4088988416),       // VABSv2i32
     687             :     UINT64_C(4088726272),       // VABSv4i16
     688             :     UINT64_C(4088988480),       // VABSv4i32
     689             :     UINT64_C(4088726336),       // VABSv8i16
     690             :     UINT64_C(4088464128),       // VABSv8i8
     691             :     UINT64_C(4076867088),       // VACGEfd
     692             :     UINT64_C(4076867152),       // VACGEfq
     693             :     UINT64_C(4077915664),       // VACGEhd
     694             :     UINT64_C(4077915728),       // VACGEhq
     695             :     UINT64_C(4078964240),       // VACGTfd
     696             :     UINT64_C(4078964304),       // VACGTfq
     697             :     UINT64_C(4080012816),       // VACGThd
     698             :     UINT64_C(4080012880),       // VACGThq
     699             :     UINT64_C(238029568),        // VADDD
     700             :     UINT64_C(238029056),        // VADDH
     701             :     UINT64_C(4070573056),       // VADDHNv2i32
     702             :     UINT64_C(4069524480),       // VADDHNv4i16
     703             :     UINT64_C(4068475904),       // VADDHNv8i8
     704             :     UINT64_C(4070572032),       // VADDLsv2i64
     705             :     UINT64_C(4069523456),       // VADDLsv4i32
     706             :     UINT64_C(4068474880),       // VADDLsv8i16
     707             :     UINT64_C(4087349248),       // VADDLuv2i64
     708             :     UINT64_C(4086300672),       // VADDLuv4i32
     709             :     UINT64_C(4085252096),       // VADDLuv8i16
     710             :     UINT64_C(238029312),        // VADDS
     711             :     UINT64_C(4070572288),       // VADDWsv2i64
     712             :     UINT64_C(4069523712),       // VADDWsv4i32
     713             :     UINT64_C(4068475136),       // VADDWsv8i16
     714             :     UINT64_C(4087349504),       // VADDWuv2i64
     715             :     UINT64_C(4086300928),       // VADDWuv4i32
     716             :     UINT64_C(4085252352),       // VADDWuv8i16
     717             :     UINT64_C(4060089600),       // VADDfd
     718             :     UINT64_C(4060089664),       // VADDfq
     719             :     UINT64_C(4061138176),       // VADDhd
     720             :     UINT64_C(4061138240),       // VADDhq
     721             :     UINT64_C(4060088384),       // VADDv16i8
     722             :     UINT64_C(4063234048),       // VADDv1i64
     723             :     UINT64_C(4062185472),       // VADDv2i32
     724             :     UINT64_C(4063234112),       // VADDv2i64
     725             :     UINT64_C(4061136896),       // VADDv4i16
     726             :     UINT64_C(4062185536),       // VADDv4i32
     727             :     UINT64_C(4061136960),       // VADDv8i16
     728             :     UINT64_C(4060088320),       // VADDv8i8
     729             :     UINT64_C(4060086544),       // VANDd
     730             :     UINT64_C(4060086608),       // VANDq
     731             :     UINT64_C(4061135120),       // VBICd
     732             :     UINT64_C(4068475184),       // VBICiv2i32
     733             :     UINT64_C(4068477232),       // VBICiv4i16
     734             :     UINT64_C(4068475248),       // VBICiv4i32
     735             :     UINT64_C(4068477296),       // VBICiv8i16
     736             :     UINT64_C(4061135184),       // VBICq
     737             :     UINT64_C(4080009488),       // VBIFd
     738             :     UINT64_C(4080009552),       // VBIFq
     739             :     UINT64_C(4078960912),       // VBITd
     740             :     UINT64_C(4078960976),       // VBITq
     741             :     UINT64_C(4077912336),       // VBSLd
     742             :     UINT64_C(4077912400),       // VBSLq
     743             :     UINT64_C(4060089856),       // VCEQfd
     744             :     UINT64_C(4060089920),       // VCEQfq
     745             :     UINT64_C(4061138432),       // VCEQhd
     746             :     UINT64_C(4061138496),       // VCEQhq
     747             :     UINT64_C(4076865616),       // VCEQv16i8
     748             :     UINT64_C(4078962704),       // VCEQv2i32
     749             :     UINT64_C(4077914128),       // VCEQv4i16
     750             :     UINT64_C(4078962768),       // VCEQv4i32
     751             :     UINT64_C(4077914192),       // VCEQv8i16
     752             :     UINT64_C(4076865552),       // VCEQv8i8
     753             :     UINT64_C(4088463680),       // VCEQzv16i8
     754             :     UINT64_C(4088988928),       // VCEQzv2f32
     755             :     UINT64_C(4088987904),       // VCEQzv2i32
     756             :     UINT64_C(4088726784),       // VCEQzv4f16
     757             :     UINT64_C(4088988992),       // VCEQzv4f32
     758             :     UINT64_C(4088725760),       // VCEQzv4i16
     759             :     UINT64_C(4088987968),       // VCEQzv4i32
     760             :     UINT64_C(4088726848),       // VCEQzv8f16
     761             :     UINT64_C(4088725824),       // VCEQzv8i16
     762             :     UINT64_C(4088463616),       // VCEQzv8i8
     763             :     UINT64_C(4076867072),       // VCGEfd
     764             :     UINT64_C(4076867136),       // VCGEfq
     765             :     UINT64_C(4077915648),       // VCGEhd
     766             :     UINT64_C(4077915712),       // VCGEhq
     767             :     UINT64_C(4060087120),       // VCGEsv16i8
     768             :     UINT64_C(4062184208),       // VCGEsv2i32
     769             :     UINT64_C(4061135632),       // VCGEsv4i16
     770             :     UINT64_C(4062184272),       // VCGEsv4i32
     771             :     UINT64_C(4061135696),       // VCGEsv8i16
     772             :     UINT64_C(4060087056),       // VCGEsv8i8
     773             :     UINT64_C(4076864336),       // VCGEuv16i8
     774             :     UINT64_C(4078961424),       // VCGEuv2i32
     775             :     UINT64_C(4077912848),       // VCGEuv4i16
     776             :     UINT64_C(4078961488),       // VCGEuv4i32
     777             :     UINT64_C(4077912912),       // VCGEuv8i16
     778             :     UINT64_C(4076864272),       // VCGEuv8i8
     779             :     UINT64_C(4088463552),       // VCGEzv16i8
     780             :     UINT64_C(4088988800),       // VCGEzv2f32
     781             :     UINT64_C(4088987776),       // VCGEzv2i32
     782             :     UINT64_C(4088726656),       // VCGEzv4f16
     783             :     UINT64_C(4088988864),       // VCGEzv4f32
     784             :     UINT64_C(4088725632),       // VCGEzv4i16
     785             :     UINT64_C(4088987840),       // VCGEzv4i32
     786             :     UINT64_C(4088726720),       // VCGEzv8f16
     787             :     UINT64_C(4088725696),       // VCGEzv8i16
     788             :     UINT64_C(4088463488),       // VCGEzv8i8
     789             :     UINT64_C(4078964224),       // VCGTfd
     790             :     UINT64_C(4078964288),       // VCGTfq
     791             :     UINT64_C(4080012800),       // VCGThd
     792             :     UINT64_C(4080012864),       // VCGThq
     793             :     UINT64_C(4060087104),       // VCGTsv16i8
     794             :     UINT64_C(4062184192),       // VCGTsv2i32
     795             :     UINT64_C(4061135616),       // VCGTsv4i16
     796             :     UINT64_C(4062184256),       // VCGTsv4i32
     797             :     UINT64_C(4061135680),       // VCGTsv8i16
     798             :     UINT64_C(4060087040),       // VCGTsv8i8
     799             :     UINT64_C(4076864320),       // VCGTuv16i8
     800             :     UINT64_C(4078961408),       // VCGTuv2i32
     801             :     UINT64_C(4077912832),       // VCGTuv4i16
     802             :     UINT64_C(4078961472),       // VCGTuv4i32
     803             :     UINT64_C(4077912896),       // VCGTuv8i16
     804             :     UINT64_C(4076864256),       // VCGTuv8i8
     805             :     UINT64_C(4088463424),       // VCGTzv16i8
     806             :     UINT64_C(4088988672),       // VCGTzv2f32
     807             :     UINT64_C(4088987648),       // VCGTzv2i32
     808             :     UINT64_C(4088726528),       // VCGTzv4f16
     809             :     UINT64_C(4088988736),       // VCGTzv4f32
     810             :     UINT64_C(4088725504),       // VCGTzv4i16
     811             :     UINT64_C(4088987712),       // VCGTzv4i32
     812             :     UINT64_C(4088726592),       // VCGTzv8f16
     813             :     UINT64_C(4088725568),       // VCGTzv8i16
     814             :     UINT64_C(4088463360),       // VCGTzv8i8
     815             :     UINT64_C(4088463808),       // VCLEzv16i8
     816             :     UINT64_C(4088989056),       // VCLEzv2f32
     817             :     UINT64_C(4088988032),       // VCLEzv2i32
     818             :     UINT64_C(4088726912),       // VCLEzv4f16
     819             :     UINT64_C(4088989120),       // VCLEzv4f32
     820             :     UINT64_C(4088725888),       // VCLEzv4i16
     821             :     UINT64_C(4088988096),       // VCLEzv4i32
     822             :     UINT64_C(4088726976),       // VCLEzv8f16
     823             :     UINT64_C(4088725952),       // VCLEzv8i16
     824             :     UINT64_C(4088463744),       // VCLEzv8i8
     825             :     UINT64_C(4088398912),       // VCLSv16i8
     826             :     UINT64_C(4088923136),       // VCLSv2i32
     827             :     UINT64_C(4088660992),       // VCLSv4i16
     828             :     UINT64_C(4088923200),       // VCLSv4i32
     829             :     UINT64_C(4088661056),       // VCLSv8i16
     830             :     UINT64_C(4088398848),       // VCLSv8i8
     831             :     UINT64_C(4088463936),       // VCLTzv16i8
     832             :     UINT64_C(4088989184),       // VCLTzv2f32
     833             :     UINT64_C(4088988160),       // VCLTzv2i32
     834             :     UINT64_C(4088727040),       // VCLTzv4f16
     835             :     UINT64_C(4088989248),       // VCLTzv4f32
     836             :     UINT64_C(4088726016),       // VCLTzv4i16
     837             :     UINT64_C(4088988224),       // VCLTzv4i32
     838             :     UINT64_C(4088727104),       // VCLTzv8f16
     839             :     UINT64_C(4088726080),       // VCLTzv8i16
     840             :     UINT64_C(4088463872),       // VCLTzv8i8
     841             :     UINT64_C(4088399040),       // VCLZv16i8
     842             :     UINT64_C(4088923264),       // VCLZv2i32
     843             :     UINT64_C(4088661120),       // VCLZv4i16
     844             :     UINT64_C(4088923328),       // VCLZv4i32
     845             :     UINT64_C(4088661184),       // VCLZv8i16
     846             :     UINT64_C(4088398976),       // VCLZv8i8
     847             :     UINT64_C(246680384),        // VCMPD
     848             :     UINT64_C(246680512),        // VCMPED
     849             :     UINT64_C(246680000),        // VCMPEH
     850             :     UINT64_C(246680256),        // VCMPES
     851             :     UINT64_C(246746048),        // VCMPEZD
     852             :     UINT64_C(246745536),        // VCMPEZH
     853             :     UINT64_C(246745792),        // VCMPEZS
     854             :     UINT64_C(246679872),        // VCMPH
     855             :     UINT64_C(246680128),        // VCMPS
     856             :     UINT64_C(246745920),        // VCMPZD
     857             :     UINT64_C(246745408),        // VCMPZH
     858             :     UINT64_C(246745664),        // VCMPZS
     859             :     UINT64_C(4088399104),       // VCNTd
     860             :     UINT64_C(4088399168),       // VCNTq
     861             :     UINT64_C(4089118720),       // VCVTANSDf
     862             :     UINT64_C(4088856576),       // VCVTANSDh
     863             :     UINT64_C(4089118784),       // VCVTANSQf
     864             :     UINT64_C(4088856640),       // VCVTANSQh
     865             :     UINT64_C(4089118848),       // VCVTANUDf
     866             :     UINT64_C(4088856704),       // VCVTANUDh
     867             :     UINT64_C(4089118912),       // VCVTANUQf
     868             :     UINT64_C(4088856768),       // VCVTANUQh
     869             :     UINT64_C(4273736640),       // VCVTASD
     870             :     UINT64_C(4273736128),       // VCVTASH
     871             :     UINT64_C(4273736384),       // VCVTASS
     872             :     UINT64_C(4273736512),       // VCVTAUD
     873             :     UINT64_C(4273736000),       // VCVTAUH
     874             :     UINT64_C(4273736256),       // VCVTAUS
     875             :     UINT64_C(246614848),        // VCVTBDH
     876             :     UINT64_C(246549312),        // VCVTBHD
     877             :     UINT64_C(246549056),        // VCVTBHS
     878             :     UINT64_C(246614592),        // VCVTBSH
     879             :     UINT64_C(246876864),        // VCVTDS
     880             :     UINT64_C(4089119488),       // VCVTMNSDf
     881             :     UINT64_C(4088857344),       // VCVTMNSDh
     882             :     UINT64_C(4089119552),       // VCVTMNSQf
     883             :     UINT64_C(4088857408),       // VCVTMNSQh
     884             :     UINT64_C(4089119616),       // VCVTMNUDf
     885             :     UINT64_C(4088857472),       // VCVTMNUDh
     886             :     UINT64_C(4089119680),       // VCVTMNUQf
     887             :     UINT64_C(4088857536),       // VCVTMNUQh
     888             :     UINT64_C(4273933248),       // VCVTMSD
     889             :     UINT64_C(4273932736),       // VCVTMSH
     890             :     UINT64_C(4273932992),       // VCVTMSS
     891             :     UINT64_C(4273933120),       // VCVTMUD
     892             :     UINT64_C(4273932608),       // VCVTMUH
     893             :     UINT64_C(4273932864),       // VCVTMUS
     894             :     UINT64_C(4089118976),       // VCVTNNSDf
     895             :     UINT64_C(4088856832),       // VCVTNNSDh
     896             :     UINT64_C(4089119040),       // VCVTNNSQf
     897             :     UINT64_C(4088856896),       // VCVTNNSQh
     898             :     UINT64_C(4089119104),       // VCVTNNUDf
     899             :     UINT64_C(4088856960),       // VCVTNNUDh
     900             :     UINT64_C(4089119168),       // VCVTNNUQf
     901             :     UINT64_C(4088857024),       // VCVTNNUQh
     902             :     UINT64_C(4273802176),       // VCVTNSD
     903             :     UINT64_C(4273801664),       // VCVTNSH
     904             :     UINT64_C(4273801920),       // VCVTNSS
     905             :     UINT64_C(4273802048),       // VCVTNUD
     906             :     UINT64_C(4273801536),       // VCVTNUH
     907             :     UINT64_C(4273801792),       // VCVTNUS
     908             :     UINT64_C(4089119232),       // VCVTPNSDf
     909             :     UINT64_C(4088857088),       // VCVTPNSDh
     910             :     UINT64_C(4089119296),       // VCVTPNSQf
     911             :     UINT64_C(4088857152),       // VCVTPNSQh
     912             :     UINT64_C(4089119360),       // VCVTPNUDf
     913             :     UINT64_C(4088857216),       // VCVTPNUDh
     914             :     UINT64_C(4089119424),       // VCVTPNUQf
     915             :     UINT64_C(4088857280),       // VCVTPNUQh
     916             :     UINT64_C(4273867712),       // VCVTPSD
     917             :     UINT64_C(4273867200),       // VCVTPSH
     918             :     UINT64_C(4273867456),       // VCVTPSS
     919             :     UINT64_C(4273867584),       // VCVTPUD
     920             :     UINT64_C(4273867072),       // VCVTPUH
     921             :     UINT64_C(4273867328),       // VCVTPUS
     922             :     UINT64_C(246877120),        // VCVTSD
     923             :     UINT64_C(246614976),        // VCVTTDH
     924             :     UINT64_C(246549440),        // VCVTTHD
     925             :     UINT64_C(246549184),        // VCVTTHS
     926             :     UINT64_C(246614720),        // VCVTTSH
     927             :     UINT64_C(4088792576),       // VCVTf2h
     928             :     UINT64_C(4089120512),       // VCVTf2sd
     929             :     UINT64_C(4089120576),       // VCVTf2sq
     930             :     UINT64_C(4089120640),       // VCVTf2ud
     931             :     UINT64_C(4089120704),       // VCVTf2uq
     932             :     UINT64_C(4068478736),       // VCVTf2xsd
     933             :     UINT64_C(4068478800),       // VCVTf2xsq
     934             :     UINT64_C(4085255952),       // VCVTf2xud
     935             :     UINT64_C(4085256016),       // VCVTf2xuq
     936             :     UINT64_C(4088792832),       // VCVTh2f
     937             :     UINT64_C(4088858368),       // VCVTh2sd
     938             :     UINT64_C(4088858432),       // VCVTh2sq
     939             :     UINT64_C(4088858496),       // VCVTh2ud
     940             :     UINT64_C(4088858560),       // VCVTh2uq
     941             :     UINT64_C(4068478224),       // VCVTh2xsd
     942             :     UINT64_C(4068478288),       // VCVTh2xsq
     943             :     UINT64_C(4085255440),       // VCVTh2xud
     944             :     UINT64_C(4085255504),       // VCVTh2xuq
     945             :     UINT64_C(4089120256),       // VCVTs2fd
     946             :     UINT64_C(4089120320),       // VCVTs2fq
     947             :     UINT64_C(4088858112),       // VCVTs2hd
     948             :     UINT64_C(4088858176),       // VCVTs2hq
     949             :     UINT64_C(4089120384),       // VCVTu2fd
     950             :     UINT64_C(4089120448),       // VCVTu2fq
     951             :     UINT64_C(4088858240),       // VCVTu2hd
     952             :     UINT64_C(4088858304),       // VCVTu2hq
     953             :     UINT64_C(4068478480),       // VCVTxs2fd
     954             :     UINT64_C(4068478544),       // VCVTxs2fq
     955             :     UINT64_C(4068477968),       // VCVTxs2hd
     956             :     UINT64_C(4068478032),       // VCVTxs2hq
     957             :     UINT64_C(4085255696),       // VCVTxu2fd
     958             :     UINT64_C(4085255760),       // VCVTxu2fq
     959             :     UINT64_C(4085255184),       // VCVTxu2hd
     960             :     UINT64_C(4085255248),       // VCVTxu2hq
     961             :     UINT64_C(243272448),        // VDIVD
     962             :     UINT64_C(243271936),        // VDIVH
     963             :     UINT64_C(243272192),        // VDIVS
     964             :     UINT64_C(243272496),        // VDUP16d
     965             :     UINT64_C(245369648),        // VDUP16q
     966             :     UINT64_C(243272464),        // VDUP32d
     967             :     UINT64_C(245369616),        // VDUP32q
     968             :     UINT64_C(247466768),        // VDUP8d
     969             :     UINT64_C(249563920),        // VDUP8q
     970             :     UINT64_C(4088531968),       // VDUPLN16d
     971             :     UINT64_C(4088532032),       // VDUPLN16q
     972             :     UINT64_C(4088663040),       // VDUPLN32d
     973             :     UINT64_C(4088663104),       // VDUPLN32q
     974             :     UINT64_C(4088466432),       // VDUPLN8d
     975             :     UINT64_C(4088466496),       // VDUPLN8q
     976             :     UINT64_C(4076863760),       // VEORd
     977             :     UINT64_C(4076863824),       // VEORq
     978             :     UINT64_C(4071620608),       // VEXTd16
     979             :     UINT64_C(4071620608),       // VEXTd32
     980             :     UINT64_C(4071620608),       // VEXTd8
     981             :     UINT64_C(4071620672),       // VEXTq16
     982             :     UINT64_C(4071620672),       // VEXTq32
     983             :     UINT64_C(4071620672),       // VEXTq64
     984             :     UINT64_C(4071620672),       // VEXTq8
     985             :     UINT64_C(245369600),        // VFMAD
     986             :     UINT64_C(245369088),        // VFMAH
     987             :     UINT64_C(245369344),        // VFMAS
     988             :     UINT64_C(4060089360),       // VFMAfd
     989             :     UINT64_C(4060089424),       // VFMAfq
     990             :     UINT64_C(4061137936),       // VFMAhd
     991             :     UINT64_C(4061138000),       // VFMAhq
     992             :     UINT64_C(245369664),        // VFMSD
     993             :     UINT64_C(245369152),        // VFMSH
     994             :     UINT64_C(245369408),        // VFMSS
     995             :     UINT64_C(4062186512),       // VFMSfd
     996             :     UINT64_C(4062186576),       // VFMSfq
     997             :     UINT64_C(4063235088),       // VFMShd
     998             :     UINT64_C(4063235152),       // VFMShq
     999             :     UINT64_C(244321088),        // VFNMAD
    1000             :     UINT64_C(244320576),        // VFNMAH
    1001             :     UINT64_C(244320832),        // VFNMAS
    1002             :     UINT64_C(244321024),        // VFNMSD
    1003             :     UINT64_C(244320512),        // VFNMSH
    1004             :     UINT64_C(244320768),        // VFNMSS
    1005             :     UINT64_C(235932432),        // VGETLNi32
    1006             :     UINT64_C(235932464),        // VGETLNs16
    1007             :     UINT64_C(240126736),        // VGETLNs8
    1008             :     UINT64_C(244321072),        // VGETLNu16
    1009             :     UINT64_C(248515344),        // VGETLNu8
    1010             :     UINT64_C(4060086336),       // VHADDsv16i8
    1011             :     UINT64_C(4062183424),       // VHADDsv2i32
    1012             :     UINT64_C(4061134848),       // VHADDsv4i16
    1013             :     UINT64_C(4062183488),       // VHADDsv4i32
    1014             :     UINT64_C(4061134912),       // VHADDsv8i16
    1015             :     UINT64_C(4060086272),       // VHADDsv8i8
    1016             :     UINT64_C(4076863552),       // VHADDuv16i8
    1017             :     UINT64_C(4078960640),       // VHADDuv2i32
    1018             :     UINT64_C(4077912064),       // VHADDuv4i16
    1019             :     UINT64_C(4078960704),       // VHADDuv4i32
    1020             :     UINT64_C(4077912128),       // VHADDuv8i16
    1021             :     UINT64_C(4076863488),       // VHADDuv8i8
    1022             :     UINT64_C(4060086848),       // VHSUBsv16i8
    1023             :     UINT64_C(4062183936),       // VHSUBsv2i32
    1024             :     UINT64_C(4061135360),       // VHSUBsv4i16
    1025             :     UINT64_C(4062184000),       // VHSUBsv4i32
    1026             :     UINT64_C(4061135424),       // VHSUBsv8i16
    1027             :     UINT64_C(4060086784),       // VHSUBsv8i8
    1028             :     UINT64_C(4076864064),       // VHSUBuv16i8
    1029             :     UINT64_C(4078961152),       // VHSUBuv2i32
    1030             :     UINT64_C(4077912576),       // VHSUBuv4i16
    1031             :     UINT64_C(4078961216),       // VHSUBuv4i32
    1032             :     UINT64_C(4077912640),       // VHSUBuv8i16
    1033             :     UINT64_C(4076864000),       // VHSUBuv8i8
    1034             :     UINT64_C(4272949952),       // VINSH
    1035             :     UINT64_C(247008192),        // VJCVT
    1036             :     UINT64_C(4104129615),       // VLD1DUPd16
    1037             :     UINT64_C(4104129613),       // VLD1DUPd16wb_fixed
    1038             :     UINT64_C(4104129600),       // VLD1DUPd16wb_register
    1039             :     UINT64_C(4104129679),       // VLD1DUPd32
    1040             :     UINT64_C(4104129677),       // VLD1DUPd32wb_fixed
    1041             :     UINT64_C(4104129664),       // VLD1DUPd32wb_register
    1042             :     UINT64_C(4104129551),       // VLD1DUPd8
    1043             :     UINT64_C(4104129549),       // VLD1DUPd8wb_fixed
    1044             :     UINT64_C(4104129536),       // VLD1DUPd8wb_register
    1045             :     UINT64_C(4104129647),       // VLD1DUPq16
    1046             :     UINT64_C(4104129645),       // VLD1DUPq16wb_fixed
    1047             :     UINT64_C(4104129632),       // VLD1DUPq16wb_register
    1048             :     UINT64_C(4104129711),       // VLD1DUPq32
    1049             :     UINT64_C(4104129709),       // VLD1DUPq32wb_fixed
    1050             :     UINT64_C(4104129696),       // VLD1DUPq32wb_register
    1051             :     UINT64_C(4104129583),       // VLD1DUPq8
    1052             :     UINT64_C(4104129581),       // VLD1DUPq8wb_fixed
    1053             :     UINT64_C(4104129568),       // VLD1DUPq8wb_register
    1054             :     UINT64_C(4104127503),       // VLD1LNd16
    1055             :     UINT64_C(4104127488),       // VLD1LNd16_UPD
    1056             :     UINT64_C(4104128527),       // VLD1LNd32
    1057             :     UINT64_C(4104128512),       // VLD1LNd32_UPD
    1058             :     UINT64_C(4104126479),       // VLD1LNd8
    1059             :     UINT64_C(4104126464),       // VLD1LNd8_UPD
    1060             :     UINT64_C(0),
    1061             :     UINT64_C(0),
    1062             :     UINT64_C(0),
    1063             :     UINT64_C(0),
    1064             :     UINT64_C(0),
    1065             :     UINT64_C(0),
    1066             :     UINT64_C(0),
    1067             :     UINT64_C(0),
    1068             :     UINT64_C(0),
    1069             :     UINT64_C(0),        // VLD1LNq16Pseudo
    1070             :     UINT64_C(0),        // VLD1LNq16Pseudo_UPD
    1071             :     UINT64_C(0),        // VLD1LNq32Pseudo
    1072             :     UINT64_C(0),        // VLD1LNq32Pseudo_UPD
    1073             :     UINT64_C(0),        // VLD1LNq8Pseudo
    1074             :     UINT64_C(0),        // VLD1LNq8Pseudo_UPD
    1075             :     UINT64_C(4095739727),       // VLD1d16
    1076             :     UINT64_C(4095738447),       // VLD1d16Q
    1077             :     UINT64_C(4095738445),       // VLD1d16Qwb_fixed
    1078             :     UINT64_C(4095738432),       // VLD1d16Qwb_register
    1079             :     UINT64_C(4095739471),       // VLD1d16T
    1080             :     UINT64_C(4095739469),       // VLD1d16Twb_fixed
    1081             :     UINT64_C(4095739456),       // VLD1d16Twb_register
    1082             :     UINT64_C(4095739725),       // VLD1d16wb_fixed
    1083             :     UINT64_C(4095739712),       // VLD1d16wb_register
    1084             :     UINT64_C(4095739791),       // VLD1d32
    1085             :     UINT64_C(4095738511),       // VLD1d32Q
    1086             :     UINT64_C(4095738509),       // VLD1d32Qwb_fixed
    1087             :     UINT64_C(4095738496),       // VLD1d32Qwb_register
    1088             :     UINT64_C(4095739535),       // VLD1d32T
    1089             :     UINT64_C(4095739533),       // VLD1d32Twb_fixed
    1090             :     UINT64_C(4095739520),       // VLD1d32Twb_register
    1091             :     UINT64_C(4095739789),       // VLD1d32wb_fixed
    1092             :     UINT64_C(4095739776),       // VLD1d32wb_register
    1093             :     UINT64_C(4095739855),       // VLD1d64
    1094             :     UINT64_C(4095738575),       // VLD1d64Q
    1095             :     UINT64_C(0),        // VLD1d64QPseudo
    1096             :     UINT64_C(0),        // VLD1d64QPseudoWB_fixed
    1097             :     UINT64_C(0),        // VLD1d64QPseudoWB_register
    1098             :     UINT64_C(4095738573),       // VLD1d64Qwb_fixed
    1099             :     UINT64_C(4095738560),       // VLD1d64Qwb_register
    1100             :     UINT64_C(4095739599),       // VLD1d64T
    1101             :     UINT64_C(0),        // VLD1d64TPseudo
    1102             :     UINT64_C(0),        // VLD1d64TPseudoWB_fixed
    1103             :     UINT64_C(0),        // VLD1d64TPseudoWB_register
    1104             :     UINT64_C(4095739597),       // VLD1d64Twb_fixed
    1105             :     UINT64_C(4095739584),       // VLD1d64Twb_register
    1106             :     UINT64_C(4095739853),       // VLD1d64wb_fixed
    1107             :     UINT64_C(4095739840),       // VLD1d64wb_register
    1108             :     UINT64_C(4095739663),       // VLD1d8
    1109             :     UINT64_C(4095738383),       // VLD1d8Q
    1110             :     UINT64_C(4095738381),       // VLD1d8Qwb_fixed
    1111             :     UINT64_C(4095738368),       // VLD1d8Qwb_register
    1112             :     UINT64_C(4095739407),       // VLD1d8T
    1113             :     UINT64_C(4095739405),       // VLD1d8Twb_fixed
    1114             :     UINT64_C(4095739392),       // VLD1d8Twb_register
    1115             :     UINT64_C(4095739661),       // VLD1d8wb_fixed
    1116             :     UINT64_C(4095739648),       // VLD1d8wb_register
    1117             :     UINT64_C(4095740495),       // VLD1q16
    1118             :     UINT64_C(4095740493),       // VLD1q16wb_fixed
    1119             :     UINT64_C(4095740480),       // VLD1q16wb_register
    1120             :     UINT64_C(4095740559),       // VLD1q32
    1121             :     UINT64_C(4095740557),       // VLD1q32wb_fixed
    1122             :     UINT64_C(4095740544),       // VLD1q32wb_register
    1123             :     UINT64_C(4095740623),       // VLD1q64
    1124             :     UINT64_C(4095740621),       // VLD1q64wb_fixed
    1125             :     UINT64_C(4095740608),       // VLD1q64wb_register
    1126             :     UINT64_C(4095740431),       // VLD1q8
    1127             :     UINT64_C(4095740429),       // VLD1q8wb_fixed
    1128             :     UINT64_C(4095740416),       // VLD1q8wb_register
    1129             :     UINT64_C(4104129871),       // VLD2DUPd16
    1130             :     UINT64_C(4104129869),       // VLD2DUPd16wb_fixed
    1131             :     UINT64_C(4104129856),       // VLD2DUPd16wb_register
    1132             :     UINT64_C(4104129903),       // VLD2DUPd16x2
    1133             :     UINT64_C(4104129901),       // VLD2DUPd16x2wb_fixed
    1134             :     UINT64_C(4104129888),       // VLD2DUPd16x2wb_register
    1135             :     UINT64_C(4104129935),       // VLD2DUPd32
    1136             :     UINT64_C(4104129933),       // VLD2DUPd32wb_fixed
    1137             :     UINT64_C(4104129920),       // VLD2DUPd32wb_register
    1138             :     UINT64_C(4104129967),       // VLD2DUPd32x2
    1139             :     UINT64_C(4104129965),       // VLD2DUPd32x2wb_fixed
    1140             :     UINT64_C(4104129952),       // VLD2DUPd32x2wb_register
    1141             :     UINT64_C(4104129807),       // VLD2DUPd8
    1142             :     UINT64_C(4104129805),       // VLD2DUPd8wb_fixed
    1143             :     UINT64_C(4104129792),       // VLD2DUPd8wb_register
    1144             :     UINT64_C(4104129839),       // VLD2DUPd8x2
    1145             :     UINT64_C(4104129837),       // VLD2DUPd8x2wb_fixed
    1146             :     UINT64_C(4104129824),       // VLD2DUPd8x2wb_register
    1147             :     UINT64_C(4104127759),       // VLD2LNd16
    1148             :     UINT64_C(0),        // VLD2LNd16Pseudo
    1149             :     UINT64_C(0),        // VLD2LNd16Pseudo_UPD
    1150             :     UINT64_C(4104127744),       // VLD2LNd16_UPD
    1151             :     UINT64_C(4104128783),       // VLD2LNd32
    1152             :     UINT64_C(0),        // VLD2LNd32Pseudo
    1153             :     UINT64_C(0),        // VLD2LNd32Pseudo_UPD
    1154             :     UINT64_C(4104128768),       // VLD2LNd32_UPD
    1155             :     UINT64_C(4104126735),       // VLD2LNd8
    1156             :     UINT64_C(0),        // VLD2LNd8Pseudo
    1157             :     UINT64_C(0),        // VLD2LNd8Pseudo_UPD
    1158             :     UINT64_C(4104126720),       // VLD2LNd8_UPD
    1159             :     UINT64_C(0),
    1160             :     UINT64_C(0),
    1161             :     UINT64_C(0),
    1162             :     UINT64_C(0),
    1163             :     UINT64_C(0),
    1164             :     UINT64_C(0),
    1165             :     UINT64_C(0),
    1166             :     UINT64_C(0),
    1167             :     UINT64_C(0),
    1168             :     UINT64_C(4104127791),       // VLD2LNq16
    1169             :     UINT64_C(0),        // VLD2LNq16Pseudo
    1170             :     UINT64_C(0),        // VLD2LNq16Pseudo_UPD
    1171             :     UINT64_C(4104127776),       // VLD2LNq16_UPD
    1172             :     UINT64_C(4104128847),       // VLD2LNq32
    1173             :     UINT64_C(0),        // VLD2LNq32Pseudo
    1174             :     UINT64_C(0),        // VLD2LNq32Pseudo_UPD
    1175             :     UINT64_C(4104128832),       // VLD2LNq32_UPD
    1176             :     UINT64_C(0),
    1177             :     UINT64_C(0),
    1178             :     UINT64_C(0),
    1179             :     UINT64_C(0),
    1180             :     UINT64_C(0),
    1181             :     UINT64_C(0),
    1182             :     UINT64_C(4095740239),       // VLD2b16
    1183             :     UINT64_C(4095740237),       // VLD2b16wb_fixed
    1184             :     UINT64_C(4095740224),       // VLD2b16wb_register
    1185             :     UINT64_C(4095740303),       // VLD2b32
    1186             :     UINT64_C(4095740301),       // VLD2b32wb_fixed
    1187             :     UINT64_C(4095740288),       // VLD2b32wb_register
    1188             :     UINT64_C(4095740175),       // VLD2b8
    1189             :     UINT64_C(4095740173),       // VLD2b8wb_fixed
    1190             :     UINT64_C(4095740160),       // VLD2b8wb_register
    1191             :     UINT64_C(4095739983),       // VLD2d16
    1192             :     UINT64_C(4095739981),       // VLD2d16wb_fixed
    1193             :     UINT64_C(4095739968),       // VLD2d16wb_register
    1194             :     UINT64_C(4095740047),       // VLD2d32
    1195             :     UINT64_C(4095740045),       // VLD2d32wb_fixed
    1196             :     UINT64_C(4095740032),       // VLD2d32wb_register
    1197             :     UINT64_C(4095739919),       // VLD2d8
    1198             :     UINT64_C(4095739917),       // VLD2d8wb_fixed
    1199             :     UINT64_C(4095739904),       // VLD2d8wb_register
    1200             :     UINT64_C(4095738703),       // VLD2q16
    1201             :     UINT64_C(0),        // VLD2q16Pseudo
    1202             :     UINT64_C(0),        // VLD2q16PseudoWB_fixed
    1203             :     UINT64_C(0),        // VLD2q16PseudoWB_register
    1204             :     UINT64_C(4095738701),       // VLD2q16wb_fixed
    1205             :     UINT64_C(4095738688),       // VLD2q16wb_register
    1206             :     UINT64_C(4095738767),       // VLD2q32
    1207             :     UINT64_C(0),        // VLD2q32Pseudo
    1208             :     UINT64_C(0),        // VLD2q32PseudoWB_fixed
    1209             :     UINT64_C(0),        // VLD2q32PseudoWB_register
    1210             :     UINT64_C(4095738765),       // VLD2q32wb_fixed
    1211             :     UINT64_C(4095738752),       // VLD2q32wb_register
    1212             :     UINT64_C(4095738639),       // VLD2q8
    1213             :     UINT64_C(0),        // VLD2q8Pseudo
    1214             :     UINT64_C(0),        // VLD2q8PseudoWB_fixed
    1215             :     UINT64_C(0),        // VLD2q8PseudoWB_register
    1216             :     UINT64_C(4095738637),       // VLD2q8wb_fixed
    1217             :     UINT64_C(4095738624),       // VLD2q8wb_register
    1218             :     UINT64_C(4104130127),       // VLD3DUPd16
    1219             :     UINT64_C(0),        // VLD3DUPd16Pseudo
    1220             :     UINT64_C(0),        // VLD3DUPd16Pseudo_UPD
    1221             :     UINT64_C(4104130112),       // VLD3DUPd16_UPD
    1222             :     UINT64_C(4104130191),       // VLD3DUPd32
    1223             :     UINT64_C(0),        // VLD3DUPd32Pseudo
    1224             :     UINT64_C(0),        // VLD3DUPd32Pseudo_UPD
    1225             :     UINT64_C(4104130176),       // VLD3DUPd32_UPD
    1226             :     UINT64_C(4104130063),       // VLD3DUPd8
    1227             :     UINT64_C(0),        // VLD3DUPd8Pseudo
    1228             :     UINT64_C(0),        // VLD3DUPd8Pseudo_UPD
    1229             :     UINT64_C(4104130048),       // VLD3DUPd8_UPD
    1230             :     UINT64_C(0),
    1231             :     UINT64_C(0),
    1232             :     UINT64_C(0),
    1233             :     UINT64_C(0),
    1234             :     UINT64_C(0),
    1235             :     UINT64_C(0),
    1236             :     UINT64_C(0),
    1237             :     UINT64_C(0),
    1238             :     UINT64_C(0),
    1239             :     UINT64_C(4104130159),       // VLD3DUPq16
    1240             :     UINT64_C(4104130144),       // VLD3DUPq16_UPD
    1241             :     UINT64_C(4104130223),       // VLD3DUPq32
    1242             :     UINT64_C(4104130208),       // VLD3DUPq32_UPD
    1243             :     UINT64_C(4104130095),       // VLD3DUPq8
    1244             :     UINT64_C(4104130080),       // VLD3DUPq8_UPD
    1245             :     UINT64_C(0),
    1246             :     UINT64_C(0),
    1247             :     UINT64_C(0),
    1248             :     UINT64_C(0),
    1249             :     UINT64_C(0),
    1250             :     UINT64_C(0),
    1251             :     UINT64_C(0),
    1252             :     UINT64_C(0),
    1253             :     UINT64_C(0),
    1254             :     UINT64_C(4104128015),       // VLD3LNd16
    1255             :     UINT64_C(0),        // VLD3LNd16Pseudo
    1256             :     UINT64_C(0),        // VLD3LNd16Pseudo_UPD
    1257             :     UINT64_C(4104128000),       // VLD3LNd16_UPD
    1258             :     UINT64_C(4104129039),       // VLD3LNd32
    1259             :     UINT64_C(0),        // VLD3LNd32Pseudo
    1260             :     UINT64_C(0),        // VLD3LNd32Pseudo_UPD
    1261             :     UINT64_C(4104129024),       // VLD3LNd32_UPD
    1262             :     UINT64_C(4104126991),       // VLD3LNd8
    1263             :     UINT64_C(0),        // VLD3LNd8Pseudo
    1264             :     UINT64_C(0),        // VLD3LNd8Pseudo_UPD
    1265             :     UINT64_C(4104126976),       // VLD3LNd8_UPD
    1266             :     UINT64_C(0),
    1267             :     UINT64_C(0),
    1268             :     UINT64_C(0),
    1269             :     UINT64_C(0),
    1270             :     UINT64_C(0),
    1271             :     UINT64_C(0),
    1272             :     UINT64_C(0),
    1273             :     UINT64_C(0),
    1274             :     UINT64_C(0),
    1275             :     UINT64_C(4104128047),       // VLD3LNq16
    1276             :     UINT64_C(0),        // VLD3LNq16Pseudo
    1277             :     UINT64_C(0),        // VLD3LNq16Pseudo_UPD
    1278             :     UINT64_C(4104128032),       // VLD3LNq16_UPD
    1279             :     UINT64_C(4104129103),       // VLD3LNq32
    1280             :     UINT64_C(0),        // VLD3LNq32Pseudo
    1281             :     UINT64_C(0),        // VLD3LNq32Pseudo_UPD
    1282             :     UINT64_C(4104129088),       // VLD3LNq32_UPD
    1283             :     UINT64_C(0),
    1284             :     UINT64_C(0),
    1285             :     UINT64_C(0),
    1286             :     UINT64_C(0),
    1287             :     UINT64_C(0),
    1288             :     UINT64_C(0),
    1289             :     UINT64_C(4095738959),       // VLD3d16
    1290             :     UINT64_C(0),        // VLD3d16Pseudo
    1291             :     UINT64_C(0),        // VLD3d16Pseudo_UPD
    1292             :     UINT64_C(4095738944),       // VLD3d16_UPD
    1293             :     UINT64_C(4095739023),       // VLD3d32
    1294             :     UINT64_C(0),        // VLD3d32Pseudo
    1295             :     UINT64_C(0),        // VLD3d32Pseudo_UPD
    1296             :     UINT64_C(4095739008),       // VLD3d32_UPD
    1297             :     UINT64_C(4095738895),       // VLD3d8
    1298             :     UINT64_C(0),        // VLD3d8Pseudo
    1299             :     UINT64_C(0),        // VLD3d8Pseudo_UPD
    1300             :     UINT64_C(4095738880),       // VLD3d8_UPD
    1301             :     UINT64_C(0),
    1302             :     UINT64_C(0),
    1303             :     UINT64_C(0),
    1304             :     UINT64_C(0),
    1305             :     UINT64_C(0),
    1306             :     UINT64_C(0),
    1307             :     UINT64_C(0),
    1308             :     UINT64_C(0),
    1309             :     UINT64_C(0),
    1310             :     UINT64_C(4095739215),       // VLD3q16
    1311             :     UINT64_C(0),        // VLD3q16Pseudo_UPD
    1312             :     UINT64_C(4095739200),       // VLD3q16_UPD
    1313             :     UINT64_C(0),        // VLD3q16oddPseudo
    1314             :     UINT64_C(0),        // VLD3q16oddPseudo_UPD
    1315             :     UINT64_C(4095739279),       // VLD3q32
    1316             :     UINT64_C(0),        // VLD3q32Pseudo_UPD
    1317             :     UINT64_C(4095739264),       // VLD3q32_UPD
    1318             :     UINT64_C(0),        // VLD3q32oddPseudo
    1319             :     UINT64_C(0),        // VLD3q32oddPseudo_UPD
    1320             :     UINT64_C(4095739151),       // VLD3q8
    1321             :     UINT64_C(0),        // VLD3q8Pseudo_UPD
    1322             :     UINT64_C(4095739136),       // VLD3q8_UPD
    1323             :     UINT64_C(0),        // VLD3q8oddPseudo
    1324             :     UINT64_C(0),        // VLD3q8oddPseudo_UPD
    1325             :     UINT64_C(0),
    1326             :     UINT64_C(0),
    1327             :     UINT64_C(0),
    1328             :     UINT64_C(0),
    1329             :     UINT64_C(0),
    1330             :     UINT64_C(0),
    1331             :     UINT64_C(0),
    1332             :     UINT64_C(0),
    1333             :     UINT64_C(0),
    1334             :     UINT64_C(4104130383),       // VLD4DUPd16
    1335             :     UINT64_C(0),        // VLD4DUPd16Pseudo
    1336             :     UINT64_C(0),        // VLD4DUPd16Pseudo_UPD
    1337             :     UINT64_C(4104130368),       // VLD4DUPd16_UPD
    1338             :     UINT64_C(4104130447),       // VLD4DUPd32
    1339             :     UINT64_C(0),        // VLD4DUPd32Pseudo
    1340             :     UINT64_C(0),        // VLD4DUPd32Pseudo_UPD
    1341             :     UINT64_C(4104130432),       // VLD4DUPd32_UPD
    1342             :     UINT64_C(4104130319),       // VLD4DUPd8
    1343             :     UINT64_C(0),        // VLD4DUPd8Pseudo
    1344             :     UINT64_C(0),        // VLD4DUPd8Pseudo_UPD
    1345             :     UINT64_C(4104130304),       // VLD4DUPd8_UPD
    1346             :     UINT64_C(0),
    1347             :     UINT64_C(0),
    1348             :     UINT64_C(0),
    1349             :     UINT64_C(0),
    1350             :     UINT64_C(0),
    1351             :     UINT64_C(0),
    1352             :     UINT64_C(0),
    1353             :     UINT64_C(0),
    1354             :     UINT64_C(0),
    1355             :     UINT64_C(4104130415),       // VLD4DUPq16
    1356             :     UINT64_C(4104130400),       // VLD4DUPq16_UPD
    1357             :     UINT64_C(4104130479),       // VLD4DUPq32
    1358             :     UINT64_C(4104130464),       // VLD4DUPq32_UPD
    1359             :     UINT64_C(4104130351),       // VLD4DUPq8
    1360             :     UINT64_C(4104130336),       // VLD4DUPq8_UPD
    1361             :     UINT64_C(0),
    1362             :     UINT64_C(0),
    1363             :     UINT64_C(0),
    1364             :     UINT64_C(0),
    1365             :     UINT64_C(0),
    1366             :     UINT64_C(0),
    1367             :     UINT64_C(0),
    1368             :     UINT64_C(0),
    1369             :     UINT64_C(0),
    1370             :     UINT64_C(4104128271),       // VLD4LNd16
    1371             :     UINT64_C(0),        // VLD4LNd16Pseudo
    1372             :     UINT64_C(0),        // VLD4LNd16Pseudo_UPD
    1373             :     UINT64_C(4104128256),       // VLD4LNd16_UPD
    1374             :     UINT64_C(4104129295),       // VLD4LNd32
    1375             :     UINT64_C(0),        // VLD4LNd32Pseudo
    1376             :     UINT64_C(0),        // VLD4LNd32Pseudo_UPD
    1377             :     UINT64_C(4104129280),       // VLD4LNd32_UPD
    1378             :     UINT64_C(4104127247),       // VLD4LNd8
    1379             :     UINT64_C(0),        // VLD4LNd8Pseudo
    1380             :     UINT64_C(0),        // VLD4LNd8Pseudo_UPD
    1381             :     UINT64_C(4104127232),       // VLD4LNd8_UPD
    1382             :     UINT64_C(0),
    1383             :     UINT64_C(0),
    1384             :     UINT64_C(0),
    1385             :     UINT64_C(0),
    1386             :     UINT64_C(0),
    1387             :     UINT64_C(0),
    1388             :     UINT64_C(0),
    1389             :     UINT64_C(0),
    1390             :     UINT64_C(0),
    1391             :     UINT64_C(4104128303),       // VLD4LNq16
    1392             :     UINT64_C(0),        // VLD4LNq16Pseudo
    1393             :     UINT64_C(0),        // VLD4LNq16Pseudo_UPD
    1394             :     UINT64_C(4104128288),       // VLD4LNq16_UPD
    1395             :     UINT64_C(4104129359),       // VLD4LNq32
    1396             :     UINT64_C(0),        // VLD4LNq32Pseudo
    1397             :     UINT64_C(0),        // VLD4LNq32Pseudo_UPD
    1398             :     UINT64_C(4104129344),       // VLD4LNq32_UPD
    1399             :     UINT64_C(0),
    1400             :     UINT64_C(0),
    1401             :     UINT64_C(0),
    1402             :     UINT64_C(0),
    1403             :     UINT64_C(0),
    1404             :     UINT64_C(0),
    1405             :     UINT64_C(4095737935),       // VLD4d16
    1406             :     UINT64_C(0),        // VLD4d16Pseudo
    1407             :     UINT64_C(0),        // VLD4d16Pseudo_UPD
    1408             :     UINT64_C(4095737920),       // VLD4d16_UPD
    1409             :     UINT64_C(4095737999),       // VLD4d32
    1410             :     UINT64_C(0),        // VLD4d32Pseudo
    1411             :     UINT64_C(0),        // VLD4d32Pseudo_UPD
    1412             :     UINT64_C(4095737984),       // VLD4d32_UPD
    1413             :     UINT64_C(4095737871),       // VLD4d8
    1414             :     UINT64_C(0),        // VLD4d8Pseudo
    1415             :     UINT64_C(0),        // VLD4d8Pseudo_UPD
    1416             :     UINT64_C(4095737856),       // VLD4d8_UPD
    1417             :     UINT64_C(0),
    1418             :     UINT64_C(0),
    1419             :     UINT64_C(0),
    1420             :     UINT64_C(0),
    1421             :     UINT64_C(0),
    1422             :     UINT64_C(0),
    1423             :     UINT64_C(0),
    1424             :     UINT64_C(0),
    1425             :     UINT64_C(0),
    1426             :     UINT64_C(4095738191),       // VLD4q16
    1427             :     UINT64_C(0),        // VLD4q16Pseudo_UPD
    1428             :     UINT64_C(4095738176),       // VLD4q16_UPD
    1429             :     UINT64_C(0),        // VLD4q16oddPseudo
    1430             :     UINT64_C(0),        // VLD4q16oddPseudo_UPD
    1431             :     UINT64_C(4095738255),       // VLD4q32
    1432             :     UINT64_C(0),        // VLD4q32Pseudo_UPD
    1433             :     UINT64_C(4095738240),       // VLD4q32_UPD
    1434             :     UINT64_C(0),        // VLD4q32oddPseudo
    1435             :     UINT64_C(0),        // VLD4q32oddPseudo_UPD
    1436             :     UINT64_C(4095738127),       // VLD4q8
    1437             :     UINT64_C(0),        // VLD4q8Pseudo_UPD
    1438             :     UINT64_C(4095738112),       // VLD4q8_UPD
    1439             :     UINT64_C(0),        // VLD4q8oddPseudo
    1440             :     UINT64_C(0),        // VLD4q8oddPseudo_UPD
    1441             :     UINT64_C(0),
    1442             :     UINT64_C(0),
    1443             :     UINT64_C(0),
    1444             :     UINT64_C(0),
    1445             :     UINT64_C(0),
    1446             :     UINT64_C(0),
    1447             :     UINT64_C(0),
    1448             :     UINT64_C(0),
    1449             :     UINT64_C(0),
    1450             :     UINT64_C(221252352),        // VLDMDDB_UPD
    1451             :     UINT64_C(210766592),        // VLDMDIA
    1452             :     UINT64_C(212863744),        // VLDMDIA_UPD
    1453             :     UINT64_C(0),        // VLDMQIA
    1454             :     UINT64_C(221252096),        // VLDMSDB_UPD
    1455             :     UINT64_C(210766336),        // VLDMSIA
    1456             :     UINT64_C(212863488),        // VLDMSIA_UPD
    1457             :     UINT64_C(219155200),        // VLDRD
    1458             :     UINT64_C(219154688),        // VLDRH
    1459             :     UINT64_C(219154944),        // VLDRS
    1460             :     UINT64_C(204474880),        // VLLDM
    1461             :     UINT64_C(203426304),        // VLSTM
    1462             :     UINT64_C(4269804288),       // VMAXNMD
    1463             :     UINT64_C(4269803776),       // VMAXNMH
    1464             :     UINT64_C(4076867344),       // VMAXNMNDf
    1465             :     UINT64_C(4077915920),       // VMAXNMNDh
    1466             :     UINT64_C(4076867408),       // VMAXNMNQf
    1467             :     UINT64_C(4077915984),       // VMAXNMNQh
    1468             :     UINT64_C(4269804032),       // VMAXNMS
    1469             :     UINT64_C(4060090112),       // VMAXfd
    1470             :     UINT64_C(4060090176),       // VMAXfq
    1471             :     UINT64_C(4061138688),       // VMAXhd
    1472             :     UINT64_C(4061138752),       // VMAXhq
    1473             :     UINT64_C(4060087872),       // VMAXsv16i8
    1474             :     UINT64_C(4062184960),       // VMAXsv2i32
    1475             :     UINT64_C(4061136384),       // VMAXsv4i16
    1476             :     UINT64_C(4062185024),       // VMAXsv4i32
    1477             :     UINT64_C(4061136448),       // VMAXsv8i16
    1478             :     UINT64_C(4060087808),       // VMAXsv8i8
    1479             :     UINT64_C(4076865088),       // VMAXuv16i8
    1480             :     UINT64_C(4078962176),       // VMAXuv2i32
    1481             :     UINT64_C(4077913600),       // VMAXuv4i16
    1482             :     UINT64_C(4078962240),       // VMAXuv4i32
    1483             :     UINT64_C(4077913664),       // VMAXuv8i16
    1484             :     UINT64_C(4076865024),       // VMAXuv8i8
    1485             :     UINT64_C(4269804352),       // VMINNMD
    1486             :     UINT64_C(4269803840),       // VMINNMH
    1487             :     UINT64_C(4078964496),       // VMINNMNDf
    1488             :     UINT64_C(4080013072),       // VMINNMNDh
    1489             :     UINT64_C(4078964560),       // VMINNMNQf
    1490             :     UINT64_C(4080013136),       // VMINNMNQh
    1491             :     UINT64_C(4269804096),       // VMINNMS
    1492             :     UINT64_C(4062187264),       // VMINfd
    1493             :     UINT64_C(4062187328),       // VMINfq
    1494             :     UINT64_C(4063235840),       // VMINhd
    1495             :     UINT64_C(4063235904),       // VMINhq
    1496             :     UINT64_C(4060087888),       // VMINsv16i8
    1497             :     UINT64_C(4062184976),       // VMINsv2i32
    1498             :     UINT64_C(4061136400),       // VMINsv4i16
    1499             :     UINT64_C(4062185040),       // VMINsv4i32
    1500             :     UINT64_C(4061136464),       // VMINsv8i16
    1501             :     UINT64_C(4060087824),       // VMINsv8i8
    1502             :     UINT64_C(4076865104),       // VMINuv16i8
    1503             :     UINT64_C(4078962192),       // VMINuv2i32
    1504             :     UINT64_C(4077913616),       // VMINuv4i16
    1505             :     UINT64_C(4078962256),       // VMINuv4i32
    1506             :     UINT64_C(4077913680),       // VMINuv8i16
    1507             :     UINT64_C(4076865040),       // VMINuv8i8
    1508             :     UINT64_C(234883840),        // VMLAD
    1509             :     UINT64_C(234883328),        // VMLAH
    1510             :     UINT64_C(4070572608),       // VMLALslsv2i32
    1511             :     UINT64_C(4069524032),       // VMLALslsv4i16
    1512             :     UINT64_C(4087349824),       // VMLALsluv2i32
    1513             :     UINT64_C(4086301248),       // VMLALsluv4i16
    1514             :     UINT64_C(4070574080),       // VMLALsv2i64
    1515             :     UINT64_C(4069525504),       // VMLALsv4i32
    1516             :     UINT64_C(4068476928),       // VMLALsv8i16
    1517             :     UINT64_C(4087351296),       // VMLALuv2i64
    1518             :     UINT64_C(4086302720),       // VMLALuv4i32
    1519             :     UINT64_C(4085254144),       // VMLALuv8i16
    1520             :     UINT64_C(234883584),        // VMLAS
    1521             :     UINT64_C(4060089616),       // VMLAfd
    1522             :     UINT64_C(4060089680),       // VMLAfq
    1523             :     UINT64_C(4061138192),       // VMLAhd
    1524             :     UINT64_C(4061138256),       // VMLAhq
    1525             :     UINT64_C(4070572352),       // VMLAslfd
    1526             :     UINT64_C(4087349568),       // VMLAslfq
    1527             :     UINT64_C(4069523776),       // VMLAslhd
    1528             :     UINT64_C(4086300992),       // VMLAslhq
    1529             :     UINT64_C(4070572096),       // VMLAslv2i32
    1530             :     UINT64_C(4069523520),       // VMLAslv4i16
    1531             :     UINT64_C(4087349312),       // VMLAslv4i32
    1532             :     UINT64_C(4086300736),       // VMLAslv8i16
    1533             :     UINT64_C(4060088640),       // VMLAv16i8
    1534             :     UINT64_C(4062185728),       // VMLAv2i32
    1535             :     UINT64_C(4061137152),       // VMLAv4i16
    1536             :     UINT64_C(4062185792),       // VMLAv4i32
    1537             :     UINT64_C(4061137216),       // VMLAv8i16
    1538             :     UINT64_C(4060088576),       // VMLAv8i8
    1539             :     UINT64_C(234883904),        // VMLSD
    1540             :     UINT64_C(234883392),        // VMLSH
    1541             :     UINT64_C(4070573632),       // VMLSLslsv2i32
    1542             :     UINT64_C(4069525056),       // VMLSLslsv4i16
    1543             :     UINT64_C(4087350848),       // VMLSLsluv2i32
    1544             :     UINT64_C(4086302272),       // VMLSLsluv4i16
    1545             :     UINT64_C(4070574592),       // VMLSLsv2i64
    1546             :     UINT64_C(4069526016),       // VMLSLsv4i32
    1547             :     UINT64_C(4068477440),       // VMLSLsv8i16
    1548             :     UINT64_C(4087351808),       // VMLSLuv2i64
    1549             :     UINT64_C(4086303232),       // VMLSLuv4i32
    1550             :     UINT64_C(4085254656),       // VMLSLuv8i16
    1551             :     UINT64_C(234883648),        // VMLSS
    1552             :     UINT64_C(4062186768),       // VMLSfd
    1553             :     UINT64_C(4062186832),       // VMLSfq
    1554             :     UINT64_C(4063235344),       // VMLShd
    1555             :     UINT64_C(4063235408),       // VMLShq
    1556             :     UINT64_C(4070573376),       // VMLSslfd
    1557             :     UINT64_C(4087350592),       // VMLSslfq
    1558             :     UINT64_C(4069524800),       // VMLSslhd
    1559             :     UINT64_C(4086302016),       // VMLSslhq
    1560             :     UINT64_C(4070573120),       // VMLSslv2i32
    1561             :     UINT64_C(4069524544),       // VMLSslv4i16
    1562             :     UINT64_C(4087350336),       // VMLSslv4i32
    1563             :     UINT64_C(4086301760),       // VMLSslv8i16
    1564             :     UINT64_C(4076865856),       // VMLSv16i8
    1565             :     UINT64_C(4078962944),       // VMLSv2i32
    1566             :     UINT64_C(4077914368),       // VMLSv4i16
    1567             :     UINT64_C(4078963008),       // VMLSv4i32
    1568             :     UINT64_C(4077914432),       // VMLSv8i16
    1569             :     UINT64_C(4076865792),       // VMLSv8i8
    1570             :     UINT64_C(246418240),        // VMOVD
    1571             :     UINT64_C(0),
    1572             :     UINT64_C(205523728),        // VMOVDRR
    1573             :     UINT64_C(0),
    1574             :     UINT64_C(4272949824),       // VMOVH
    1575             :     UINT64_C(234883344),        // VMOVHR
    1576             :     UINT64_C(4070574608),       // VMOVLsv2i64
    1577             :     UINT64_C(4069526032),       // VMOVLsv4i32
    1578             :     UINT64_C(4069001744),       // VMOVLsv8i16
    1579             :     UINT64_C(4087351824),       // VMOVLuv2i64
    1580             :     UINT64_C(4086303248),       // VMOVLuv4i32
    1581             :     UINT64_C(4085778960),       // VMOVLuv8i16
    1582             :     UINT64_C(4089053696),       // VMOVNv2i32
    1583             :     UINT64_C(4088791552),       // VMOVNv4i16
    1584             :     UINT64_C(4088529408),       // VMOVNv8i8
    1585             :     UINT64_C(0),
    1586             :     UINT64_C(235931920),        // VMOVRH
    1587             :     UINT64_C(206572304),        // VMOVRRD
    1588             :     UINT64_C(206572048),        // VMOVRRS
    1589             :     UINT64_C(235932176),        // VMOVRS
    1590             :     UINT64_C(246417984),        // VMOVS
    1591             :     UINT64_C(234883600),        // VMOVSR
    1592             :     UINT64_C(205523472),        // VMOVSRR
    1593             :     UINT64_C(0),
    1594             :     UINT64_C(4068478544),       // VMOVv16i8
    1595             :     UINT64_C(4068478512),       // VMOVv1i64
    1596             :     UINT64_C(4068478736),       // VMOVv2f32
    1597             :     UINT64_C(4068474896),       // VMOVv2i32
    1598             :     UINT64_C(4068478576),       // VMOVv2i64
    1599             :     UINT64_C(4068478800),       // VMOVv4f32
    1600             :     UINT64_C(4068476944),       // VMOVv4i16
    1601             :     UINT64_C(4068474960),       // VMOVv4i32
    1602             :     UINT64_C(4068477008),       // VMOVv8i16
    1603             :     UINT64_C(4068478480),       // VMOVv8i8
    1604             :     UINT64_C(250677776),        // VMRS
    1605             :     UINT64_C(251136528),        // VMRS_FPEXC
    1606             :     UINT64_C(251202064),        // VMRS_FPINST
    1607             :     UINT64_C(251267600),        // VMRS_FPINST2
    1608             :     UINT64_C(250612240),        // VMRS_FPSID
    1609             :     UINT64_C(251070992),        // VMRS_MVFR0
    1610             :     UINT64_C(251005456),        // VMRS_MVFR1
    1611             :     UINT64_C(250939920),        // VMRS_MVFR2
    1612             :     UINT64_C(249629200),        // VMSR
    1613             :     UINT64_C(250087952),        // VMSR_FPEXC
    1614             :     UINT64_C(250153488),        // VMSR_FPINST
    1615             :     UINT64_C(250219024),        // VMSR_FPINST2
    1616             :     UINT64_C(249563664),        // VMSR_FPSID
    1617             :     UINT64_C(236980992),        // VMULD
    1618             :     UINT64_C(236980480),        // VMULH
    1619             :     UINT64_C(4070575616),       // VMULLp64
    1620             :     UINT64_C(4068478464),       // VMULLp8
    1621             :     UINT64_C(4070574656),       // VMULLslsv2i32
    1622             :     UINT64_C(4069526080),       // VMULLslsv4i16
    1623             :     UINT64_C(4087351872),       // VMULLsluv2i32
    1624             :     UINT64_C(4086303296),       // VMULLsluv4i16
    1625             :     UINT64_C(4070575104),       // VMULLsv2i64
    1626             :     UINT64_C(4069526528),       // VMULLsv4i32
    1627             :     UINT64_C(4068477952),       // VMULLsv8i16
    1628             :     UINT64_C(4087352320),       // VMULLuv2i64
    1629             :     UINT64_C(4086303744),       // VMULLuv4i32
    1630             :     UINT64_C(4085255168),       // VMULLuv8i16
    1631             :     UINT64_C(236980736),        // VMULS
    1632             :     UINT64_C(4076866832),       // VMULfd
    1633             :     UINT64_C(4076866896),       // VMULfq
    1634             :     UINT64_C(4077915408),       // VMULhd
    1635             :     UINT64_C(4077915472),       // VMULhq
    1636             :     UINT64_C(4076865808),       // VMULpd
    1637             :     UINT64_C(4076865872),       // VMULpq
    1638             :     UINT64_C(4070574400),       // VMULslfd
    1639             :     UINT64_C(4087351616),       // VMULslfq
    1640             :     UINT64_C(4069525824),       // VMULslhd
    1641             :     UINT64_C(4086303040),       // VMULslhq
    1642             :     UINT64_C(4070574144),       // VMULslv2i32
    1643             :     UINT64_C(4069525568),       // VMULslv4i16
    1644             :     UINT64_C(4087351360),       // VMULslv4i32
    1645             :     UINT64_C(4086302784),       // VMULslv8i16
    1646             :     UINT64_C(4060088656),       // VMULv16i8
    1647             :     UINT64_C(4062185744),       // VMULv2i32
    1648             :     UINT64_C(4061137168),       // VMULv4i16
    1649             :     UINT64_C(4062185808),       // VMULv4i32
    1650             :     UINT64_C(4061137232),       // VMULv8i16
    1651             :     UINT64_C(4060088592),       // VMULv8i8
    1652             :     UINT64_C(4088399232),       // VMVNd
    1653             :     UINT64_C(4088399296),       // VMVNq
    1654             :     UINT64_C(4068474928),       // VMVNv2i32
    1655             :     UINT64_C(4068476976),       // VMVNv4i16
    1656             :     UINT64_C(4068474992),       // VMVNv4i32
    1657             :     UINT64_C(4068477040),       // VMVNv8i16
    1658             :     UINT64_C(246483776),        // VNEGD
    1659             :     UINT64_C(246483264),        // VNEGH
    1660             :     UINT64_C(246483520),        // VNEGS
    1661             :     UINT64_C(4088989632),       // VNEGf32q
    1662             :     UINT64_C(4088989568),       // VNEGfd
    1663             :     UINT64_C(4088727424),       // VNEGhd
    1664             :     UINT64_C(4088727488),       // VNEGhq
    1665             :     UINT64_C(4088726400),       // VNEGs16d
    1666             :     UINT64_C(4088726464),       // VNEGs16q
    1667             :     UINT64_C(4088988544),       // VNEGs32d
    1668             :     UINT64_C(4088988608),       // VNEGs32q
    1669             :     UINT64_C(4088464256),       // VNEGs8d
    1670             :     UINT64_C(4088464320),       // VNEGs8q
    1671             :     UINT64_C(235932480),        // VNMLAD
    1672             :     UINT64_C(235931968),        // VNMLAH
    1673             :     UINT64_C(235932224),        // VNMLAS
    1674             :     UINT64_C(235932416),        // VNMLSD
    1675             :     UINT64_C(235931904),        // VNMLSH
    1676             :     UINT64_C(235932160),        // VNMLSS
    1677             :     UINT64_C(236981056),        // VNMULD
    1678             :     UINT64_C(236980544),        // VNMULH
    1679             :     UINT64_C(236980800),        // VNMULS
    1680             :     UINT64_C(4063232272),       // VORNd
    1681             :     UINT64_C(4063232336),       // VORNq
    1682             :     UINT64_C(4062183696),       // VORRd
    1683             :     UINT64_C(4068475152),       // VORRiv2i32
    1684             :     UINT64_C(4068477200),       // VORRiv4i16
    1685             :     UINT64_C(4068475216),       // VORRiv4i32
    1686             :     UINT64_C(4068477264),       // VORRiv8i16
    1687             :     UINT64_C(4062183760),       // VORRq
    1688             :     UINT64_C(4088399424),       // VPADALsv16i8
    1689             :     UINT64_C(4088923648),       // VPADALsv2i32
    1690             :     UINT64_C(4088661504),       // VPADALsv4i16
    1691             :     UINT64_C(4088923712),       // VPADALsv4i32
    1692             :     UINT64_C(4088661568),       // VPADALsv8i16
    1693             :     UINT64_C(4088399360),       // VPADALsv8i8
    1694             :     UINT64_C(4088399552),       // VPADALuv16i8
    1695             :     UINT64_C(4088923776),       // VPADALuv2i32
    1696             :     UINT64_C(4088661632),       // VPADALuv4i16
    1697             :     UINT64_C(4088923840),       // VPADALuv4i32
    1698             :     UINT64_C(4088661696),       // VPADALuv8i16
    1699             :     UINT64_C(4088399488),       // VPADALuv8i8
    1700             :     UINT64_C(4088398400),       // VPADDLsv16i8
    1701             :     UINT64_C(4088922624),       // VPADDLsv2i32
    1702             :     UINT64_C(4088660480),       // VPADDLsv4i16
    1703             :     UINT64_C(4088922688),       // VPADDLsv4i32
    1704             :     UINT64_C(4088660544),       // VPADDLsv8i16
    1705             :     UINT64_C(4088398336),       // VPADDLsv8i8
    1706             :     UINT64_C(4088398528),       // VPADDLuv16i8
    1707             :     UINT64_C(4088922752),       // VPADDLuv2i32
    1708             :     UINT64_C(4088660608),       // VPADDLuv4i16
    1709             :     UINT64_C(4088922816),       // VPADDLuv4i32
    1710             :     UINT64_C(4088660672),       // VPADDLuv8i16
    1711             :     UINT64_C(4088398464),       // VPADDLuv8i8
    1712             :     UINT64_C(4076866816),       // VPADDf
    1713             :     UINT64_C(4077915392),       // VPADDh
    1714             :     UINT64_C(4061137680),       // VPADDi16
    1715             :     UINT64_C(4062186256),       // VPADDi32
    1716             :     UINT64_C(4060089104),       // VPADDi8
    1717             :     UINT64_C(4076867328),       // VPMAXf
    1718             :     UINT64_C(4077915904),       // VPMAXh
    1719             :     UINT64_C(4061137408),       // VPMAXs16
    1720             :     UINT64_C(4062185984),       // VPMAXs32
    1721             :     UINT64_C(4060088832),       // VPMAXs8
    1722             :     UINT64_C(4077914624),       // VPMAXu16
    1723             :     UINT64_C(4078963200),       // VPMAXu32
    1724             :     UINT64_C(4076866048),       // VPMAXu8
    1725             :     UINT64_C(4078964480),       // VPMINf
    1726             :     UINT64_C(4080013056),       // VPMINh
    1727             :     UINT64_C(4061137424),       // VPMINs16
    1728             :     UINT64_C(4062186000),       // VPMINs32
    1729             :     UINT64_C(4060088848),       // VPMINs8
    1730             :     UINT64_C(4077914640),       // VPMINu16
    1731             :     UINT64_C(4078963216),       // VPMINu32
    1732             :     UINT64_C(4076866064),       // VPMINu8
    1733             :     UINT64_C(4088399680),       // VQABSv16i8
    1734             :     UINT64_C(4088923904),       // VQABSv2i32
    1735             :     UINT64_C(4088661760),       // VQABSv4i16
    1736             :     UINT64_C(4088923968),       // VQABSv4i32
    1737             :     UINT64_C(4088661824),       // VQABSv8i16
    1738             :     UINT64_C(4088399616),       // VQABSv8i8
    1739             :     UINT64_C(4060086352),       // VQADDsv16i8
    1740             :     UINT64_C(4063232016),       // VQADDsv1i64
    1741             :     UINT64_C(4062183440),       // VQADDsv2i32
    1742             :     UINT64_C(4063232080),       // VQADDsv2i64
    1743             :     UINT64_C(4061134864),       // VQADDsv4i16
    1744             :     UINT64_C(4062183504),       // VQADDsv4i32
    1745             :     UINT64_C(4061134928),       // VQADDsv8i16
    1746             :     UINT64_C(4060086288),       // VQADDsv8i8
    1747             :     UINT64_C(4076863568),       // VQADDuv16i8
    1748             :     UINT64_C(4080009232),       // VQADDuv1i64
    1749             :     UINT64_C(4078960656),       // VQADDuv2i32
    1750             :     UINT64_C(4080009296),       // VQADDuv2i64
    1751             :     UINT64_C(4077912080),       // VQADDuv4i16
    1752             :     UINT64_C(4078960720),       // VQADDuv4i32
    1753             :     UINT64_C(4077912144),       // VQADDuv8i16
    1754             :     UINT64_C(4076863504),       // VQADDuv8i8
    1755             :     UINT64_C(4070572864),       // VQDMLALslv2i32
    1756             :     UINT64_C(4069524288),       // VQDMLALslv4i16
    1757             :     UINT64_C(4070574336),       // VQDMLALv2i64
    1758             :     UINT64_C(4069525760),       // VQDMLALv4i32
    1759             :     UINT64_C(4070573888),       // VQDMLSLslv2i32
    1760             :     UINT64_C(4069525312),       // VQDMLSLslv4i16
    1761             :     UINT64_C(4070574848),       // VQDMLSLv2i64
    1762             :     UINT64_C(4069526272),       // VQDMLSLv4i32
    1763             :     UINT64_C(4070575168),       // VQDMULHslv2i32
    1764             :     UINT64_C(4069526592),       // VQDMULHslv4i16
    1765             :     UINT64_C(4087352384),       // VQDMULHslv4i32
    1766             :     UINT64_C(4086303808),       // VQDMULHslv8i16
    1767             :     UINT64_C(4062186240),       // VQDMULHv2i32
    1768             :     UINT64_C(4061137664),       // VQDMULHv4i16
    1769             :     UINT64_C(4062186304),       // VQDMULHv4i32
    1770             :     UINT64_C(4061137728),       // VQDMULHv8i16
    1771             :     UINT64_C(4070574912),       // VQDMULLslv2i32
    1772             :     UINT64_C(4069526336),       // VQDMULLslv4i16
    1773             :     UINT64_C(4070575360),       // VQDMULLv2i64
    1774             :     UINT64_C(4069526784),       // VQDMULLv4i32
    1775             :     UINT64_C(4089053760),       // VQMOVNsuv2i32
    1776             :     UINT64_C(4088791616),       // VQMOVNsuv4i16
    1777             :     UINT64_C(4088529472),       // VQMOVNsuv8i8
    1778             :     UINT64_C(4089053824),       // VQMOVNsv2i32
    1779             :     UINT64_C(4088791680),       // VQMOVNsv4i16
    1780             :     UINT64_C(4088529536),       // VQMOVNsv8i8
    1781             :     UINT64_C(4089053888),       // VQMOVNuv2i32
    1782             :     UINT64_C(4088791744),       // VQMOVNuv4i16
    1783             :     UINT64_C(4088529600),       // VQMOVNuv8i8
    1784             :     UINT64_C(4088399808),       // VQNEGv16i8
    1785             :     UINT64_C(4088924032),       // VQNEGv2i32
    1786             :     UINT64_C(4088661888),       // VQNEGv4i16
    1787             :     UINT64_C(4088924096),       // VQNEGv4i32
    1788             :     UINT64_C(4088661952),       // VQNEGv8i16
    1789             :     UINT64_C(4088399744),       // VQNEGv8i8
    1790             :     UINT64_C(4070575680),       // VQRDMLAHslv2i32
    1791             :     UINT64_C(4069527104),       // VQRDMLAHslv4i16
    1792             :     UINT64_C(4087352896),       // VQRDMLAHslv4i32
    1793             :     UINT64_C(4086304320),       // VQRDMLAHslv8i16
    1794             :     UINT64_C(4078963472),       // VQRDMLAHv2i32
    1795             :     UINT64_C(4077914896),       // VQRDMLAHv4i16
    1796             :     UINT64_C(4078963536),       // VQRDMLAHv4i32
    1797             :     UINT64_C(4077914960),       // VQRDMLAHv8i16
    1798             :     UINT64_C(4070575936),       // VQRDMLSHslv2i32
    1799             :     UINT64_C(4069527360),       // VQRDMLSHslv4i16
    1800             :     UINT64_C(4087353152),       // VQRDMLSHslv4i32
    1801             :     UINT64_C(4086304576),       // VQRDMLSHslv8i16
    1802             :     UINT64_C(4078963728),       // VQRDMLSHv2i32
    1803             :     UINT64_C(4077915152),       // VQRDMLSHv4i16
    1804             :     UINT64_C(4078963792),       // VQRDMLSHv4i32
    1805             :     UINT64_C(4077915216),       // VQRDMLSHv8i16
    1806             :     UINT64_C(4070575424),       // VQRDMULHslv2i32
    1807             :     UINT64_C(4069526848),       // VQRDMULHslv4i16
    1808             :     UINT64_C(4087352640),       // VQRDMULHslv4i32
    1809             :     UINT64_C(4086304064),       // VQRDMULHslv8i16
    1810             :     UINT64_C(4078963456),       // VQRDMULHv2i32
    1811             :     UINT64_C(4077914880),       // VQRDMULHv4i16
    1812             :     UINT64_C(4078963520),       // VQRDMULHv4i32
    1813             :     UINT64_C(4077914944),       // VQRDMULHv8i16
    1814             :     UINT64_C(4060087632),       // VQRSHLsv16i8
    1815             :     UINT64_C(4063233296),       // VQRSHLsv1i64
    1816             :     UINT64_C(4062184720),       // VQRSHLsv2i32
    1817             :     UINT64_C(4063233360),       // VQRSHLsv2i64
    1818             :     UINT64_C(4061136144),       // VQRSHLsv4i16
    1819             :     UINT64_C(4062184784),       // VQRSHLsv4i32
    1820             :     UINT64_C(4061136208),       // VQRSHLsv8i16
    1821             :     UINT64_C(4060087568),       // VQRSHLsv8i8
    1822             :     UINT64_C(4076864848),       // VQRSHLuv16i8
    1823             :     UINT64_C(4080010512),       // VQRSHLuv1i64
    1824             :     UINT64_C(4078961936),       // VQRSHLuv2i32
    1825             :     UINT64_C(4080010576),       // VQRSHLuv2i64
    1826             :     UINT64_C(4077913360),       // VQRSHLuv4i16
    1827             :     UINT64_C(4078962000),       // VQRSHLuv4i32
    1828             :     UINT64_C(4077913424),       // VQRSHLuv8i16
    1829             :     UINT64_C(4076864784),       // VQRSHLuv8i8
    1830             :     UINT64_C(4070574416),       // VQRSHRNsv2i32
    1831             :     UINT64_C(4069525840),       // VQRSHRNsv4i16
    1832             :     UINT64_C(4069001552),       // VQRSHRNsv8i8
    1833             :     UINT64_C(4087351632),       // VQRSHRNuv2i32
    1834             :     UINT64_C(4086303056),       // VQRSHRNuv4i16
    1835             :     UINT64_C(4085778768),       // VQRSHRNuv8i8
    1836             :     UINT64_C(4087351376),       // VQRSHRUNv2i32
    1837             :     UINT64_C(4086302800),       // VQRSHRUNv4i16
    1838             :     UINT64_C(4085778512),       // VQRSHRUNv8i8
    1839             :     UINT64_C(4069001040),       // VQSHLsiv16i8
    1840             :     UINT64_C(4068476816),       // VQSHLsiv1i64
    1841             :     UINT64_C(4070573840),       // VQSHLsiv2i32
    1842             :     UINT64_C(4068476880),       // VQSHLsiv2i64
    1843             :     UINT64_C(4069525264),       // VQSHLsiv4i16
    1844             :     UINT64_C(4070573904),       // VQSHLsiv4i32
    1845             :     UINT64_C(4069525328),       // VQSHLsiv8i16
    1846             :     UINT64_C(4069000976),       // VQSHLsiv8i8
    1847             :     UINT64_C(4085778000),       // VQSHLsuv16i8
    1848             :     UINT64_C(4085253776),       // VQSHLsuv1i64
    1849             :     UINT64_C(4087350800),       // VQSHLsuv2i32
    1850             :     UINT64_C(4085253840),       // VQSHLsuv2i64
    1851             :     UINT64_C(4086302224),       // VQSHLsuv4i16
    1852             :     UINT64_C(4087350864),       // VQSHLsuv4i32
    1853             :     UINT64_C(4086302288),       // VQSHLsuv8i16
    1854             :     UINT64_C(4085777936),       // VQSHLsuv8i8
    1855             :     UINT64_C(4060087376),       // VQSHLsv16i8
    1856             :     UINT64_C(4063233040),       // VQSHLsv1i64
    1857             :     UINT64_C(4062184464),       // VQSHLsv2i32
    1858             :     UINT64_C(4063233104),       // VQSHLsv2i64
    1859             :     UINT64_C(4061135888),       // VQSHLsv4i16
    1860             :     UINT64_C(4062184528),       // VQSHLsv4i32
    1861             :     UINT64_C(4061135952),       // VQSHLsv8i16
    1862             :     UINT64_C(4060087312),       // VQSHLsv8i8
    1863             :     UINT64_C(4085778256),       // VQSHLuiv16i8
    1864             :     UINT64_C(4085254032),       // VQSHLuiv1i64
    1865             :     UINT64_C(4087351056),       // VQSHLuiv2i32
    1866             :     UINT64_C(4085254096),       // VQSHLuiv2i64
    1867             :     UINT64_C(4086302480),       // VQSHLuiv4i16
    1868             :     UINT64_C(4087351120),       // VQSHLuiv4i32
    1869             :     UINT64_C(4086302544),       // VQSHLuiv8i16
    1870             :     UINT64_C(4085778192),       // VQSHLuiv8i8
    1871             :     UINT64_C(4076864592),       // VQSHLuv16i8
    1872             :     UINT64_C(4080010256),       // VQSHLuv1i64
    1873             :     UINT64_C(4078961680),       // VQSHLuv2i32
    1874             :     UINT64_C(4080010320),       // VQSHLuv2i64
    1875             :     UINT64_C(4077913104),       // VQSHLuv4i16
    1876             :     UINT64_C(4078961744),       // VQSHLuv4i32
    1877             :     UINT64_C(4077913168),       // VQSHLuv8i16
    1878             :     UINT64_C(4076864528),       // VQSHLuv8i8
    1879             :     UINT64_C(4070574352),       // VQSHRNsv2i32
    1880             :     UINT64_C(4069525776),       // VQSHRNsv4i16
    1881             :     UINT64_C(4069001488),       // VQSHRNsv8i8
    1882             :     UINT64_C(4087351568),       // VQSHRNuv2i32
    1883             :     UINT64_C(4086302992),       // VQSHRNuv4i16
    1884             :     UINT64_C(4085778704),       // VQSHRNuv8i8
    1885             :     UINT64_C(4087351312),       // VQSHRUNv2i32
    1886             :     UINT64_C(4086302736),       // VQSHRUNv4i16
    1887             :     UINT64_C(4085778448),       // VQSHRUNv8i8
    1888             :     UINT64_C(4060086864),       // VQSUBsv16i8
    1889             :     UINT64_C(4063232528),       // VQSUBsv1i64
    1890             :     UINT64_C(4062183952),       // VQSUBsv2i32
    1891             :     UINT64_C(4063232592),       // VQSUBsv2i64
    1892             :     UINT64_C(4061135376),       // VQSUBsv4i16
    1893             :     UINT64_C(4062184016),       // VQSUBsv4i32
    1894             :     UINT64_C(4061135440),       // VQSUBsv8i16
    1895             :     UINT64_C(4060086800),       // VQSUBsv8i8
    1896             :     UINT64_C(4076864080),       // VQSUBuv16i8
    1897             :     UINT64_C(4080009744),       // VQSUBuv1i64
    1898             :     UINT64_C(4078961168),       // VQSUBuv2i32
    1899             :     UINT64_C(4080009808),       // VQSUBuv2i64
    1900             :     UINT64_C(4077912592),       // VQSUBuv4i16
    1901             :     UINT64_C(4078961232),       // VQSUBuv4i32
    1902             :     UINT64_C(4077912656),       // VQSUBuv8i16
    1903             :     UINT64_C(4076864016),       // VQSUBuv8i8
    1904             :     UINT64_C(4087350272),       // VRADDHNv2i32
    1905             :     UINT64_C(4086301696),       // VRADDHNv4i16
    1906             :     UINT64_C(4085253120),       // VRADDHNv8i8
    1907             :     UINT64_C(4089119744),       // VRECPEd
    1908             :     UINT64_C(4089120000),       // VRECPEfd
    1909             :     UINT64_C(4089120064),       // VRECPEfq
    1910             :     UINT64_C(4088857856),       // VRECPEhd
    1911             :     UINT64_C(4088857920),       // VRECPEhq
    1912             :     UINT64_C(4089119808),       // VRECPEq
    1913             :     UINT64_C(4060090128),       // VRECPSfd
    1914             :     UINT64_C(4060090192),       // VRECPSfq
    1915             :     UINT64_C(4061138704),       // VRECPShd
    1916             :     UINT64_C(4061138768),       // VRECPShq
    1917             :     UINT64_C(4088398080),       // VREV16d8
    1918             :     UINT64_C(4088398144),       // VREV16q8
    1919             :     UINT64_C(4088660096),       // VREV32d16
    1920             :     UINT64_C(4088397952),       // VREV32d8
    1921             :     UINT64_C(4088660160),       // VREV32q16
    1922             :     UINT64_C(4088398016),       // VREV32q8
    1923             :     UINT64_C(4088659968),       // VREV64d16
    1924             :     UINT64_C(4088922112),       // VREV64d32
    1925             :     UINT64_C(4088397824),       // VREV64d8
    1926             :     UINT64_C(4088660032),       // VREV64q16
    1927             :     UINT64_C(4088922176),       // VREV64q32
    1928             :     UINT64_C(4088397888),       // VREV64q8
    1929             :     UINT64_C(4060086592),       // VRHADDsv16i8
    1930             :     UINT64_C(4062183680),       // VRHADDsv2i32
    1931             :     UINT64_C(4061135104),       // VRHADDsv4i16
    1932             :     UINT64_C(4062183744),       // VRHADDsv4i32
    1933             :     UINT64_C(4061135168),       // VRHADDsv8i16
    1934             :     UINT64_C(4060086528),       // VRHADDsv8i8
    1935             :     UINT64_C(4076863808),       // VRHADDuv16i8
    1936             :     UINT64_C(4078960896),       // VRHADDuv2i32
    1937             :     UINT64_C(4077912320),       // VRHADDuv4i16
    1938             :     UINT64_C(4078960960),       // VRHADDuv4i32
    1939             :     UINT64_C(4077912384),       // VRHADDuv8i16
    1940             :     UINT64_C(4076863744),       // VRHADDuv8i8
    1941             :     UINT64_C(4273474368),       // VRINTAD
    1942             :     UINT64_C(4273473856),       // VRINTAH
    1943             :     UINT64_C(4089054464),       // VRINTANDf
    1944             :     UINT64_C(4088792320),       // VRINTANDh
    1945             :     UINT64_C(4089054528),       // VRINTANQf
    1946             :     UINT64_C(4088792384),       // VRINTANQh
    1947             :     UINT64_C(4273474112),       // VRINTAS
    1948             :     UINT64_C(4273670976),       // VRINTMD
    1949             :     UINT64_C(4273670464),       // VRINTMH
    1950             :     UINT64_C(4089054848),       // VRINTMNDf
    1951             :     UINT64_C(4088792704),       // VRINTMNDh
    1952             :     UINT64_C(4089054912),       // VRINTMNQf
    1953             :     UINT64_C(4088792768),       // VRINTMNQh
    1954             :     UINT64_C(4273670720),       // VRINTMS
    1955             :     UINT64_C(4273539904),       // VRINTND
    1956             :     UINT64_C(4273539392),       // VRINTNH
    1957             :     UINT64_C(4089054208),       // VRINTNNDf
    1958             :     UINT64_C(4088792064),       // VRINTNNDh
    1959             :     UINT64_C(4089054272),       // VRINTNNQf
    1960             :     UINT64_C(4088792128),       // VRINTNNQh
    1961             :     UINT64_C(4273539648),       // VRINTNS
    1962             :     UINT64_C(4273605440),       // VRINTPD
    1963             :     UINT64_C(4273604928),       // VRINTPH
    1964             :     UINT64_C(4089055104),       // VRINTPNDf
    1965             :     UINT64_C(4088792960),       // VRINTPNDh
    1966             :     UINT64_C(4089055168),       // VRINTPNQf
    1967             :     UINT64_C(4088793024),       // VRINTPNQh
    1968             :     UINT64_C(4273605184),       // VRINTPS
    1969             :     UINT64_C(246811456),        // VRINTRD
    1970             :     UINT64_C(246810944),        // VRINTRH
    1971             :     UINT64_C(246811200),        // VRINTRS
    1972             :     UINT64_C(246876992),        // VRINTXD
    1973             :     UINT64_C(246876480),        // VRINTXH
    1974             :     UINT64_C(4089054336),       // VRINTXNDf
    1975             :     UINT64_C(4088792192),       // VRINTXNDh
    1976             :     UINT64_C(4089054400),       // VRINTXNQf
    1977             :     UINT64_C(4088792256),       // VRINTXNQh
    1978             :     UINT64_C(246876736),        // VRINTXS
    1979             :     UINT64_C(246811584),        // VRINTZD
    1980             :     UINT64_C(246811072),        // VRINTZH
    1981             :     UINT64_C(4089054592),       // VRINTZNDf
    1982             :     UINT64_C(4088792448),       // VRINTZNDh
    1983             :     UINT64_C(4089054656),       // VRINTZNQf
    1984             :     UINT64_C(4088792512),       // VRINTZNQh
    1985             :     UINT64_C(246811328),        // VRINTZS
    1986             :     UINT64_C(4060087616),       // VRSHLsv16i8
    1987             :     UINT64_C(4063233280),       // VRSHLsv1i64
    1988             :     UINT64_C(4062184704),       // VRSHLsv2i32
    1989             :     UINT64_C(4063233344),       // VRSHLsv2i64
    1990             :     UINT64_C(4061136128),       // VRSHLsv4i16
    1991             :     UINT64_C(4062184768),       // VRSHLsv4i32
    1992             :     UINT64_C(4061136192),       // VRSHLsv8i16
    1993             :     UINT64_C(4060087552),       // VRSHLsv8i8
    1994             :     UINT64_C(4076864832),       // VRSHLuv16i8
    1995             :     UINT64_C(4080010496),       // VRSHLuv1i64
    1996             :     UINT64_C(4078961920),       // VRSHLuv2i32
    1997             :     UINT64_C(4080010560),       // VRSHLuv2i64
    1998             :     UINT64_C(4077913344),       // VRSHLuv4i16
    1999             :     UINT64_C(4078961984),       // VRSHLuv4i32
    2000             :     UINT64_C(4077913408),       // VRSHLuv8i16
    2001             :     UINT64_C(4076864768),       // VRSHLuv8i8
    2002             :     UINT64_C(4070574160),       // VRSHRNv2i32
    2003             :     UINT64_C(4069525584),       // VRSHRNv4i16
    2004             :     UINT64_C(4069001296),       // VRSHRNv8i8
    2005             :     UINT64_C(4068999760),       // VRSHRsv16i8
    2006             :     UINT64_C(4068475536),       // VRSHRsv1i64
    2007             :     UINT64_C(4070572560),       // VRSHRsv2i32
    2008             :     UINT64_C(4068475600),       // VRSHRsv2i64
    2009             :     UINT64_C(4069523984),       // VRSHRsv4i16
    2010             :     UINT64_C(4070572624),       // VRSHRsv4i32
    2011             :     UINT64_C(4069524048),       // VRSHRsv8i16
    2012             :     UINT64_C(4068999696),       // VRSHRsv8i8
    2013             :     UINT64_C(4085776976),       // VRSHRuv16i8
    2014             :     UINT64_C(4085252752),       // VRSHRuv1i64
    2015             :     UINT64_C(4087349776),       // VRSHRuv2i32
    2016             :     UINT64_C(4085252816),       // VRSHRuv2i64
    2017             :     UINT64_C(4086301200),       // VRSHRuv4i16
    2018             :     UINT64_C(4087349840),       // VRSHRuv4i32
    2019             :     UINT64_C(4086301264),       // VRSHRuv8i16
    2020             :     UINT64_C(4085776912),       // VRSHRuv8i8
    2021             :     UINT64_C(4089119872),       // VRSQRTEd
    2022             :     UINT64_C(4089120128),       // VRSQRTEfd
    2023             :     UINT64_C(4089120192),       // VRSQRTEfq
    2024             :     UINT64_C(4088857984),       // VRSQRTEhd
    2025             :     UINT64_C(4088858048),       // VRSQRTEhq
    2026             :     UINT64_C(4089119936),       // VRSQRTEq
    2027             :     UINT64_C(4062187280),       // VRSQRTSfd
    2028             :     UINT64_C(4062187344),       // VRSQRTSfq
    2029             :     UINT64_C(4063235856),       // VRSQRTShd
    2030             :     UINT64_C(4063235920),       // VRSQRTShq
    2031             :     UINT64_C(4069000016),       // VRSRAsv16i8
    2032             :     UINT64_C(4068475792),       // VRSRAsv1i64
    2033             :     UINT64_C(4070572816),       // VRSRAsv2i32
    2034             :     UINT64_C(4068475856),       // VRSRAsv2i64
    2035             :     UINT64_C(4069524240),       // VRSRAsv4i16
    2036             :     UINT64_C(4070572880),       // VRSRAsv4i32
    2037             :     UINT64_C(4069524304),       // VRSRAsv8i16
    2038             :     UINT64_C(4068999952),       // VRSRAsv8i8
    2039             :     UINT64_C(4085777232),       // VRSRAuv16i8
    2040             :     UINT64_C(4085253008),       // VRSRAuv1i64
    2041             :     UINT64_C(4087350032),       // VRSRAuv2i32
    2042             :     UINT64_C(4085253072),       // VRSRAuv2i64
    2043             :     UINT64_C(4086301456),       // VRSRAuv4i16
    2044             :     UINT64_C(4087350096),       // VRSRAuv4i32
    2045             :     UINT64_C(4086301520),       // VRSRAuv8i16
    2046             :     UINT64_C(4085777168),       // VRSRAuv8i8
    2047             :     UINT64_C(4087350784),       // VRSUBHNv2i32
    2048             :     UINT64_C(4086302208),       // VRSUBHNv4i16
    2049             :     UINT64_C(4085253632),       // VRSUBHNv8i8
    2050             :     UINT64_C(4229958912),       // VSDOTD
    2051             :     UINT64_C(4263513344),       // VSDOTDI
    2052             :     UINT64_C(4229958976),       // VSDOTQ
    2053             :     UINT64_C(4263513408),       // VSDOTQI
    2054             :     UINT64_C(4261415680),       // VSELEQD
    2055             :     UINT64_C(4261415168),       // VSELEQH
    2056             :     UINT64_C(4261415424),       // VSELEQS
    2057             :     UINT64_C(4263512832),       // VSELGED
    2058             :     UINT64_C(4263512320),       // VSELGEH
    2059             :     UINT64_C(4263512576),       // VSELGES
    2060             :     UINT64_C(4264561408),       // VSELGTD
    2061             :     UINT64_C(4264560896),       // VSELGTH
    2062             :     UINT64_C(4264561152),       // VSELGTS
    2063             :     UINT64_C(4262464256),       // VSELVSD
    2064             :     UINT64_C(4262463744),       // VSELVSH
    2065             :     UINT64_C(4262464000),       // VSELVSS
    2066             :     UINT64_C(234883888),        // VSETLNi16
    2067             :     UINT64_C(234883856),        // VSETLNi32
    2068             :     UINT64_C(239078160),        // VSETLNi8
    2069             :     UINT64_C(4088791808),       // VSHLLi16
    2070             :     UINT64_C(4089053952),       // VSHLLi32
    2071             :     UINT64_C(4088529664),       // VSHLLi8
    2072             :     UINT64_C(4070574608),       // VSHLLsv2i64
    2073             :     UINT64_C(4069526032),       // VSHLLsv4i32
    2074             :     UINT64_C(4069001744),       // VSHLLsv8i16
    2075             :     UINT64_C(4087351824),       // VSHLLuv2i64
    2076             :     UINT64_C(4086303248),       // VSHLLuv4i32
    2077             :     UINT64_C(4085778960),       // VSHLLuv8i16
    2078             :     UINT64_C(4069000528),       // VSHLiv16i8
    2079             :     UINT64_C(4068476304),       // VSHLiv1i64
    2080             :     UINT64_C(4070573328),       // VSHLiv2i32
    2081             :     UINT64_C(4068476368),       // VSHLiv2i64
    2082             :     UINT64_C(4069524752),       // VSHLiv4i16
    2083             :     UINT64_C(4070573392),       // VSHLiv4i32
    2084             :     UINT64_C(4069524816),       // VSHLiv8i16
    2085             :     UINT64_C(4069000464),       // VSHLiv8i8
    2086             :     UINT64_C(4060087360),       // VSHLsv16i8
    2087             :     UINT64_C(4063233024),       // VSHLsv1i64
    2088             :     UINT64_C(4062184448),       // VSHLsv2i32
    2089             :     UINT64_C(4063233088),       // VSHLsv2i64
    2090             :     UINT64_C(4061135872),       // VSHLsv4i16
    2091             :     UINT64_C(4062184512),       // VSHLsv4i32
    2092             :     UINT64_C(4061135936),       // VSHLsv8i16
    2093             :     UINT64_C(4060087296),       // VSHLsv8i8
    2094             :     UINT64_C(4076864576),       // VSHLuv16i8
    2095             :     UINT64_C(4080010240),       // VSHLuv1i64
    2096             :     UINT64_C(4078961664),       // VSHLuv2i32
    2097             :     UINT64_C(4080010304),       // VSHLuv2i64
    2098             :     UINT64_C(4077913088),       // VSHLuv4i16
    2099             :     UINT64_C(4078961728),       // VSHLuv4i32
    2100             :     UINT64_C(4077913152),       // VSHLuv8i16
    2101             :     UINT64_C(4076864512),       // VSHLuv8i8
    2102             :     UINT64_C(4070574096),       // VSHRNv2i32
    2103             :     UINT64_C(4069525520),       // VSHRNv4i16
    2104             :     UINT64_C(4069001232),       // VSHRNv8i8
    2105             :     UINT64_C(4068999248),       // VSHRsv16i8
    2106             :     UINT64_C(4068475024),       // VSHRsv1i64
    2107             :     UINT64_C(4070572048),       // VSHRsv2i32
    2108             :     UINT64_C(4068475088),       // VSHRsv2i64
    2109             :     UINT64_C(4069523472),       // VSHRsv4i16
    2110             :     UINT64_C(4070572112),       // VSHRsv4i32
    2111             :     UINT64_C(4069523536),       // VSHRsv8i16
    2112             :     UINT64_C(4068999184),       // VSHRsv8i8
    2113             :     UINT64_C(4085776464),       // VSHRuv16i8
    2114             :     UINT64_C(4085252240),       // VSHRuv1i64
    2115             :     UINT64_C(4087349264),       // VSHRuv2i32
    2116             :     UINT64_C(4085252304),       // VSHRuv2i64
    2117             :     UINT64_C(4086300688),       // VSHRuv4i16
    2118             :     UINT64_C(4087349328),       // VSHRuv4i32
    2119             :     UINT64_C(4086300752),       // VSHRuv8i16
    2120             :     UINT64_C(4085776400),       // VSHRuv8i8
    2121             :     UINT64_C(247073600),        // VSHTOD
    2122             :     UINT64_C(247073088),        // VSHTOH
    2123             :     UINT64_C(247073344),        // VSHTOS
    2124             :     UINT64_C(246942656),        // VSITOD
    2125             :     UINT64_C(246942144),        // VSITOH
    2126             :     UINT64_C(246942400),        // VSITOS
    2127             :     UINT64_C(4085777744),       // VSLIv16i8
    2128             :     UINT64_C(4085253520),       // VSLIv1i64
    2129             :     UINT64_C(4087350544),       // VSLIv2i32
    2130             :     UINT64_C(4085253584),       // VSLIv2i64
    2131             :     UINT64_C(4086301968),       // VSLIv4i16
    2132             :     UINT64_C(4087350608),       // VSLIv4i32
    2133             :     UINT64_C(4086302032),       // VSLIv8i16
    2134             :     UINT64_C(4085777680),       // VSLIv8i8
    2135             :     UINT64_C(247073728),        // VSLTOD
    2136             :     UINT64_C(247073216),        // VSLTOH
    2137             :     UINT64_C(247073472),        // VSLTOS
    2138             :     UINT64_C(246483904),        // VSQRTD
    2139             :     UINT64_C(246483392),        // VSQRTH
    2140             :     UINT64_C(246483648),        // VSQRTS
    2141             :     UINT64_C(4068999504),       // VSRAsv16i8
    2142             :     UINT64_C(4068475280),       // VSRAsv1i64
    2143             :     UINT64_C(4070572304),       // VSRAsv2i32
    2144             :     UINT64_C(4068475344),       // VSRAsv2i64
    2145             :     UINT64_C(4069523728),       // VSRAsv4i16
    2146             :     UINT64_C(4070572368),       // VSRAsv4i32
    2147             :     UINT64_C(4069523792),       // VSRAsv8i16
    2148             :     UINT64_C(4068999440),       // VSRAsv8i8
    2149             :     UINT64_C(4085776720),       // VSRAuv16i8
    2150             :     UINT64_C(4085252496),       // VSRAuv1i64
    2151             :     UINT64_C(4087349520),       // VSRAuv2i32
    2152             :     UINT64_C(4085252560),       // VSRAuv2i64
    2153             :     UINT64_C(4086300944),       // VSRAuv4i16
    2154             :     UINT64_C(4087349584),       // VSRAuv4i32
    2155             :     UINT64_C(4086301008),       // VSRAuv8i16
    2156             :     UINT64_C(4085776656),       // VSRAuv8i8
    2157             :     UINT64_C(4085777488),       // VSRIv16i8
    2158             :     UINT64_C(4085253264),       // VSRIv1i64
    2159             :     UINT64_C(4087350288),       // VSRIv2i32
    2160             :     UINT64_C(4085253328),       // VSRIv2i64
    2161             :     UINT64_C(4086301712),       // VSRIv4i16
    2162             :     UINT64_C(4087350352),       // VSRIv4i32
    2163             :     UINT64_C(4086301776),       // VSRIv8i16
    2164             :     UINT64_C(4085777424),       // VSRIv8i8
    2165             :     UINT64_C(4102030351),       // VST1LNd16
    2166             :     UINT64_C(4102030336),       // VST1LNd16_UPD
    2167             :     UINT64_C(4102031375),       // VST1LNd32
    2168             :     UINT64_C(4102031360),       // VST1LNd32_UPD
    2169             :     UINT64_C(4102029327),       // VST1LNd8
    2170             :     UINT64_C(4102029312),       // VST1LNd8_UPD
    2171             :     UINT64_C(0),
    2172             :     UINT64_C(0),
    2173             :     UINT64_C(0),
    2174             :     UINT64_C(0),
    2175             :     UINT64_C(0),
    2176             :     UINT64_C(0),
    2177             :     UINT64_C(0),
    2178             :     UINT64_C(0),
    2179             :     UINT64_C(0),
    2180             :     UINT64_C(0),        // VST1LNq16Pseudo
    2181             :     UINT64_C(0),        // VST1LNq16Pseudo_UPD
    2182             :     UINT64_C(0),        // VST1LNq32Pseudo
    2183             :     UINT64_C(0),        // VST1LNq32Pseudo_UPD
    2184             :     UINT64_C(0),        // VST1LNq8Pseudo
    2185             :     UINT64_C(0),        // VST1LNq8Pseudo_UPD
    2186             :     UINT64_C(4093642575),       // VST1d16
    2187             :     UINT64_C(4093641295),       // VST1d16Q
    2188             :     UINT64_C(4093641293),       // VST1d16Qwb_fixed
    2189             :     UINT64_C(4093641280),       // VST1d16Qwb_register
    2190             :     UINT64_C(4093642319),       // VST1d16T
    2191             :     UINT64_C(4093642317),       // VST1d16Twb_fixed
    2192             :     UINT64_C(4093642304),       // VST1d16Twb_register
    2193             :     UINT64_C(4093642573),       // VST1d16wb_fixed
    2194             :     UINT64_C(4093642560),       // VST1d16wb_register
    2195             :     UINT64_C(4093642639),       // VST1d32
    2196             :     UINT64_C(4093641359),       // VST1d32Q
    2197             :     UINT64_C(4093641357),       // VST1d32Qwb_fixed
    2198             :     UINT64_C(4093641344),       // VST1d32Qwb_register
    2199             :     UINT64_C(4093642383),       // VST1d32T
    2200             :     UINT64_C(4093642381),       // VST1d32Twb_fixed
    2201             :     UINT64_C(4093642368),       // VST1d32Twb_register
    2202             :     UINT64_C(4093642637),       // VST1d32wb_fixed
    2203             :     UINT64_C(4093642624),       // VST1d32wb_register
    2204             :     UINT64_C(4093642703),       // VST1d64
    2205             :     UINT64_C(4093641423),       // VST1d64Q
    2206             :     UINT64_C(0),        // VST1d64QPseudo
    2207             :     UINT64_C(0),        // VST1d64QPseudoWB_fixed
    2208             :     UINT64_C(0),        // VST1d64QPseudoWB_register
    2209             :     UINT64_C(4093641421),       // VST1d64Qwb_fixed
    2210             :     UINT64_C(4093641408),       // VST1d64Qwb_register
    2211             :     UINT64_C(4093642447),       // VST1d64T
    2212             :     UINT64_C(0),        // VST1d64TPseudo
    2213             :     UINT64_C(0),        // VST1d64TPseudoWB_fixed
    2214             :     UINT64_C(0),        // VST1d64TPseudoWB_register
    2215             :     UINT64_C(4093642445),       // VST1d64Twb_fixed
    2216             :     UINT64_C(4093642432),       // VST1d64Twb_register
    2217             :     UINT64_C(4093642701),       // VST1d64wb_fixed
    2218             :     UINT64_C(4093642688),       // VST1d64wb_register
    2219             :     UINT64_C(4093642511),       // VST1d8
    2220             :     UINT64_C(4093641231),       // VST1d8Q
    2221             :     UINT64_C(4093641229),       // VST1d8Qwb_fixed
    2222             :     UINT64_C(4093641216),       // VST1d8Qwb_register
    2223             :     UINT64_C(4093642255),       // VST1d8T
    2224             :     UINT64_C(4093642253),       // VST1d8Twb_fixed
    2225             :     UINT64_C(4093642240),       // VST1d8Twb_register
    2226             :     UINT64_C(4093642509),       // VST1d8wb_fixed
    2227             :     UINT64_C(4093642496),       // VST1d8wb_register
    2228             :     UINT64_C(4093643343),       // VST1q16
    2229             :     UINT64_C(4093643341),       // VST1q16wb_fixed
    2230             :     UINT64_C(4093643328),       // VST1q16wb_register
    2231             :     UINT64_C(4093643407),       // VST1q32
    2232             :     UINT64_C(4093643405),       // VST1q32wb_fixed
    2233             :     UINT64_C(4093643392),       // VST1q32wb_register
    2234             :     UINT64_C(4093643471),       // VST1q64
    2235             :     UINT64_C(4093643469),       // VST1q64wb_fixed
    2236             :     UINT64_C(4093643456),       // VST1q64wb_register
    2237             :     UINT64_C(4093643279),       // VST1q8
    2238             :     UINT64_C(4093643277),       // VST1q8wb_fixed
    2239             :     UINT64_C(4093643264),       // VST1q8wb_register
    2240             :     UINT64_C(4102030607),       // VST2LNd16
    2241             :     UINT64_C(0),        // VST2LNd16Pseudo
    2242             :     UINT64_C(0),        // VST2LNd16Pseudo_UPD
    2243             :     UINT64_C(4102030592),       // VST2LNd16_UPD
    2244             :     UINT64_C(4102031631),       // VST2LNd32
    2245             :     UINT64_C(0),        // VST2LNd32Pseudo
    2246             :     UINT64_C(0),        // VST2LNd32Pseudo_UPD
    2247             :     UINT64_C(4102031616),       // VST2LNd32_UPD
    2248             :     UINT64_C(4102029583),       // VST2LNd8
    2249             :     UINT64_C(0),        // VST2LNd8Pseudo
    2250             :     UINT64_C(0),        // VST2LNd8Pseudo_UPD
    2251             :     UINT64_C(4102029568),       // VST2LNd8_UPD
    2252             :     UINT64_C(0),
    2253             :     UINT64_C(0),
    2254             :     UINT64_C(0),
    2255             :     UINT64_C(0),
    2256             :     UINT64_C(0),
    2257             :     UINT64_C(0),
    2258             :     UINT64_C(0),
    2259             :     UINT64_C(0),
    2260             :     UINT64_C(0),
    2261             :     UINT64_C(4102030639),       // VST2LNq16
    2262             :     UINT64_C(0),        // VST2LNq16Pseudo
    2263             :     UINT64_C(0),        // VST2LNq16Pseudo_UPD
    2264             :     UINT64_C(4102030624),       // VST2LNq16_UPD
    2265             :     UINT64_C(4102031695),       // VST2LNq32
    2266             :     UINT64_C(0),        // VST2LNq32Pseudo
    2267             :     UINT64_C(0),        // VST2LNq32Pseudo_UPD
    2268             :     UINT64_C(4102031680),       // VST2LNq32_UPD
    2269             :     UINT64_C(0),
    2270             :     UINT64_C(0),
    2271             :     UINT64_C(0),
    2272             :     UINT64_C(0),
    2273             :     UINT64_C(0),
    2274             :     UINT64_C(0),
    2275             :     UINT64_C(4093643087),       // VST2b16
    2276             :     UINT64_C(4093643085),       // VST2b16wb_fixed
    2277             :     UINT64_C(4093643072),       // VST2b16wb_register
    2278             :     UINT64_C(4093643151),       // VST2b32
    2279             :     UINT64_C(4093643149),       // VST2b32wb_fixed
    2280             :     UINT64_C(4093643136),       // VST2b32wb_register
    2281             :     UINT64_C(4093643023),       // VST2b8
    2282             :     UINT64_C(4093643021),       // VST2b8wb_fixed
    2283             :     UINT64_C(4093643008),       // VST2b8wb_register
    2284             :     UINT64_C(4093642831),       // VST2d16
    2285             :     UINT64_C(4093642829),       // VST2d16wb_fixed
    2286             :     UINT64_C(4093642816),       // VST2d16wb_register
    2287             :     UINT64_C(4093642895),       // VST2d32
    2288             :     UINT64_C(4093642893),       // VST2d32wb_fixed
    2289             :     UINT64_C(4093642880),       // VST2d32wb_register
    2290             :     UINT64_C(4093642767),       // VST2d8
    2291             :     UINT64_C(4093642765),       // VST2d8wb_fixed
    2292             :     UINT64_C(4093642752),       // VST2d8wb_register
    2293             :     UINT64_C(4093641551),       // VST2q16
    2294             :     UINT64_C(0),        // VST2q16Pseudo
    2295             :     UINT64_C(0),        // VST2q16PseudoWB_fixed
    2296             :     UINT64_C(0),        // VST2q16PseudoWB_register
    2297             :     UINT64_C(4093641549),       // VST2q16wb_fixed
    2298             :     UINT64_C(4093641536),       // VST2q16wb_register
    2299             :     UINT64_C(4093641615),       // VST2q32
    2300             :     UINT64_C(0),        // VST2q32Pseudo
    2301             :     UINT64_C(0),        // VST2q32PseudoWB_fixed
    2302             :     UINT64_C(0),        // VST2q32PseudoWB_register
    2303             :     UINT64_C(4093641613),       // VST2q32wb_fixed
    2304             :     UINT64_C(4093641600),       // VST2q32wb_register
    2305             :     UINT64_C(4093641487),       // VST2q8
    2306             :     UINT64_C(0),        // VST2q8Pseudo
    2307             :     UINT64_C(0),        // VST2q8PseudoWB_fixed
    2308             :     UINT64_C(0),        // VST2q8PseudoWB_register
    2309             :     UINT64_C(4093641485),       // VST2q8wb_fixed
    2310             :     UINT64_C(4093641472),       // VST2q8wb_register
    2311             :     UINT64_C(4102030863),       // VST3LNd16
    2312             :     UINT64_C(0),        // VST3LNd16Pseudo
    2313             :     UINT64_C(0),        // VST3LNd16Pseudo_UPD
    2314             :     UINT64_C(4102030848),       // VST3LNd16_UPD
    2315             :     UINT64_C(4102031887),       // VST3LNd32
    2316             :     UINT64_C(0),        // VST3LNd32Pseudo
    2317             :     UINT64_C(0),        // VST3LNd32Pseudo_UPD
    2318             :     UINT64_C(4102031872),       // VST3LNd32_UPD
    2319             :     UINT64_C(4102029839),       // VST3LNd8
    2320             :     UINT64_C(0),        // VST3LNd8Pseudo
    2321             :     UINT64_C(0),        // VST3LNd8Pseudo_UPD
    2322             :     UINT64_C(4102029824),       // VST3LNd8_UPD
    2323             :     UINT64_C(0),
    2324             :     UINT64_C(0),
    2325             :     UINT64_C(0),
    2326             :     UINT64_C(0),
    2327             :     UINT64_C(0),
    2328             :     UINT64_C(0),
    2329             :     UINT64_C(0),
    2330             :     UINT64_C(0),
    2331             :     UINT64_C(0),
    2332             :     UINT64_C(4102030895),       // VST3LNq16
    2333             :     UINT64_C(0),        // VST3LNq16Pseudo
    2334             :     UINT64_C(0),        // VST3LNq16Pseudo_UPD
    2335             :     UINT64_C(4102030880),       // VST3LNq16_UPD
    2336             :     UINT64_C(4102031951),       // VST3LNq32
    2337             :     UINT64_C(0),        // VST3LNq32Pseudo
    2338             :     UINT64_C(0),        // VST3LNq32Pseudo_UPD
    2339             :     UINT64_C(4102031936),       // VST3LNq32_UPD
    2340             :     UINT64_C(0),
    2341             :     UINT64_C(0),
    2342             :     UINT64_C(0),
    2343             :     UINT64_C(0),
    2344             :     UINT64_C(0),
    2345             :     UINT64_C(0),
    2346             :     UINT64_C(4093641807),       // VST3d16
    2347             :     UINT64_C(0),        // VST3d16Pseudo
    2348             :     UINT64_C(0),        // VST3d16Pseudo_UPD
    2349             :     UINT64_C(4093641792),       // VST3d16_UPD
    2350             :     UINT64_C(4093641871),       // VST3d32
    2351             :     UINT64_C(0),        // VST3d32Pseudo
    2352             :     UINT64_C(0),        // VST3d32Pseudo_UPD
    2353             :     UINT64_C(4093641856),       // VST3d32_UPD
    2354             :     UINT64_C(4093641743),       // VST3d8
    2355             :     UINT64_C(0),        // VST3d8Pseudo
    2356             :     UINT64_C(0),        // VST3d8Pseudo_UPD
    2357             :     UINT64_C(4093641728),       // VST3d8_UPD
    2358             :     UINT64_C(0),
    2359             :     UINT64_C(0),
    2360             :     UINT64_C(0),
    2361             :     UINT64_C(0),
    2362             :     UINT64_C(0),
    2363             :     UINT64_C(0),
    2364             :     UINT64_C(0),
    2365             :     UINT64_C(0),
    2366             :     UINT64_C(0),
    2367             :     UINT64_C(4093642063),       // VST3q16
    2368             :     UINT64_C(0),        // VST3q16Pseudo_UPD
    2369             :     UINT64_C(4093642048),       // VST3q16_UPD
    2370             :     UINT64_C(0),        // VST3q16oddPseudo
    2371             :     UINT64_C(0),        // VST3q16oddPseudo_UPD
    2372             :     UINT64_C(4093642127),       // VST3q32
    2373             :     UINT64_C(0),        // VST3q32Pseudo_UPD
    2374             :     UINT64_C(4093642112),       // VST3q32_UPD
    2375             :     UINT64_C(0),        // VST3q32oddPseudo
    2376             :     UINT64_C(0),        // VST3q32oddPseudo_UPD
    2377             :     UINT64_C(4093641999),       // VST3q8
    2378             :     UINT64_C(0),        // VST3q8Pseudo_UPD
    2379             :     UINT64_C(4093641984),       // VST3q8_UPD
    2380             :     UINT64_C(0),        // VST3q8oddPseudo
    2381             :     UINT64_C(0),        // VST3q8oddPseudo_UPD
    2382             :     UINT64_C(0),
    2383             :     UINT64_C(0),
    2384             :     UINT64_C(0),
    2385             :     UINT64_C(0),
    2386             :     UINT64_C(0),
    2387             :     UINT64_C(0),
    2388             :     UINT64_C(0),
    2389             :     UINT64_C(0),
    2390             :     UINT64_C(0),
    2391             :     UINT64_C(4102031119),       // VST4LNd16
    2392             :     UINT64_C(0),        // VST4LNd16Pseudo
    2393             :     UINT64_C(0),        // VST4LNd16Pseudo_UPD
    2394             :     UINT64_C(4102031104),       // VST4LNd16_UPD
    2395             :     UINT64_C(4102032143),       // VST4LNd32
    2396             :     UINT64_C(0),        // VST4LNd32Pseudo
    2397             :     UINT64_C(0),        // VST4LNd32Pseudo_UPD
    2398             :     UINT64_C(4102032128),       // VST4LNd32_UPD
    2399             :     UINT64_C(4102030095),       // VST4LNd8
    2400             :     UINT64_C(0),        // VST4LNd8Pseudo
    2401             :     UINT64_C(0),        // VST4LNd8Pseudo_UPD
    2402             :     UINT64_C(4102030080),       // VST4LNd8_UPD
    2403             :     UINT64_C(0),
    2404             :     UINT64_C(0),
    2405             :     UINT64_C(0),
    2406             :     UINT64_C(0),
    2407             :     UINT64_C(0),
    2408             :     UINT64_C(0),
    2409             :     UINT64_C(0),
    2410             :     UINT64_C(0),
    2411             :     UINT64_C(0),
    2412             :     UINT64_C(4102031151),       // VST4LNq16
    2413             :     UINT64_C(0),        // VST4LNq16Pseudo
    2414             :     UINT64_C(0),        // VST4LNq16Pseudo_UPD
    2415             :     UINT64_C(4102031136),       // VST4LNq16_UPD
    2416             :     UINT64_C(4102032207),       // VST4LNq32
    2417             :     UINT64_C(0),        // VST4LNq32Pseudo
    2418             :     UINT64_C(0),        // VST4LNq32Pseudo_UPD
    2419             :     UINT64_C(4102032192),       // VST4LNq32_UPD
    2420             :     UINT64_C(0),
    2421             :     UINT64_C(0),
    2422             :     UINT64_C(0),
    2423             :     UINT64_C(0),
    2424             :     UINT64_C(0),
    2425             :     UINT64_C(0),
    2426             :     UINT64_C(4093640783),       // VST4d16
    2427             :     UINT64_C(0),        // VST4d16Pseudo
    2428             :     UINT64_C(0),        // VST4d16Pseudo_UPD
    2429             :     UINT64_C(4093640768),       // VST4d16_UPD
    2430             :     UINT64_C(4093640847),       // VST4d32
    2431             :     UINT64_C(0),        // VST4d32Pseudo
    2432             :     UINT64_C(0),        // VST4d32Pseudo_UPD
    2433             :     UINT64_C(4093640832),       // VST4d32_UPD
    2434             :     UINT64_C(4093640719),       // VST4d8
    2435             :     UINT64_C(0),        // VST4d8Pseudo
    2436             :     UINT64_C(0),        // VST4d8Pseudo_UPD
    2437             :     UINT64_C(4093640704),       // VST4d8_UPD
    2438             :     UINT64_C(0),
    2439             :     UINT64_C(0),
    2440             :     UINT64_C(0),
    2441             :     UINT64_C(0),
    2442             :     UINT64_C(0),
    2443             :     UINT64_C(0),
    2444             :     UINT64_C(0),
    2445             :     UINT64_C(0),
    2446             :     UINT64_C(0),
    2447             :     UINT64_C(4093641039),       // VST4q16
    2448             :     UINT64_C(0),        // VST4q16Pseudo_UPD
    2449             :     UINT64_C(4093641024),       // VST4q16_UPD
    2450             :     UINT64_C(0),        // VST4q16oddPseudo
    2451             :     UINT64_C(0),        // VST4q16oddPseudo_UPD
    2452             :     UINT64_C(4093641103),       // VST4q32
    2453             :     UINT64_C(0),        // VST4q32Pseudo_UPD
    2454             :     UINT64_C(4093641088),       // VST4q32_UPD
    2455             :     UINT64_C(0),        // VST4q32oddPseudo
    2456             :     UINT64_C(0),        // VST4q32oddPseudo_UPD
    2457             :     UINT64_C(4093640975),       // VST4q8
    2458             :     UINT64_C(0),        // VST4q8Pseudo_UPD
    2459             :     UINT64_C(4093640960),       // VST4q8_UPD
    2460             :     UINT64_C(0),        // VST4q8oddPseudo
    2461             :     UINT64_C(0),        // VST4q8oddPseudo_UPD
    2462             :     UINT64_C(0),
    2463             :     UINT64_C(0),
    2464             :     UINT64_C(0),
    2465             :     UINT64_C(0),
    2466             :     UINT64_C(0),
    2467             :     UINT64_C(0),
    2468             :     UINT64_C(0),
    2469             :     UINT64_C(0),
    2470             :     UINT64_C(0),
    2471             :     UINT64_C(220203776),        // VSTMDDB_UPD
    2472             :     UINT64_C(209718016),        // VSTMDIA
    2473             :     UINT64_C(211815168),        // VSTMDIA_UPD
    2474             :     UINT64_C(0),        // VSTMQIA
    2475             :     UINT64_C(220203520),        // VSTMSDB_UPD
    2476             :     UINT64_C(209717760),        // VSTMSIA
    2477             :     UINT64_C(211814912),        // VSTMSIA_UPD
    2478             :     UINT64_C(218106624),        // VSTRD
    2479             :     UINT64_C(218106112),        // VSTRH
    2480             :     UINT64_C(218106368),        // VSTRS
    2481             :     UINT64_C(238029632),        // VSUBD
    2482             :     UINT64_C(238029120),        // VSUBH
    2483             :     UINT64_C(4070573568),       // VSUBHNv2i32
    2484             :     UINT64_C(4069524992),       // VSUBHNv4i16
    2485             :     UINT64_C(4068476416),       // VSUBHNv8i8
    2486             :     UINT64_C(4070572544),       // VSUBLsv2i64
    2487             :     UINT64_C(4069523968),       // VSUBLsv4i32
    2488             :     UINT64_C(4068475392),       // VSUBLsv8i16
    2489             :     UINT64_C(4087349760),       // VSUBLuv2i64
    2490             :     UINT64_C(4086301184),       // VSUBLuv4i32
    2491             :     UINT64_C(4085252608),       // VSUBLuv8i16
    2492             :     UINT64_C(238029376),        // VSUBS
    2493             :     UINT64_C(4070572800),       // VSUBWsv2i64
    2494             :     UINT64_C(4069524224),       // VSUBWsv4i32
    2495             :     UINT64_C(4068475648),       // VSUBWsv8i16
    2496             :     UINT64_C(4087350016),       // VSUBWuv2i64
    2497             :     UINT64_C(4086301440),       // VSUBWuv4i32
    2498             :     UINT64_C(4085252864),       // VSUBWuv8i16
    2499             :     UINT64_C(4062186752),       // VSUBfd
    2500             :     UINT64_C(4062186816),       // VSUBfq
    2501             :     UINT64_C(4063235328),       // VSUBhd
    2502             :     UINT64_C(4063235392),       // VSUBhq
    2503             :     UINT64_C(4076865600),       // VSUBv16i8
    2504             :     UINT64_C(4080011264),       // VSUBv1i64
    2505             :     UINT64_C(4078962688),       // VSUBv2i32
    2506             :     UINT64_C(4080011328),       // VSUBv2i64
    2507             :     UINT64_C(4077914112),       // VSUBv4i16
    2508             :     UINT64_C(4078962752),       // VSUBv4i32
    2509             :     UINT64_C(4077914176),       // VSUBv8i16
    2510             :     UINT64_C(4076865536),       // VSUBv8i8
    2511             :     UINT64_C(4088528896),       // VSWPd
    2512             :     UINT64_C(4088528960),       // VSWPq
    2513             :     UINT64_C(4088399872),       // VTBL1
    2514             :     UINT64_C(4088400128),       // VTBL2
    2515             :     UINT64_C(4088400384),       // VTBL3
    2516             :     UINT64_C(0),        // VTBL3Pseudo
    2517             :     UINT64_C(4088400640),       // VTBL4
    2518             :     UINT64_C(0),        // VTBL4Pseudo
    2519             :     UINT64_C(4088399936),       // VTBX1
    2520             :     UINT64_C(4088400192),       // VTBX2
    2521             :     UINT64_C(4088400448),       // VTBX3
    2522             :     UINT64_C(0),        // VTBX3Pseudo
    2523             :     UINT64_C(4088400704),       // VTBX4
    2524             :     UINT64_C(0),        // VTBX4Pseudo
    2525             :     UINT64_C(247335744),        // VTOSHD
    2526             :     UINT64_C(247335232),        // VTOSHH
    2527             :     UINT64_C(247335488),        // VTOSHS
    2528             :     UINT64_C(247270208),        // VTOSIRD
    2529             :     UINT64_C(247269696),        // VTOSIRH
    2530             :     UINT64_C(247269952),        // VTOSIRS
    2531             :     UINT64_C(247270336),        // VTOSIZD
    2532             :     UINT64_C(247269824),        // VTOSIZH
    2533             :     UINT64_C(247270080),        // VTOSIZS
    2534             :     UINT64_C(247335872),        // VTOSLD
    2535             :     UINT64_C(247335360),        // VTOSLH
    2536             :     UINT64_C(247335616),        // VTOSLS
    2537             :     UINT64_C(247401280),        // VTOUHD
    2538             :     UINT64_C(247400768),        // VTOUHH
    2539             :     UINT64_C(247401024),        // VTOUHS
    2540             :     UINT64_C(247204672),        // VTOUIRD
    2541             :     UINT64_C(247204160),        // VTOUIRH
    2542             :     UINT64_C(247204416),        // VTOUIRS
    2543             :     UINT64_C(247204800),        // VTOUIZD
    2544             :     UINT64_C(247204288),        // VTOUIZH
    2545             :     UINT64_C(247204544),        // VTOUIZS
    2546             :     UINT64_C(247401408),        // VTOULD
    2547             :     UINT64_C(247400896),        // VTOULH
    2548             :     UINT64_C(247401152),        // VTOULS
    2549             :     UINT64_C(4088791168),       // VTRNd16
    2550             :     UINT64_C(4089053312),       // VTRNd32
    2551             :     UINT64_C(4088529024),       // VTRNd8
    2552             :     UINT64_C(4088791232),       // VTRNq16
    2553             :     UINT64_C(4089053376),       // VTRNq32
    2554             :     UINT64_C(4088529088),       // VTRNq8
    2555             :     UINT64_C(4060088400),       // VTSTv16i8
    2556             :     UINT64_C(4062185488),       // VTSTv2i32
    2557             :     UINT64_C(4061136912),       // VTSTv4i16
    2558             :     UINT64_C(4062185552),       // VTSTv4i32
    2559             :     UINT64_C(4061136976),       // VTSTv8i16
    2560             :     UINT64_C(4060088336),       // VTSTv8i8
    2561             :     UINT64_C(4229958928),       // VUDOTD
    2562             :     UINT64_C(4263513360),       // VUDOTDI
    2563             :     UINT64_C(4229958992),       // VUDOTQ
    2564             :     UINT64_C(4263513424),       // VUDOTQI
    2565             :     UINT64_C(247139136),        // VUHTOD
    2566             :     UINT64_C(247138624),        // VUHTOH
    2567             :     UINT64_C(247138880),        // VUHTOS
    2568             :     UINT64_C(246942528),        // VUITOD
    2569             :     UINT64_C(246942016),        // VUITOH
    2570             :     UINT64_C(246942272),        // VUITOS
    2571             :     UINT64_C(247139264),        // VULTOD
    2572             :     UINT64_C(247138752),        // VULTOH
    2573             :     UINT64_C(247139008),        // VULTOS
    2574             :     UINT64_C(4088791296),       // VUZPd16
    2575             :     UINT64_C(4088529152),       // VUZPd8
    2576             :     UINT64_C(4088791360),       // VUZPq16
    2577             :     UINT64_C(4089053504),       // VUZPq32
    2578             :     UINT64_C(4088529216),       // VUZPq8
    2579             :     UINT64_C(4088791424),       // VZIPd16
    2580             :     UINT64_C(4088529280),       // VZIPd8
    2581             :     UINT64_C(4088791488),       // VZIPq16
    2582             :     UINT64_C(4089053632),       // VZIPq32
    2583             :     UINT64_C(4088529344),       // VZIPq8
    2584             :     UINT64_C(0),
    2585             :     UINT64_C(0),
    2586             :     UINT64_C(139460608),        // sysLDMDA
    2587             :     UINT64_C(141557760),        // sysLDMDA_UPD
    2588             :     UINT64_C(156237824),        // sysLDMDB
    2589             :     UINT64_C(158334976),        // sysLDMDB_UPD
    2590             :     UINT64_C(147849216),        // sysLDMIA
    2591             :     UINT64_C(149946368),        // sysLDMIA_UPD
    2592             :     UINT64_C(164626432),        // sysLDMIB
    2593             :     UINT64_C(166723584),        // sysLDMIB_UPD
    2594             :     UINT64_C(138412032),        // sysSTMDA
    2595             :     UINT64_C(140509184),        // sysSTMDA_UPD
    2596             :     UINT64_C(155189248),        // sysSTMDB
    2597             :     UINT64_C(157286400),        // sysSTMDB_UPD
    2598             :     UINT64_C(146800640),        // sysSTMIA
    2599             :     UINT64_C(148897792),        // sysSTMIA_UPD
    2600             :     UINT64_C(163577856),        // sysSTMIB
    2601             :     UINT64_C(165675008),        // sysSTMIB_UPD
    2602             :     UINT64_C(0),
    2603             :     UINT64_C(4047503360),       // t2ADCri
    2604             :     UINT64_C(3946840064),       // t2ADCrr
    2605             :     UINT64_C(3946840064),       // t2ADCrs
    2606             :     UINT64_C(0),
    2607             :     UINT64_C(0),
    2608             :     UINT64_C(0),
    2609             :     UINT64_C(4043309056),       // t2ADDri
    2610             :     UINT64_C(4060086272),       // t2ADDri12
    2611             :     UINT64_C(3942645760),       // t2ADDrr
    2612             :     UINT64_C(3942645760),       // t2ADDrs
    2613             :     UINT64_C(4061069312),       // t2ADR
    2614             :     UINT64_C(4026531840),       // t2ANDri
    2615             :     UINT64_C(3925868544),       // t2ANDrr
    2616             :     UINT64_C(3925868544),       // t2ANDrs
    2617             :     UINT64_C(3931045920),       // t2ASRri
    2618             :     UINT64_C(4198559744),       // t2ASRrr
    2619             :     UINT64_C(4026568704),       // t2B
    2620             :     UINT64_C(4084137984),       // t2BFC
    2621             :     UINT64_C(4083154944),       // t2BFI
    2622             :     UINT64_C(4028628992),       // t2BICri
    2623             :     UINT64_C(3927965696),       // t2BICrr
    2624             :     UINT64_C(3927965696),       // t2BICrs
    2625             :     UINT64_C(0),
    2626             :     UINT64_C(4089483008),       // t2BXJ
    2627             :     UINT64_C(4026564608),       // t2Bcc
    2628             :     UINT64_C(3992977408),       // t2CDP
    2629             :     UINT64_C(4261412864),       // t2CDP2
    2630             :     UINT64_C(4089417519),       // t2CLREX
    2631             :     UINT64_C(4205899904),       // t2CLZ
    2632             :     UINT64_C(4044361472),       // t2CMNri
    2633             :     UINT64_C(3943698176),       // t2CMNzrr
    2634             :     UINT64_C(3943698176),       // t2CMNzrs
    2635             :     UINT64_C(4054847232),       // t2CMPri
    2636             :     UINT64_C(3954183936),       // t2CMPrr
    2637             :     UINT64_C(3954183936),       // t2CMPrs
    2638             :     UINT64_C(4088365312),       // t2CPS1p
    2639             :     UINT64_C(4088365056),       // t2CPS2p
    2640             :     UINT64_C(4088365312),       // t2CPS3p
    2641             :     UINT64_C(4206948480),       // t2CRC32B
    2642             :     UINT64_C(4207997056),       // t2CRC32CB
    2643             :     UINT64_C(4207997072),       // t2CRC32CH
    2644             :     UINT64_C(4207997088),       // t2CRC32CW
    2645             :     UINT64_C(4206948496),       // t2CRC32H
    2646             :     UINT64_C(4206948512),       // t2CRC32W
    2647             :     UINT64_C(4088365296),       // t2DBG
    2648             :     UINT64_C(4153376769),       // t2DCPS1
    2649             :     UINT64_C(4153376770),       // t2DCPS2
    2650             :     UINT64_C(4153376771),       // t2DCPS3
    2651             :     UINT64_C(4089417552),       // t2DMB
    2652             :     UINT64_C(4089417536),       // t2DSB
    2653             :     UINT64_C(4034920448),       // t2EORri
    2654             :     UINT64_C(3934257152),       // t2EORrr
    2655             :     UINT64_C(3934257152),       // t2EORrs
    2656             :     UINT64_C(4088365056),       // t2HINT
    2657             :     UINT64_C(4158685184),       // t2HVC
    2658             :     UINT64_C(4089417568),       // t2ISB
    2659             :     UINT64_C(48896),    // t2IT
    2660             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp
    2661             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp_nofp
    2662             :     UINT64_C(3905949615),       // t2LDA
    2663             :     UINT64_C(3905949583),       // t2LDAB
    2664             :     UINT64_C(3905949679),       // t2LDAEX
    2665             :     UINT64_C(3905949647),       // t2LDAEXB
    2666             :     UINT64_C(3905945855),       // t2LDAEXD
    2667             :     UINT64_C(3905949663),       // t2LDAEXH
    2668             :     UINT64_C(3905949599),       // t2LDAH
    2669             :     UINT64_C(4249878528),       // t2LDC2L_OFFSET
    2670             :     UINT64_C(4241489920),       // t2LDC2L_OPTION
    2671             :     UINT64_C(4235198464),       // t2LDC2L_POST
    2672             :     UINT64_C(4251975680),       // t2LDC2L_PRE
    2673             :     UINT64_C(4245684224),       // t2LDC2_OFFSET
    2674             :     UINT64_C(4237295616),       // t2LDC2_OPTION
    2675             :     UINT64_C(4231004160),       // t2LDC2_POST
    2676             :     UINT64_C(4247781376),       // t2LDC2_PRE
    2677             :     UINT64_C(3981443072),       // t2LDCL_OFFSET
    2678             :     UINT64_C(3973054464),       // t2LDCL_OPTION
    2679             :     UINT64_C(3966763008),       // t2LDCL_POST
    2680             :     UINT64_C(3983540224),       // t2LDCL_PRE
    2681             :     UINT64_C(3977248768),       // t2LDC_OFFSET
    2682             :     UINT64_C(3968860160),       // t2LDC_OPTION
    2683             :     UINT64_C(3962568704),       // t2LDC_POST
    2684             :     UINT64_C(3979345920),       // t2LDC_PRE
    2685             :     UINT64_C(3910139904),       // t2LDMDB
    2686             :     UINT64_C(3912237056),       // t2LDMDB_UPD
    2687             :     UINT64_C(3901751296),       // t2LDMIA
    2688             :     UINT64_C(0),
    2689             :     UINT64_C(3903848448),       // t2LDMIA_UPD
    2690             :     UINT64_C(4161801728),       // t2LDRBT
    2691             :     UINT64_C(4161800448),       // t2LDRB_POST
    2692             :     UINT64_C(4161801472),       // t2LDRB_PRE
    2693             :     UINT64_C(4170186752),       // t2LDRBi12
    2694             :     UINT64_C(4161801216),       // t2LDRBi8
    2695             :     UINT64_C(4162781184),       // t2LDRBpci
    2696             :     UINT64_C(0),
    2697             :     UINT64_C(4161798144),       // t2LDRBs
    2698             :     UINT64_C(0),
    2699             :     UINT64_C(3899654144),       // t2LDRD_POST
    2700             :     UINT64_C(3916431360),       // t2LDRD_PRE
    2701             :     UINT64_C(3914334208),       // t2LDRDi8
    2702             :     UINT64_C(3897560832),       // t2LDREX
    2703             :     UINT64_C(3905949519),       // t2LDREXB
    2704             :     UINT64_C(3905945727),       // t2LDREXD
    2705             :     UINT64_C(3905949535),       // t2LDREXH
    2706             :     UINT64_C(4163898880),       // t2LDRHT
    2707             :     UINT64_C(4163897600),       // t2LDRH_POST
    2708             :     UINT64_C(4163898624),       // t2LDRH_PRE
    2709             :     UINT64_C(4172283904),       // t2LDRHi12
    2710             :     UINT64_C(4163898368),       // t2LDRHi8
    2711             :     UINT64_C(4164878336),       // t2LDRHpci
    2712             :     UINT64_C(0),
    2713             :     UINT64_C(4163895296),       // t2LDRHs
    2714             :     UINT64_C(4178578944),       // t2LDRSBT
    2715             :     UINT64_C(4178577664),       // t2LDRSB_POST
    2716             :     UINT64_C(4178578688),       // t2LDRSB_PRE
    2717             :     UINT64_C(4186963968),       // t2LDRSBi12
    2718             :     UINT64_C(4178578432),       // t2LDRSBi8
    2719             :     UINT64_C(4179558400),       // t2LDRSBpci
    2720             :     UINT64_C(0),
    2721             :     UINT64_C(4178575360),       // t2LDRSBs
    2722             :     UINT64_C(4180676096),       // t2LDRSHT
    2723             :     UINT64_C(4180674816),       // t2LDRSH_POST
    2724             :     UINT64_C(4180675840),       // t2LDRSH_PRE
    2725             :     UINT64_C(4189061120),       // t2LDRSHi12
    2726             :     UINT64_C(4180675584),       // t2LDRSHi8
    2727             :     UINT64_C(4181655552),       // t2LDRSHpci
    2728             :     UINT64_C(0),
    2729             :     UINT64_C(4180672512),       // t2LDRSHs
    2730             :     UINT64_C(4165996032),       // t2LDRT
    2731             :     UINT64_C(4165994752),       // t2LDR_POST
    2732             :     UINT64_C(4165995776),       // t2LDR_PRE
    2733             :     UINT64_C(4174381056),       // t2LDRi12
    2734             :     UINT64_C(4165995520),       // t2LDRi8
    2735             :     UINT64_C(4166975488),       // t2LDRpci
    2736             :     UINT64_C(0),
    2737             :     UINT64_C(0),
    2738             :     UINT64_C(4165992448),       // t2LDRs
    2739             :     UINT64_C(0),
    2740             :     UINT64_C(0),
    2741             :     UINT64_C(3931045888),       // t2LSLri
    2742             :     UINT64_C(4194365440),       // t2LSLrr
    2743             :     UINT64_C(3931045904),       // t2LSRri
    2744             :     UINT64_C(4196462592),       // t2LSRrr
    2745             :     UINT64_C(3992977424),       // t2MCR
    2746             :     UINT64_C(4261412880),       // t2MCR2
    2747             :     UINT64_C(3963617280),       // t2MCRR
    2748             :     UINT64_C(4232052736),       // t2MCRR2
    2749             :     UINT64_C(4211081216),       // t2MLA
    2750             :     UINT64_C(4211081232),       // t2MLS
    2751             :     UINT64_C(0),
    2752             :     UINT64_C(0),
    2753             :     UINT64_C(0),
    2754             :     UINT64_C(0),
    2755             :     UINT64_C(0),
    2756             :     UINT64_C(0),
    2757             :     UINT64_C(0),
    2758             :     UINT64_C(0),
    2759             :     UINT64_C(0),
    2760             :     UINT64_C(0),
    2761             :     UINT64_C(4072669184),       // t2MOVTi16
    2762             :     UINT64_C(0),
    2763             :     UINT64_C(0),
    2764             :     UINT64_C(4031709184),       // t2MOVi
    2765             :     UINT64_C(4064280576),       // t2MOVi16
    2766             :     UINT64_C(0),
    2767             :     UINT64_C(0),
    2768             :     UINT64_C(3931045888),       // t2MOVr
    2769             :     UINT64_C(0),
    2770             :     UINT64_C(0),
    2771             :     UINT64_C(3932094560),       // t2MOVsra_flag
    2772             :     UINT64_C(3932094544),       // t2MOVsrl_flag
    2773             :     UINT64_C(3994026000),       // t2MRC
    2774             :     UINT64_C(4262461456),       // t2MRC2
    2775             :     UINT64_C(3964665856),       // t2MRRC
    2776             :     UINT64_C(4233101312),       // t2MRRC2
    2777             :     UINT64_C(4092559360),       // t2MRS_AR
    2778             :     UINT64_C(4092559360),       // t2MRS_M
    2779             :     UINT64_C(4091576352),       // t2MRSbanked
    2780             :     UINT64_C(4093607936),       // t2MRSsys_AR
    2781             :     UINT64_C(4085284864),       // t2MSR_AR
    2782             :     UINT64_C(4085284864),       // t2MSR_M
    2783             :     UINT64_C(4085284896),       // t2MSRbanked
    2784             :     UINT64_C(4211142656),       // t2MUL
    2785             :     UINT64_C(0),
    2786             :     UINT64_C(4033806336),       // t2MVNi
    2787             :     UINT64_C(3933143040),       // t2MVNr
    2788             :     UINT64_C(3933143040),       // t2MVNs
    2789             :     UINT64_C(4032823296),       // t2ORNri
    2790             :     UINT64_C(3932160000),       // t2ORNrr
    2791             :     UINT64_C(3932160000),       // t2ORNrs
    2792             :     UINT64_C(4030726144),       // t2ORRri
    2793             :     UINT64_C(3930062848),       // t2ORRrr
    2794             :     UINT64_C(3930062848),       // t2ORRrs
    2795             :     UINT64_C(3938451456),       // t2PKHBT
    2796             :     UINT64_C(3938451488),       // t2PKHTB
    2797             :     UINT64_C(4172345344),       // t2PLDWi12
    2798             :     UINT64_C(4163959808),       // t2PLDWi8
    2799             :     UINT64_C(4163956736),       // t2PLDWs
    2800             :     UINT64_C(4170248192),       // t2PLDi12
    2801             :     UINT64_C(4161862656),       // t2PLDi8
    2802             :     UINT64_C(4162842624),       // t2PLDpci
    2803             :     UINT64_C(4161859584),       // t2PLDs
    2804             :     UINT64_C(4187025408),       // t2PLIi12
    2805             :     UINT64_C(4178639872),       // t2PLIi8
    2806             :     UINT64_C(4179619840),       // t2PLIpci
    2807             :     UINT64_C(4178636800),       // t2PLIs
    2808             :     UINT64_C(4202754176),       // t2QADD
    2809             :     UINT64_C(4203802640),       // t2QADD16
    2810             :     UINT64_C(4202754064),       // t2QADD8
    2811             :     UINT64_C(4204851216),       // t2QASX
    2812             :     UINT64_C(4202754192),       // t2QDADD
    2813             :     UINT64_C(4202754224),       // t2QDSUB
    2814             :     UINT64_C(4209045520),       // t2QSAX
    2815             :     UINT64_C(4202754208),       // t2QSUB
    2816             :     UINT64_C(4207996944),       // t2QSUB16
    2817             :     UINT64_C(4206948368),       // t2QSUB8
    2818             :     UINT64_C(4203802784),       // t2RBIT
    2819             :     UINT64_C(4203802752),       // t2REV
    2820             :     UINT64_C(4203802768),       // t2REV16
    2821             :     UINT64_C(4203802800),       // t2REVSH
    2822             :     UINT64_C(3893411840),       // t2RFEDB
    2823             :     UINT64_C(3895508992),       // t2RFEDBW
    2824             :     UINT64_C(3918577664),       // t2RFEIA
    2825             :     UINT64_C(3920674816),       // t2RFEIAW
    2826             :     UINT64_C(3931045936),       // t2RORri
    2827             :     UINT64_C(4200656896),       // t2RORrr
    2828             :     UINT64_C(3931045936),       // t2RRX
    2829             :     UINT64_C(0),
    2830             :     UINT64_C(0),
    2831             :     UINT64_C(4055891968),       // t2RSBri
    2832             :     UINT64_C(3955228672),       // t2RSBrr
    2833             :     UINT64_C(3955228672),       // t2RSBrs
    2834             :     UINT64_C(4203802624),       // t2SADD16
    2835             :     UINT64_C(4202754048),       // t2SADD8
    2836             :     UINT64_C(4204851200),       // t2SASX
    2837             :     UINT64_C(4049600512),       // t2SBCri
    2838             :     UINT64_C(3948937216),       // t2SBCrr
    2839             :     UINT64_C(3948937216),       // t2SBCrs
    2840             :     UINT64_C(4081057792),       // t2SBFX
    2841             :     UINT64_C(4220580080),       // t2SDIV
    2842             :     UINT64_C(4204851328),       // t2SEL
    2843             :     UINT64_C(46608),    // t2SETPAN
    2844             :     UINT64_C(3917474175),       // t2SG
    2845             :     UINT64_C(4203802656),       // t2SHADD16
    2846             :     UINT64_C(4202754080),       // t2SHADD8
    2847             :     UINT64_C(4204851232),       // t2SHASX
    2848             :     UINT64_C(4209045536),       // t2SHSAX
    2849             :     UINT64_C(4207996960),       // t2SHSUB16
    2850             :     UINT64_C(4206948384),       // t2SHSUB8
    2851             :     UINT64_C(4159733760),       // t2SMC
    2852             :     UINT64_C(4212129792),       // t2SMLABB
    2853             :     UINT64_C(4212129808),       // t2SMLABT
    2854             :     UINT64_C(4213178368),       // t2SMLAD
    2855             :     UINT64_C(4213178384),       // t2SMLADX
    2856             :     UINT64_C(4223664128),       // t2SMLAL
    2857             :     UINT64_C(4223664256),       // t2SMLALBB
    2858             :     UINT64_C(4223664272),       // t2SMLALBT
    2859             :     UINT64_C(4223664320),       // t2SMLALD
    2860             :     UINT64_C(4223664336),       // t2SMLALDX
    2861             :     UINT64_C(4223664288),       // t2SMLALTB
    2862             :     UINT64_C(4223664304),       // t2SMLALTT
    2863             :     UINT64_C(4212129824),       // t2SMLATB
    2864             :     UINT64_C(4212129840),       // t2SMLATT
    2865             :     UINT64_C(4214226944),       // t2SMLAWB
    2866             :     UINT64_C(4214226960),       // t2SMLAWT
    2867             :     UINT64_C(4215275520),       // t2SMLSD
    2868             :     UINT64_C(4215275536),       // t2SMLSDX
    2869             :     UINT64_C(4224712896),       // t2SMLSLD
    2870             :     UINT64_C(4224712912),       // t2SMLSLDX
    2871             :     UINT64_C(4216324096),       // t2SMMLA
    2872             :     UINT64_C(4216324112),       // t2SMMLAR
    2873             :     UINT64_C(4217372672),       // t2SMMLS
    2874             :     UINT64_C(4217372688),       // t2SMMLSR
    2875             :     UINT64_C(4216385536),       // t2SMMUL
    2876             :     UINT64_C(4216385552),       // t2SMMULR
    2877             :     UINT64_C(4213239808),       // t2SMUAD
    2878             :     UINT64_C(4213239824),       // t2SMUADX
    2879             :     UINT64_C(4212191232),       // t2SMULBB
    2880             :     UINT64_C(4212191248),       // t2SMULBT
    2881             :     UINT64_C(4219469824),       // t2SMULL
    2882             :     UINT64_C(4212191264),       // t2SMULTB
    2883             :     UINT64_C(4212191280),       // t2SMULTT
    2884             :     UINT64_C(4214288384),       // t2SMULWB
    2885             :     UINT64_C(4214288400),       // t2SMULWT
    2886             :     UINT64_C(4215336960),       // t2SMUSD
    2887             :     UINT64_C(4215336976),       // t2SMUSDX
    2888             :     UINT64_C(3893215232),       // t2SRSDB
    2889             :     UINT64_C(3895312384),       // t2SRSDB_UPD
    2890             :     UINT64_C(3918381056),       // t2SRSIA
    2891             :     UINT64_C(3920478208),       // t2SRSIA_UPD
    2892             :     UINT64_C(4076863488),       // t2SSAT
    2893             :     UINT64_C(4078960640),       // t2SSAT16
    2894             :     UINT64_C(4209045504),       // t2SSAX
    2895             :     UINT64_C(4207996928),       // t2SSUB16
    2896             :     UINT64_C(4206948352),       // t2SSUB8
    2897             :     UINT64_C(4248829952),       // t2STC2L_OFFSET
    2898             :     UINT64_C(4240441344),       // t2STC2L_OPTION
    2899             :     UINT64_C(4234149888),       // t2STC2L_POST
    2900             :     UINT64_C(4250927104),       // t2STC2L_PRE
    2901             :     UINT64_C(4244635648),       // t2STC2_OFFSET
    2902             :     UINT64_C(4236247040),       // t2STC2_OPTION
    2903             :     UINT64_C(4229955584),       // t2STC2_POST
    2904             :     UINT64_C(4246732800),       // t2STC2_PRE
    2905             :     UINT64_C(3980394496),       // t2STCL_OFFSET
    2906             :     UINT64_C(3972005888),       // t2STCL_OPTION
    2907             :     UINT64_C(3965714432),       // t2STCL_POST
    2908             :     UINT64_C(3982491648),       // t2STCL_PRE
    2909             :     UINT64_C(3976200192),       // t2STC_OFFSET
    2910             :     UINT64_C(3967811584),       // t2STC_OPTION
    2911             :     UINT64_C(3961520128),       // t2STC_POST
    2912             :     UINT64_C(3978297344),       // t2STC_PRE
    2913             :     UINT64_C(3904901039),       // t2STL
    2914             :     UINT64_C(3904901007),       // t2STLB
    2915             :     UINT64_C(3904901088),       // t2STLEX
    2916             :     UINT64_C(3904901056),       // t2STLEXB
    2917             :     UINT64_C(3904897264),       // t2STLEXD
    2918             :     UINT64_C(3904901072),       // t2STLEXH
    2919             :     UINT64_C(3904901023),       // t2STLH
    2920             :     UINT64_C(3909091328),       // t2STMDB
    2921             :     UINT64_C(3911188480),       // t2STMDB_UPD
    2922             :     UINT64_C(3900702720),       // t2STMIA
    2923             :     UINT64_C(3902799872),       // t2STMIA_UPD
    2924             :     UINT64_C(4160753152),       // t2STRBT
    2925             :     UINT64_C(4160751872),       // t2STRB_POST
    2926             :     UINT64_C(4160752896),       // t2STRB_PRE
    2927             :     UINT64_C(0),
    2928             :     UINT64_C(4169138176),       // t2STRBi12
    2929             :     UINT64_C(4160752640),       // t2STRBi8
    2930             :     UINT64_C(4160749568),       // t2STRBs
    2931             :     UINT64_C(3898605568),       // t2STRD_POST
    2932             :     UINT64_C(3915382784),       // t2STRD_PRE
    2933             :     UINT64_C(3913285632),       // t2STRDi8
    2934             :     UINT64_C(3896508416),       // t2STREX
    2935             :     UINT64_C(3904900928),       // t2STREXB
    2936             :     UINT64_C(3904897136),       // t2STREXD
    2937             :     UINT64_C(3904900944),       // t2STREXH
    2938             :     UINT64_C(4162850304),       // t2STRHT
    2939             :     UINT64_C(4162849024),       // t2STRH_POST
    2940             :     UINT64_C(4162850048),       // t2STRH_PRE
    2941             :     UINT64_C(0),
    2942             :     UINT64_C(4171235328),       // t2STRHi12
    2943             :     UINT64_C(4162849792),       // t2STRHi8
    2944             :     UINT64_C(4162846720),       // t2STRHs
    2945             :     UINT64_C(4164947456),       // t2STRT
    2946             :     UINT64_C(4164946176),       // t2STR_POST
    2947             :     UINT64_C(4164947200),       // t2STR_PRE
    2948             :     UINT64_C(0),
    2949             :     UINT64_C(4173332480),       // t2STRi12
    2950             :     UINT64_C(4164946944),       // t2STRi8
    2951             :     UINT64_C(4164943872),       // t2STRs
    2952             :     UINT64_C(4091449088),       // t2SUBS_PC_LR
    2953             :     UINT64_C(0),
    2954             :     UINT64_C(0),
    2955             :     UINT64_C(0),
    2956             :     UINT64_C(4053794816),       // t2SUBri
    2957             :     UINT64_C(4070572032),       // t2SUBri12
    2958             :     UINT64_C(3953131520),       // t2SUBrr
    2959             :     UINT64_C(3953131520),       // t2SUBrs
    2960             :     UINT64_C(4198559872),       // t2SXTAB
    2961             :     UINT64_C(4196462720),       // t2SXTAB16
    2962             :     UINT64_C(4194365568),       // t2SXTAH
    2963             :     UINT64_C(4199542912),       // t2SXTB
    2964             :     UINT64_C(4197445760),       // t2SXTB16
    2965             :     UINT64_C(4195348608),       // t2SXTH
    2966             :     UINT64_C(3906007040),       // t2TBB
    2967             :     UINT64_C(0),
    2968             :     UINT64_C(3906007056),       // t2TBH
    2969             :     UINT64_C(0),
    2970             :     UINT64_C(4035972864),       // t2TEQri
    2971             :     UINT64_C(3935309568),       // t2TEQrr
    2972             :     UINT64_C(3935309568),       // t2TEQrs
    2973             :     UINT64_C(4027584256),       // t2TSTri
    2974             :     UINT64_C(3926920960),       // t2TSTrr
    2975             :     UINT64_C(3926920960),       // t2TSTrs
    2976             :     UINT64_C(3896569856),       // t2TT
    2977             :     UINT64_C(3896569984),       // t2TTA
    2978             :     UINT64_C(3896570048),       // t2TTAT
    2979             :     UINT64_C(3896569920),       // t2TTT
    2980             :     UINT64_C(4203802688),       // t2UADD16
    2981             :     UINT64_C(4202754112),       // t2UADD8
    2982             :     UINT64_C(4204851264),       // t2UASX
    2983             :     UINT64_C(4089446400),       // t2UBFX
    2984             :     UINT64_C(4159741952),       // t2UDF
    2985             :     UINT64_C(4222677232),       // t2UDIV
    2986             :     UINT64_C(4203802720),       // t2UHADD16
    2987             :     UINT64_C(4202754144),       // t2UHADD8
    2988             :     UINT64_C(4204851296),       // t2UHASX
    2989             :     UINT64_C(4209045600),       // t2UHSAX
    2990             :     UINT64_C(4207997024),       // t2UHSUB16
    2991             :     UINT64_C(4206948448),       // t2UHSUB8
    2992             :     UINT64_C(4225761376),       // t2UMAAL
    2993             :     UINT64_C(4225761280),       // t2UMLAL
    2994             :     UINT64_C(4221566976),       // t2UMULL
    2995             :     UINT64_C(4203802704),       // t2UQADD16
    2996             :     UINT64_C(4202754128),       // t2UQADD8
    2997             :     UINT64_C(4204851280),       // t2UQASX
    2998             :     UINT64_C(4209045584),       // t2UQSAX
    2999             :     UINT64_C(4207997008),       // t2UQSUB16
    3000             :     UINT64_C(4206948432),       // t2UQSUB8
    3001             :     UINT64_C(4218482688),       // t2USAD8
    3002             :     UINT64_C(4218421248),       // t2USADA8
    3003             :     UINT64_C(4085252096),       // t2USAT
    3004             :     UINT64_C(4087349248),       // t2USAT16
    3005             :     UINT64_C(4209045568),       // t2USAX
    3006             :     UINT64_C(4207996992),       // t2USUB16
    3007             :     UINT64_C(4206948416),       // t2USUB8
    3008             :     UINT64_C(4199608448),       // t2UXTAB
    3009             :     UINT64_C(4197511296),       // t2UXTAB16
    3010             :     UINT64_C(4195414144),       // t2UXTAH
    3011             :     UINT64_C(4200591488),       // t2UXTB
    3012             :     UINT64_C(4198494336),       // t2UXTB16
    3013             :     UINT64_C(4196397184),       // t2UXTH
    3014             :     UINT64_C(16704),    // tADC
    3015             :     UINT64_C(0),
    3016             :     UINT64_C(0),
    3017             :     UINT64_C(0),
    3018             :     UINT64_C(0),
    3019             :     UINT64_C(0),
    3020             :     UINT64_C(17408),    // tADDhirr
    3021             :     UINT64_C(7168),     // tADDi3
    3022             :     UINT64_C(12288),    // tADDi8
    3023             :     UINT64_C(17512),    // tADDrSP
    3024             :     UINT64_C(43008),    // tADDrSPi
    3025             :     UINT64_C(6144),     // tADDrr
    3026             :     UINT64_C(45056),    // tADDspi
    3027             :     UINT64_C(17541),    // tADDspr
    3028             :     UINT64_C(0),
    3029             :     UINT64_C(0),
    3030             :     UINT64_C(40960),    // tADR
    3031             :     UINT64_C(16384),    // tAND
    3032             :     UINT64_C(4096),     // tASRri
    3033             :     UINT64_C(16640),    // tASRrr
    3034             :     UINT64_C(57344),    // tB
    3035             :     UINT64_C(17280),    // tBIC
    3036             :     UINT64_C(48640),    // tBKPT
    3037             :     UINT64_C(4026585088),       // tBL
    3038             :     UINT64_C(18308),    // tBLXNSr
    3039             :     UINT64_C(4026580992),       // tBLXi
    3040             :     UINT64_C(18304),    // tBLXr
    3041             :     UINT64_C(0),
    3042             :     UINT64_C(0),
    3043             :     UINT64_C(18176),    // tBX
    3044             :     UINT64_C(18180),    // tBXNS
    3045             :     UINT64_C(0),
    3046             :     UINT64_C(0),
    3047             :     UINT64_C(0),
    3048             :     UINT64_C(53248),    // tBcc
    3049             :     UINT64_C(0),
    3050             :     UINT64_C(47360),    // tCBNZ
    3051             :     UINT64_C(45312),    // tCBZ
    3052             :     UINT64_C(17088),    // tCMNz
    3053             :     UINT64_C(17664),    // tCMPhir
    3054             :     UINT64_C(10240),    // tCMPi8
    3055             :     UINT64_C(17024),    // tCMPr
    3056             :     UINT64_C(46688),    // tCPS
    3057             :     UINT64_C(16448),    // tEOR
    3058             :     UINT64_C(48896),    // tHINT
    3059             :     UINT64_C(47744),    // tHLT
    3060             :     UINT64_C(0),        // tInt_WIN_eh_sjlj_longjmp
    3061             :     UINT64_C(0),        // tInt_eh_sjlj_longjmp
    3062             :     UINT64_C(0),        // tInt_eh_sjlj_setjmp
    3063             :     UINT64_C(51200),    // tLDMIA
    3064             :     UINT64_C(0),
    3065             :     UINT64_C(30720),    // tLDRBi
    3066             :     UINT64_C(23552),    // tLDRBr
    3067             :     UINT64_C(0),
    3068             :     UINT64_C(34816),    // tLDRHi
    3069             :     UINT64_C(23040),    // tLDRHr
    3070             :     UINT64_C(0),
    3071             :     UINT64_C(0),
    3072             :     UINT64_C(22016),    // tLDRSB
    3073             :     UINT64_C(24064),    // tLDRSH
    3074             :     UINT64_C(0),
    3075             :     UINT64_C(26624),    // tLDRi
    3076             :     UINT64_C(18432),    // tLDRpci
    3077             :     UINT64_C(0),
    3078             :     UINT64_C(22528),    // tLDRr
    3079             :     UINT64_C(38912),    // tLDRspi
    3080             :     UINT64_C(0),
    3081             :     UINT64_C(0),
    3082             :     UINT64_C(0),        // tLSLri
    3083             :     UINT64_C(16512),    // tLSLrr
    3084             :     UINT64_C(2048),     // tLSRri
    3085             :     UINT64_C(16576),    // tLSRrr
    3086             :     UINT64_C(0),
    3087             :     UINT64_C(0),        // tMOVSr
    3088             :     UINT64_C(8192),     // tMOVi8
    3089             :     UINT64_C(17920),    // tMOVr
    3090             :     UINT64_C(17216),    // tMUL
    3091             :     UINT64_C(17344),    // tMVN
    3092             :     UINT64_C(17152),    // tORR
    3093             :     UINT64_C(17528),    // tPICADD
    3094             :     UINT64_C(48128),    // tPOP
    3095             :     UINT64_C(0),
    3096             :     UINT64_C(46080),    // tPUSH
    3097             :     UINT64_C(47616),    // tREV
    3098             :     UINT64_C(47680),    // tREV16
    3099             :     UINT64_C(47808),    // tREVSH
    3100             :     UINT64_C(16832),    // tROR
    3101             :     UINT64_C(16960),    // tRSB
    3102             :     UINT64_C(16768),    // tSBC
    3103             :     UINT64_C(0),
    3104             :     UINT64_C(46672),    // tSETEND
    3105             :     UINT64_C(49152),    // tSTMIA_UPD
    3106             :     UINT64_C(28672),    // tSTRBi
    3107             :     UINT64_C(21504),    // tSTRBr
    3108             :     UINT64_C(32768),    // tSTRHi
    3109             :     UINT64_C(20992),    // tSTRHr
    3110             :     UINT64_C(24576),    // tSTRi
    3111             :     UINT64_C(20480),    // tSTRr
    3112             :     UINT64_C(36864),    // tSTRspi
    3113             :     UINT64_C(0),
    3114             :     UINT64_C(0),
    3115             :     UINT64_C(0),
    3116             :     UINT64_C(7680),     // tSUBi3
    3117             :     UINT64_C(14336),    // tSUBi8
    3118             :     UINT64_C(6656),     // tSUBrr
    3119             :     UINT64_C(45184),    // tSUBspi
    3120             :     UINT64_C(57088),    // tSVC
    3121             :     UINT64_C(45632),    // tSXTB
    3122             :     UINT64_C(45568),    // tSXTH
    3123             :     UINT64_C(0),
    3124             :     UINT64_C(0),
    3125             :     UINT64_C(0),
    3126             :     UINT64_C(0),
    3127             :     UINT64_C(0),
    3128             :     UINT64_C(0),
    3129             :     UINT64_C(57086),    // tTRAP
    3130             :     UINT64_C(16896),    // tTST
    3131             :     UINT64_C(56832),    // tUDF
    3132             :     UINT64_C(45760),    // tUXTB
    3133             :     UINT64_C(45696),    // tUXTH
    3134             :     UINT64_C(57081),    // t__brkdiv0
    3135             :     UINT64_C(0)
    3136             :   };
    3137       40637 :   const unsigned opcode = MI.getOpcode();
    3138       40637 :   uint64_t Value = InstBits[opcode];
    3139       40637 :   uint64_t op = 0;
    3140             :   (void)op;  // suppress warning
    3141       40637 :   switch (opcode) {
    3142             :     case ARM::CLREX:
    3143             :     case ARM::TRAP:
    3144             :     case ARM::TRAPNaCl:
    3145             :     case ARM::VLD1LNq16Pseudo:
    3146             :     case ARM::VLD1LNq16Pseudo_UPD:
    3147             :     case ARM::VLD1LNq32Pseudo:
    3148             :     case ARM::VLD1LNq32Pseudo_UPD:
    3149             :     case ARM::VLD1LNq8Pseudo:
    3150             :     case ARM::VLD1LNq8Pseudo_UPD:
    3151             :     case ARM::VLD1d64QPseudo:
    3152             :     case ARM::VLD1d64QPseudoWB_fixed:
    3153             :     case ARM::VLD1d64QPseudoWB_register:
    3154             :     case ARM::VLD1d64TPseudo:
    3155             :     case ARM::VLD1d64TPseudoWB_fixed:
    3156             :     case ARM::VLD1d64TPseudoWB_register:
    3157             :     case ARM::VLD2LNd16Pseudo:
    3158             :     case ARM::VLD2LNd16Pseudo_UPD:
    3159             :     case ARM::VLD2LNd32Pseudo:
    3160             :     case ARM::VLD2LNd32Pseudo_UPD:
    3161             :     case ARM::VLD2LNd8Pseudo:
    3162             :     case ARM::VLD2LNd8Pseudo_UPD:
    3163             :     case ARM::VLD2LNq16Pseudo:
    3164             :     case ARM::VLD2LNq16Pseudo_UPD:
    3165             :     case ARM::VLD2LNq32Pseudo:
    3166             :     case ARM::VLD2LNq32Pseudo_UPD:
    3167             :     case ARM::VLD2q16Pseudo:
    3168             :     case ARM::VLD2q16PseudoWB_fixed:
    3169             :     case ARM::VLD2q16PseudoWB_register:
    3170             :     case ARM::VLD2q32Pseudo:
    3171             :     case ARM::VLD2q32PseudoWB_fixed:
    3172             :     case ARM::VLD2q32PseudoWB_register:
    3173             :     case ARM::VLD2q8Pseudo:
    3174             :     case ARM::VLD2q8PseudoWB_fixed:
    3175             :     case ARM::VLD2q8PseudoWB_register:
    3176             :     case ARM::VLD3DUPd16Pseudo:
    3177             :     case ARM::VLD3DUPd16Pseudo_UPD:
    3178             :     case ARM::VLD3DUPd32Pseudo:
    3179             :     case ARM::VLD3DUPd32Pseudo_UPD:
    3180             :     case ARM::VLD3DUPd8Pseudo:
    3181             :     case ARM::VLD3DUPd8Pseudo_UPD:
    3182             :     case ARM::VLD3LNd16Pseudo:
    3183             :     case ARM::VLD3LNd16Pseudo_UPD:
    3184             :     case ARM::VLD3LNd32Pseudo:
    3185             :     case ARM::VLD3LNd32Pseudo_UPD:
    3186             :     case ARM::VLD3LNd8Pseudo:
    3187             :     case ARM::VLD3LNd8Pseudo_UPD:
    3188             :     case ARM::VLD3LNq16Pseudo:
    3189             :     case ARM::VLD3LNq16Pseudo_UPD:
    3190             :     case ARM::VLD3LNq32Pseudo:
    3191             :     case ARM::VLD3LNq32Pseudo_UPD:
    3192             :     case ARM::VLD3d16Pseudo:
    3193             :     case ARM::VLD3d16Pseudo_UPD:
    3194             :     case ARM::VLD3d32Pseudo:
    3195             :     case ARM::VLD3d32Pseudo_UPD:
    3196             :     case ARM::VLD3d8Pseudo:
    3197             :     case ARM::VLD3d8Pseudo_UPD:
    3198             :     case ARM::VLD3q16Pseudo_UPD:
    3199             :     case ARM::VLD3q16oddPseudo:
    3200             :     case ARM::VLD3q16oddPseudo_UPD:
    3201             :     case ARM::VLD3q32Pseudo_UPD:
    3202             :     case ARM::VLD3q32oddPseudo:
    3203             :     case ARM::VLD3q32oddPseudo_UPD:
    3204             :     case ARM::VLD3q8Pseudo_UPD:
    3205             :     case ARM::VLD3q8oddPseudo:
    3206             :     case ARM::VLD3q8oddPseudo_UPD:
    3207             :     case ARM::VLD4DUPd16Pseudo:
    3208             :     case ARM::VLD4DUPd16Pseudo_UPD:
    3209             :     case ARM::VLD4DUPd32Pseudo:
    3210             :     case ARM::VLD4DUPd32Pseudo_UPD:
    3211             :     case ARM::VLD4DUPd8Pseudo:
    3212             :     case ARM::VLD4DUPd8Pseudo_UPD:
    3213             :     case ARM::VLD4LNd16Pseudo:
    3214             :     case ARM::VLD4LNd16Pseudo_UPD:
    3215             :     case ARM::VLD4LNd32Pseudo:
    3216             :     case ARM::VLD4LNd32Pseudo_UPD:
    3217             :     case ARM::VLD4LNd8Pseudo:
    3218             :     case ARM::VLD4LNd8Pseudo_UPD:
    3219             :     case ARM::VLD4LNq16Pseudo:
    3220             :     case ARM::VLD4LNq16Pseudo_UPD:
    3221             :     case ARM::VLD4LNq32Pseudo:
    3222             :     case ARM::VLD4LNq32Pseudo_UPD:
    3223             :     case ARM::VLD4d16Pseudo:
    3224             :     case ARM::VLD4d16Pseudo_UPD:
    3225             :     case ARM::VLD4d32Pseudo:
    3226             :     case ARM::VLD4d32Pseudo_UPD:
    3227             :     case ARM::VLD4d8Pseudo:
    3228             :     case ARM::VLD4d8Pseudo_UPD:
    3229             :     case ARM::VLD4q16Pseudo_UPD:
    3230             :     case ARM::VLD4q16oddPseudo:
    3231             :     case ARM::VLD4q16oddPseudo_UPD:
    3232             :     case ARM::VLD4q32Pseudo_UPD:
    3233             :     case ARM::VLD4q32oddPseudo:
    3234             :     case ARM::VLD4q32oddPseudo_UPD:
    3235             :     case ARM::VLD4q8Pseudo_UPD:
    3236             :     case ARM::VLD4q8oddPseudo:
    3237             :     case ARM::VLD4q8oddPseudo_UPD:
    3238             :     case ARM::VLDMQIA:
    3239             :     case ARM::VST1LNq16Pseudo:
    3240             :     case ARM::VST1LNq16Pseudo_UPD:
    3241             :     case ARM::VST1LNq32Pseudo:
    3242             :     case ARM::VST1LNq32Pseudo_UPD:
    3243             :     case ARM::VST1LNq8Pseudo:
    3244             :     case ARM::VST1LNq8Pseudo_UPD:
    3245             :     case ARM::VST1d64QPseudo:
    3246             :     case ARM::VST1d64QPseudoWB_fixed:
    3247             :     case ARM::VST1d64QPseudoWB_register:
    3248             :     case ARM::VST1d64TPseudo:
    3249             :     case ARM::VST1d64TPseudoWB_fixed:
    3250             :     case ARM::VST1d64TPseudoWB_register:
    3251             :     case ARM::VST2LNd16Pseudo:
    3252             :     case ARM::VST2LNd16Pseudo_UPD:
    3253             :     case ARM::VST2LNd32Pseudo:
    3254             :     case ARM::VST2LNd32Pseudo_UPD:
    3255             :     case ARM::VST2LNd8Pseudo:
    3256             :     case ARM::VST2LNd8Pseudo_UPD:
    3257             :     case ARM::VST2LNq16Pseudo:
    3258             :     case ARM::VST2LNq16Pseudo_UPD:
    3259             :     case ARM::VST2LNq32Pseudo:
    3260             :     case ARM::VST2LNq32Pseudo_UPD:
    3261             :     case ARM::VST2q16Pseudo:
    3262             :     case ARM::VST2q16PseudoWB_fixed:
    3263             :     case ARM::VST2q16PseudoWB_register:
    3264             :     case ARM::VST2q32Pseudo:
    3265             :     case ARM::VST2q32PseudoWB_fixed:
    3266             :     case ARM::VST2q32PseudoWB_register:
    3267             :     case ARM::VST2q8Pseudo:
    3268             :     case ARM::VST2q8PseudoWB_fixed:
    3269             :     case ARM::VST2q8PseudoWB_register:
    3270             :     case ARM::VST3LNd16Pseudo:
    3271             :     case ARM::VST3LNd16Pseudo_UPD:
    3272             :     case ARM::VST3LNd32Pseudo:
    3273             :     case ARM::VST3LNd32Pseudo_UPD:
    3274             :     case ARM::VST3LNd8Pseudo:
    3275             :     case ARM::VST3LNd8Pseudo_UPD:
    3276             :     case ARM::VST3LNq16Pseudo:
    3277             :     case ARM::VST3LNq16Pseudo_UPD:
    3278             :     case ARM::VST3LNq32Pseudo:
    3279             :     case ARM::VST3LNq32Pseudo_UPD:
    3280             :     case ARM::VST3d16Pseudo:
    3281             :     case ARM::VST3d16Pseudo_UPD:
    3282             :     case ARM::VST3d32Pseudo:
    3283             :     case ARM::VST3d32Pseudo_UPD:
    3284             :     case ARM::VST3d8Pseudo:
    3285             :     case ARM::VST3d8Pseudo_UPD:
    3286             :     case ARM::VST3q16Pseudo_UPD:
    3287             :     case ARM::VST3q16oddPseudo:
    3288             :     case ARM::VST3q16oddPseudo_UPD:
    3289             :     case ARM::VST3q32Pseudo_UPD:
    3290             :     case ARM::VST3q32oddPseudo:
    3291             :     case ARM::VST3q32oddPseudo_UPD:
    3292             :     case ARM::VST3q8Pseudo_UPD:
    3293             :     case ARM::VST3q8oddPseudo:
    3294             :     case ARM::VST3q8oddPseudo_UPD:
    3295             :     case ARM::VST4LNd16Pseudo:
    3296             :     case ARM::VST4LNd16Pseudo_UPD:
    3297             :     case ARM::VST4LNd32Pseudo:
    3298             :     case ARM::VST4LNd32Pseudo_UPD:
    3299             :     case ARM::VST4LNd8Pseudo:
    3300             :     case ARM::VST4LNd8Pseudo_UPD:
    3301             :     case ARM::VST4LNq16Pseudo:
    3302             :     case ARM::VST4LNq16Pseudo_UPD:
    3303             :     case ARM::VST4LNq32Pseudo:
    3304             :     case ARM::VST4LNq32Pseudo_UPD:
    3305             :     case ARM::VST4d16Pseudo:
    3306             :     case ARM::VST4d16Pseudo_UPD:
    3307             :     case ARM::VST4d32Pseudo:
    3308             :     case ARM::VST4d32Pseudo_UPD:
    3309             :     case ARM::VST4d8Pseudo:
    3310             :     case ARM::VST4d8Pseudo_UPD:
    3311             :     case ARM::VST4q16Pseudo_UPD:
    3312             :     case ARM::VST4q16oddPseudo:
    3313             :     case ARM::VST4q16oddPseudo_UPD:
    3314             :     case ARM::VST4q32Pseudo_UPD:
    3315             :     case ARM::VST4q32oddPseudo:
    3316             :     case ARM::VST4q32oddPseudo_UPD:
    3317             :     case ARM::VST4q8Pseudo_UPD:
    3318             :     case ARM::VST4q8oddPseudo:
    3319             :     case ARM::VST4q8oddPseudo_UPD:
    3320             :     case ARM::VSTMQIA:
    3321             :     case ARM::VTBL3Pseudo:
    3322             :     case ARM::VTBL4Pseudo:
    3323             :     case ARM::VTBX3Pseudo:
    3324             :     case ARM::VTBX4Pseudo:
    3325             :     case ARM::t2CLREX:
    3326             :     case ARM::t2DCPS1:
    3327             :     case ARM::t2DCPS2:
    3328             :     case ARM::t2DCPS3:
    3329             :     case ARM::t2Int_eh_sjlj_setjmp:
    3330             :     case ARM::t2Int_eh_sjlj_setjmp_nofp:
    3331             :     case ARM::t2SG:
    3332             :     case ARM::tInt_WIN_eh_sjlj_longjmp:
    3333             :     case ARM::tInt_eh_sjlj_longjmp:
    3334             :     case ARM::tInt_eh_sjlj_setjmp:
    3335             :     case ARM::tTRAP:
    3336             :     case ARM::t__brkdiv0: {
    3337             :       break;
    3338             :     }
    3339          16 :     case ARM::VRINTAD:
    3340             :     case ARM::VRINTMD:
    3341             :     case ARM::VRINTND:
    3342             :     case ARM::VRINTPD: {
    3343             :       // op: Dd
    3344          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3345          16 :       Value |= (op & UINT64_C(16)) << 18;
    3346          16 :       Value |= (op & UINT64_C(15)) << 12;
    3347             :       // op: Dm
    3348          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3349          16 :       Value |= (op & UINT64_C(16)) << 1;
    3350          16 :       Value |= op & UINT64_C(15);
    3351          16 :       break;
    3352             :     }
    3353          24 :     case ARM::VMAXNMD:
    3354             :     case ARM::VMINNMD:
    3355             :     case ARM::VSELEQD:
    3356             :     case ARM::VSELGED:
    3357             :     case ARM::VSELGTD:
    3358             :     case ARM::VSELVSD: {
    3359             :       // op: Dd
    3360          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3361          24 :       Value |= (op & UINT64_C(16)) << 18;
    3362          24 :       Value |= (op & UINT64_C(15)) << 12;
    3363             :       // op: Dn
    3364          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3365          24 :       Value |= (op & UINT64_C(15)) << 16;
    3366          24 :       Value |= (op & UINT64_C(16)) << 3;
    3367             :       // op: Dm
    3368          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3369          24 :       Value |= (op & UINT64_C(16)) << 1;
    3370          24 :       Value |= op & UINT64_C(15);
    3371          24 :       break;
    3372             :     }
    3373           6 :     case ARM::CRC32B:
    3374             :     case ARM::CRC32CB:
    3375             :     case ARM::CRC32CH:
    3376             :     case ARM::CRC32CW:
    3377             :     case ARM::CRC32H:
    3378             :     case ARM::CRC32W: {
    3379             :       // op: Rd
    3380           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3381           6 :       Value |= (op & UINT64_C(15)) << 12;
    3382             :       // op: Rn
    3383           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3384           6 :       Value |= (op & UINT64_C(15)) << 16;
    3385             :       // op: Rm
    3386           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3387           6 :       Value |= op & UINT64_C(15);
    3388           6 :       break;
    3389             :     }
    3390           7 :     case ARM::t2MRS_AR:
    3391             :     case ARM::t2MRSsys_AR: {
    3392             :       // op: Rd
    3393           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3394           7 :       Value |= (op & UINT64_C(15)) << 8;
    3395           7 :       break;
    3396             :     }
    3397          31 :     case ARM::t2CLZ:
    3398             :     case ARM::t2RBIT:
    3399             :     case ARM::t2REV:
    3400             :     case ARM::t2REV16:
    3401             :     case ARM::t2REVSH: {
    3402             :       // op: Rd
    3403          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3404          31 :       Value |= (op & UINT64_C(15)) << 8;
    3405             :       // op: Rm
    3406          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3407          31 :       Value |= (op & UINT64_C(15)) << 16;
    3408          31 :       Value |= op & UINT64_C(15);
    3409          31 :       break;
    3410             :     }
    3411           0 :     case ARM::t2MOVsra_flag:
    3412             :     case ARM::t2MOVsrl_flag: {
    3413             :       // op: Rd
    3414           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3415           0 :       Value |= (op & UINT64_C(15)) << 8;
    3416             :       // op: Rm
    3417           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3418           0 :       Value |= op & UINT64_C(15);
    3419           0 :       break;
    3420             :     }
    3421          88 :     case ARM::t2SXTB:
    3422             :     case ARM::t2SXTB16:
    3423             :     case ARM::t2SXTH:
    3424             :     case ARM::t2UXTB:
    3425             :     case ARM::t2UXTB16:
    3426             :     case ARM::t2UXTH: {
    3427             :       // op: Rd
    3428          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3429          88 :       Value |= (op & UINT64_C(15)) << 8;
    3430             :       // op: Rm
    3431          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3432          88 :       Value |= op & UINT64_C(15);
    3433             :       // op: rot
    3434          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3435          88 :       Value |= (op & UINT64_C(3)) << 4;
    3436          88 :       break;
    3437             :     }
    3438         276 :     case ARM::t2CRC32B:
    3439             :     case ARM::t2CRC32CB:
    3440             :     case ARM::t2CRC32CH:
    3441             :     case ARM::t2CRC32CW:
    3442             :     case ARM::t2CRC32H:
    3443             :     case ARM::t2CRC32W:
    3444             :     case ARM::t2MUL:
    3445             :     case ARM::t2QADD16:
    3446             :     case ARM::t2QADD8:
    3447             :     case ARM::t2QASX:
    3448             :     case ARM::t2QSAX:
    3449             :     case ARM::t2QSUB16:
    3450             :     case ARM::t2QSUB8:
    3451             :     case ARM::t2SADD16:
    3452             :     case ARM::t2SADD8:
    3453             :     case ARM::t2SASX:
    3454             :     case ARM::t2SDIV:
    3455             :     case ARM::t2SEL:
    3456             :     case ARM::t2SHADD16:
    3457             :     case ARM::t2SHADD8:
    3458             :     case ARM::t2SHASX:
    3459             :     case ARM::t2SHSAX:
    3460             :     case ARM::t2SHSUB16:
    3461             :     case ARM::t2SHSUB8:
    3462             :     case ARM::t2SMMUL:
    3463             :     case ARM::t2SMMULR:
    3464             :     case ARM::t2SMUAD:
    3465             :     case ARM::t2SMUADX:
    3466             :     case ARM::t2SMULBB:
    3467             :     case ARM::t2SMULBT:
    3468             :     case ARM::t2SMULTB:
    3469             :     case ARM::t2SMULTT:
    3470             :     case ARM::t2SMULWB:
    3471             :     case ARM::t2SMULWT:
    3472             :     case ARM::t2SMUSD:
    3473             :     case ARM::t2SMUSDX:
    3474             :     case ARM::t2SSAX:
    3475             :     case ARM::t2SSUB16:
    3476             :     case ARM::t2SSUB8:
    3477             :     case ARM::t2UADD16:
    3478             :     case ARM::t2UADD8:
    3479             :     case ARM::t2UASX:
    3480             :     case ARM::t2UDIV:
    3481             :     case ARM::t2UHADD16:
    3482             :     case ARM::t2UHADD8:
    3483             :     case ARM::t2UHASX:
    3484             :     case ARM::t2UHSAX:
    3485             :     case ARM::t2UHSUB16:
    3486             :     case ARM::t2UHSUB8:
    3487             :     case ARM::t2UQADD16:
    3488             :     case ARM::t2UQADD8:
    3489             :     case ARM::t2UQASX:
    3490             :     case ARM::t2UQSAX:
    3491             :     case ARM::t2UQSUB16:
    3492             :     case ARM::t2UQSUB8:
    3493             :     case ARM::t2USAD8:
    3494             :     case ARM::t2USAX:
    3495             :     case ARM::t2USUB16:
    3496             :     case ARM::t2USUB8: {
    3497             :       // op: Rd
    3498         276 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3499         276 :       Value |= (op & UINT64_C(15)) << 8;
    3500             :       // op: Rn
    3501         276 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3502         276 :       Value |= (op & UINT64_C(15)) << 16;
    3503             :       // op: Rm
    3504         276 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3505         276 :       Value |= op & UINT64_C(15);
    3506         276 :       break;
    3507             :     }
    3508          78 :     case ARM::t2MLA:
    3509             :     case ARM::t2MLS:
    3510             :     case ARM::t2SMLABB:
    3511             :     case ARM::t2SMLABT:
    3512             :     case ARM::t2SMLAD:
    3513             :     case ARM::t2SMLADX:
    3514             :     case ARM::t2SMLATB:
    3515             :     case ARM::t2SMLATT:
    3516             :     case ARM::t2SMLAWB:
    3517             :     case ARM::t2SMLAWT:
    3518             :     case ARM::t2SMLSD:
    3519             :     case ARM::t2SMLSDX:
    3520             :     case ARM::t2SMMLA:
    3521             :     case ARM::t2SMMLAR:
    3522             :     case ARM::t2SMMLS:
    3523             :     case ARM::t2SMMLSR:
    3524             :     case ARM::t2USADA8: {
    3525             :       // op: Rd
    3526          78 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3527          78 :       Value |= (op & UINT64_C(15)) << 8;
    3528             :       // op: Rn
    3529          78 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3530          78 :       Value |= (op & UINT64_C(15)) << 16;
    3531             :       // op: Rm
    3532          78 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3533          78 :       Value |= op & UINT64_C(15);
    3534             :       // op: Ra
    3535          78 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3536          78 :       Value |= (op & UINT64_C(15)) << 12;
    3537          78 :       break;
    3538             :     }
    3539          67 :     case ARM::t2SXTAB:
    3540             :     case ARM::t2SXTAB16:
    3541             :     case ARM::t2SXTAH:
    3542             :     case ARM::t2UXTAB:
    3543             :     case ARM::t2UXTAB16:
    3544             :     case ARM::t2UXTAH: {
    3545             :       // op: Rd
    3546          67 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3547          67 :       Value |= (op & UINT64_C(15)) << 8;
    3548             :       // op: Rn
    3549          67 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3550          67 :       Value |= (op & UINT64_C(15)) << 16;
    3551             :       // op: Rm
    3552          67 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3553          67 :       Value |= op & UINT64_C(15);
    3554             :       // op: rot
    3555          67 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3556          67 :       Value |= (op & UINT64_C(3)) << 4;
    3557          67 :       break;
    3558             :     }
    3559          18 :     case ARM::t2PKHBT:
    3560             :     case ARM::t2PKHTB: {
    3561             :       // op: Rd
    3562          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3563          18 :       Value |= (op & UINT64_C(15)) << 8;
    3564             :       // op: Rn
    3565          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3566          18 :       Value |= (op & UINT64_C(15)) << 16;
    3567             :       // op: Rm
    3568          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3569          18 :       Value |= op & UINT64_C(15);
    3570             :       // op: sh
    3571          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3572          18 :       Value |= (op & UINT64_C(28)) << 10;
    3573          18 :       Value |= (op & UINT64_C(3)) << 6;
    3574          18 :       break;
    3575             :     }
    3576         380 :     case ARM::t2ADDri12:
    3577             :     case ARM::t2SUBri12: {
    3578             :       // op: Rd
    3579         380 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3580         380 :       Value |= (op & UINT64_C(15)) << 8;
    3581             :       // op: Rn
    3582         380 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3583         380 :       Value |= (op & UINT64_C(15)) << 16;
    3584             :       // op: imm
    3585         380 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3586         380 :       Value |= (op & UINT64_C(2048)) << 15;
    3587         380 :       Value |= (op & UINT64_C(1792)) << 4;
    3588         380 :       Value |= op & UINT64_C(255);
    3589         380 :       break;
    3590             :     }
    3591          16 :     case ARM::t2QADD:
    3592             :     case ARM::t2QDADD:
    3593             :     case ARM::t2QDSUB:
    3594             :     case ARM::t2QSUB: {
    3595             :       // op: Rd
    3596          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3597          16 :       Value |= (op & UINT64_C(15)) << 8;
    3598             :       // op: Rn
    3599          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3600          16 :       Value |= (op & UINT64_C(15)) << 16;
    3601             :       // op: Rm
    3602          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3603          16 :       Value |= op & UINT64_C(15);
    3604          16 :       break;
    3605             :     }
    3606          18 :     case ARM::t2BFI: {
    3607             :       // op: Rd
    3608          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3609          18 :       Value |= (op & UINT64_C(15)) << 8;
    3610             :       // op: Rn
    3611          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3612          18 :       Value |= (op & UINT64_C(15)) << 16;
    3613             :       // op: imm
    3614          36 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    3615          18 :       Value |= (op & UINT64_C(28)) << 10;
    3616          18 :       Value |= (op & UINT64_C(3)) << 6;
    3617          18 :       Value |= (op & UINT64_C(992)) >> 5;
    3618          18 :       break;
    3619             :     }
    3620           8 :     case ARM::t2SSAT16:
    3621             :     case ARM::t2USAT16: {
    3622             :       // op: Rd
    3623           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3624           8 :       Value |= (op & UINT64_C(15)) << 8;
    3625             :       // op: Rn
    3626           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3627           8 :       Value |= (op & UINT64_C(15)) << 16;
    3628             :       // op: sat_imm
    3629           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3630           8 :       Value |= op & UINT64_C(15);
    3631           8 :       break;
    3632             :     }
    3633          72 :     case ARM::t2SSAT:
    3634             :     case ARM::t2USAT: {
    3635             :       // op: Rd
    3636          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3637          72 :       Value |= (op & UINT64_C(15)) << 8;
    3638             :       // op: Rn
    3639          72 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3640          72 :       Value |= (op & UINT64_C(15)) << 16;
    3641             :       // op: sat_imm
    3642          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3643          72 :       Value |= op & UINT64_C(31);
    3644             :       // op: sh
    3645          72 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3646          72 :       Value |= (op & UINT64_C(32)) << 16;
    3647          72 :       Value |= (op & UINT64_C(28)) << 10;
    3648          72 :       Value |= (op & UINT64_C(3)) << 6;
    3649          72 :       break;
    3650             :     }
    3651          25 :     case ARM::t2STREX: {
    3652             :       // op: Rd
    3653          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3654          25 :       Value |= (op & UINT64_C(15)) << 8;
    3655             :       // op: Rt
    3656          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3657          25 :       Value |= (op & UINT64_C(15)) << 12;
    3658             :       // op: addr
    3659          50 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 2, Fixups, STI);
    3660          25 :       Value |= (op & UINT64_C(3840)) << 8;
    3661          25 :       Value |= op & UINT64_C(255);
    3662          25 :       break;
    3663             :     }
    3664          60 :     case ARM::t2MRS_M: {
    3665             :       // op: Rd
    3666          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3667          60 :       Value |= (op & UINT64_C(15)) << 8;
    3668             :       // op: SYSm
    3669          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3670          60 :       Value |= op & UINT64_C(255);
    3671          60 :       break;
    3672             :     }
    3673          12 :     case ARM::t2ADR: {
    3674             :       // op: Rd
    3675          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3676          12 :       Value |= (op & UINT64_C(15)) << 8;
    3677             :       // op: addr
    3678          12 :       op = getT2AdrLabelOpValue(MI, 1, Fixups, STI);
    3679          12 :       Value |= (op & UINT64_C(2048)) << 15;
    3680          12 :       Value |= (op & UINT64_C(4096)) << 11;
    3681          12 :       Value |= (op & UINT64_C(4096)) << 9;
    3682          12 :       Value |= (op & UINT64_C(1792)) << 4;
    3683          12 :       Value |= op & UINT64_C(255);
    3684          12 :       break;
    3685             :     }
    3686          20 :     case ARM::t2BFC: {
    3687             :       // op: Rd
    3688          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3689          20 :       Value |= (op & UINT64_C(15)) << 8;
    3690             :       // op: imm
    3691          40 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    3692          20 :       Value |= (op & UINT64_C(28)) << 10;
    3693          20 :       Value |= (op & UINT64_C(3)) << 6;
    3694          20 :       Value |= (op & UINT64_C(992)) >> 5;
    3695          20 :       break;
    3696             :     }
    3697         328 :     case ARM::t2MOVi16: {
    3698             :       // op: Rd
    3699         328 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3700         328 :       Value |= (op & UINT64_C(15)) << 8;
    3701             :       // op: imm
    3702         328 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    3703         328 :       Value |= (op & UINT64_C(2048)) << 15;
    3704         328 :       Value |= (op & UINT64_C(61440)) << 4;
    3705         328 :       Value |= (op & UINT64_C(1792)) << 4;
    3706         328 :       Value |= op & UINT64_C(255);
    3707         328 :       break;
    3708             :     }
    3709         257 :     case ARM::t2MOVTi16: {
    3710             :       // op: Rd
    3711         257 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3712         257 :       Value |= (op & UINT64_C(15)) << 8;
    3713             :       // op: imm
    3714         257 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    3715         257 :       Value |= (op & UINT64_C(2048)) << 15;
    3716         257 :       Value |= (op & UINT64_C(61440)) << 4;
    3717         257 :       Value |= (op & UINT64_C(1792)) << 4;
    3718         257 :       Value |= op & UINT64_C(255);
    3719         257 :       break;
    3720             :     }
    3721          64 :     case ARM::t2SBFX:
    3722             :     case ARM::t2UBFX: {
    3723             :       // op: Rd
    3724          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3725          64 :       Value |= (op & UINT64_C(15)) << 8;
    3726             :       // op: msb
    3727          64 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3728          64 :       Value |= op & UINT64_C(31);
    3729             :       // op: lsb
    3730          64 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3731          64 :       Value |= (op & UINT64_C(28)) << 10;
    3732          64 :       Value |= (op & UINT64_C(3)) << 6;
    3733             :       // op: Rn
    3734          64 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3735          64 :       Value |= (op & UINT64_C(15)) << 16;
    3736          64 :       break;
    3737             :     }
    3738          26 :     case ARM::tADR: {
    3739             :       // op: Rd
    3740          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3741          26 :       Value |= (op & UINT64_C(7)) << 8;
    3742             :       // op: addr
    3743          52 :       op = getThumbAdrLabelOpValue(MI, 1, Fixups, STI);
    3744          26 :       Value |= op & UINT64_C(255);
    3745          26 :       break;
    3746             :     }
    3747         311 :     case ARM::tMOVi8: {
    3748             :       // op: Rd
    3749         311 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3750         311 :       Value |= (op & UINT64_C(7)) << 8;
    3751             :       // op: imm8
    3752         311 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3753         311 :       Value |= op & UINT64_C(255);
    3754         311 :       break;
    3755             :     }
    3756         906 :     case ARM::tMOVr: {
    3757             :       // op: Rd
    3758         906 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3759         906 :       Value |= (op & UINT64_C(8)) << 4;
    3760         906 :       Value |= op & UINT64_C(7);
    3761             :       // op: Rm
    3762         906 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3763         906 :       Value |= (op & UINT64_C(15)) << 3;
    3764         906 :       break;
    3765             :     }
    3766           5 :     case ARM::t2STLEX: {
    3767             :       // op: Rd
    3768           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3769           5 :       Value |= op & UINT64_C(15);
    3770             :       // op: Rt
    3771           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3772           5 :       Value |= (op & UINT64_C(15)) << 12;
    3773             :       // op: addr
    3774           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3775           5 :       Value |= (op & UINT64_C(15)) << 16;
    3776           5 :       break;
    3777             :     }
    3778          20 :     case ARM::t2STLEXB:
    3779             :     case ARM::t2STLEXH:
    3780             :     case ARM::t2STREXB:
    3781             :     case ARM::t2STREXH: {
    3782             :       // op: Rd
    3783          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3784          20 :       Value |= op & UINT64_C(15);
    3785             :       // op: addr
    3786          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3787          20 :       Value |= (op & UINT64_C(15)) << 16;
    3788             :       // op: Rt
    3789          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3790          20 :       Value |= (op & UINT64_C(15)) << 12;
    3791          20 :       break;
    3792             :     }
    3793           8 :     case ARM::t2STLEXD:
    3794             :     case ARM::t2STREXD: {
    3795             :       // op: Rd
    3796           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3797           8 :       Value |= op & UINT64_C(15);
    3798             :       // op: addr
    3799           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3800           8 :       Value |= (op & UINT64_C(15)) << 16;
    3801             :       // op: Rt
    3802           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3803           8 :       Value |= (op & UINT64_C(15)) << 12;
    3804             :       // op: Rt2
    3805           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3806           8 :       Value |= (op & UINT64_C(15)) << 8;
    3807           8 :       break;
    3808             :     }
    3809          19 :     case ARM::tMOVSr: {
    3810             :       // op: Rd
    3811          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3812          19 :       Value |= op & UINT64_C(7);
    3813             :       // op: Rm
    3814          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3815          19 :       Value |= (op & UINT64_C(7)) << 3;
    3816          19 :       break;
    3817             :     }
    3818          45 :     case ARM::tADDi3:
    3819             :     case ARM::tSUBi3: {
    3820             :       // op: Rd
    3821          45 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3822          45 :       Value |= op & UINT64_C(7);
    3823             :       // op: Rm
    3824          45 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3825          45 :       Value |= (op & UINT64_C(7)) << 3;
    3826             :       // op: imm3
    3827          45 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3828          45 :       Value |= (op & UINT64_C(7)) << 6;
    3829          45 :       break;
    3830             :     }
    3831          86 :     case ARM::tASRri:
    3832             :     case ARM::tLSLri:
    3833             :     case ARM::tLSRri: {
    3834             :       // op: Rd
    3835          86 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3836          86 :       Value |= op & UINT64_C(7);
    3837             :       // op: Rm
    3838          86 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3839          86 :       Value |= (op & UINT64_C(7)) << 3;
    3840             :       // op: imm5
    3841          86 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3842          86 :       Value |= (op & UINT64_C(31)) << 6;
    3843          86 :       break;
    3844             :     }
    3845          44 :     case ARM::tMUL:
    3846             :     case ARM::tMVN:
    3847             :     case ARM::tRSB: {
    3848             :       // op: Rd
    3849          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3850          44 :       Value |= op & UINT64_C(7);
    3851             :       // op: Rn
    3852          44 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3853          44 :       Value |= (op & UINT64_C(7)) << 3;
    3854          44 :       break;
    3855             :     }
    3856          16 :     case ARM::t2SMLALD:
    3857             :     case ARM::t2SMLALDX:
    3858             :     case ARM::t2SMLSLD:
    3859             :     case ARM::t2SMLSLDX: {
    3860             :       // op: Rd
    3861          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3862          16 :       Value |= (op & UINT64_C(15)) << 8;
    3863             :       // op: Rn
    3864          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3865          16 :       Value |= (op & UINT64_C(15)) << 16;
    3866             :       // op: Rm
    3867          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3868          16 :       Value |= op & UINT64_C(15);
    3869             :       // op: Ra
    3870          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3871          16 :       Value |= (op & UINT64_C(15)) << 12;
    3872          16 :       break;
    3873             :     }
    3874          95 :     case ARM::t2SMLAL:
    3875             :     case ARM::t2SMLALBB:
    3876             :     case ARM::t2SMLALBT:
    3877             :     case ARM::t2SMLALTB:
    3878             :     case ARM::t2SMLALTT:
    3879             :     case ARM::t2SMULL:
    3880             :     case ARM::t2UMAAL:
    3881             :     case ARM::t2UMLAL:
    3882             :     case ARM::t2UMULL: {
    3883             :       // op: RdLo
    3884          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3885          95 :       Value |= (op & UINT64_C(15)) << 12;
    3886             :       // op: RdHi
    3887          95 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3888          95 :       Value |= (op & UINT64_C(15)) << 8;
    3889             :       // op: Rn
    3890          95 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3891          95 :       Value |= (op & UINT64_C(15)) << 16;
    3892             :       // op: Rm
    3893          95 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3894          95 :       Value |= op & UINT64_C(15);
    3895          95 :       break;
    3896             :     }
    3897        1962 :     case ARM::tADDi8:
    3898             :     case ARM::tSUBi8: {
    3899             :       // op: Rdn
    3900        1962 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3901        1962 :       Value |= (op & UINT64_C(7)) << 8;
    3902             :       // op: imm8
    3903        1962 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3904        1962 :       Value |= op & UINT64_C(255);
    3905        1962 :       break;
    3906             :     }
    3907          11 :     case ARM::tADDrSP: {
    3908             :       // op: Rdn
    3909          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3910          11 :       Value |= (op & UINT64_C(8)) << 4;
    3911          11 :       Value |= op & UINT64_C(7);
    3912          11 :       break;
    3913             :     }
    3914         151 :     case ARM::tADDhirr: {
    3915             :       // op: Rdn
    3916         151 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3917         151 :       Value |= (op & UINT64_C(8)) << 4;
    3918         151 :       Value |= op & UINT64_C(7);
    3919             :       // op: Rm
    3920         151 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3921         151 :       Value |= (op & UINT64_C(15)) << 3;
    3922         151 :       break;
    3923             :     }
    3924         168 :     case ARM::tADC:
    3925             :     case ARM::tAND:
    3926             :     case ARM::tASRrr:
    3927             :     case ARM::tBIC:
    3928             :     case ARM::tEOR:
    3929             :     case ARM::tLSLrr:
    3930             :     case ARM::tLSRrr:
    3931             :     case ARM::tORR:
    3932             :     case ARM::tROR:
    3933             :     case ARM::tSBC: {
    3934             :       // op: Rdn
    3935         168 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3936         168 :       Value |= op & UINT64_C(7);
    3937             :       // op: Rm
    3938         168 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3939         168 :       Value |= (op & UINT64_C(7)) << 3;
    3940         168 :       break;
    3941             :     }
    3942         209 :     case ARM::tBX:
    3943             :     case ARM::tBXNS: {
    3944             :       // op: Rm
    3945         209 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3946         209 :       Value |= (op & UINT64_C(15)) << 3;
    3947         209 :       break;
    3948             :     }
    3949           7 :     case ARM::tCMPhir: {
    3950             :       // op: Rm
    3951           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3952           7 :       Value |= (op & UINT64_C(15)) << 3;
    3953             :       // op: Rn
    3954           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3955           7 :       Value |= (op & UINT64_C(8)) << 4;
    3956           7 :       Value |= op & UINT64_C(7);
    3957           7 :       break;
    3958             :     }
    3959          68 :     case ARM::tREV:
    3960             :     case ARM::tREV16:
    3961             :     case ARM::tREVSH:
    3962             :     case ARM::tSXTB:
    3963             :     case ARM::tSXTH:
    3964             :     case ARM::tUXTB:
    3965             :     case ARM::tUXTH: {
    3966             :       // op: Rm
    3967          68 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3968          68 :       Value |= (op & UINT64_C(7)) << 3;
    3969             :       // op: Rd
    3970          68 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3971          68 :       Value |= op & UINT64_C(7);
    3972          68 :       break;
    3973             :     }
    3974          43 :     case ARM::tCMNz:
    3975             :     case ARM::tCMPr:
    3976             :     case ARM::tTST: {
    3977             :       // op: Rm
    3978          43 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3979          43 :       Value |= (op & UINT64_C(7)) << 3;
    3980             :       // op: Rn
    3981          43 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3982          43 :       Value |= op & UINT64_C(7);
    3983          43 :       break;
    3984             :     }
    3985          11 :     case ARM::tADDspr: {
    3986             :       // op: Rm
    3987          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3988          11 :       Value |= (op & UINT64_C(15)) << 3;
    3989          11 :       break;
    3990             :     }
    3991          66 :     case ARM::tADDrr:
    3992             :     case ARM::tSUBrr: {
    3993             :       // op: Rm
    3994          66 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3995          66 :       Value |= (op & UINT64_C(7)) << 6;
    3996             :       // op: Rn
    3997          66 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3998          66 :       Value |= (op & UINT64_C(7)) << 3;
    3999             :       // op: Rd
    4000          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4001          66 :       Value |= op & UINT64_C(7);
    4002          66 :       break;
    4003             :     }
    4004          40 :     case ARM::RFEDA:
    4005             :     case ARM::RFEDA_UPD:
    4006             :     case ARM::RFEDB:
    4007             :     case ARM::RFEDB_UPD:
    4008             :     case ARM::RFEIA:
    4009             :     case ARM::RFEIA_UPD:
    4010             :     case ARM::RFEIB:
    4011             :     case ARM::RFEIB_UPD:
    4012             :     case ARM::t2RFEDB:
    4013             :     case ARM::t2RFEDBW:
    4014             :     case ARM::t2RFEIA:
    4015             :     case ARM::t2RFEIAW: {
    4016             :       // op: Rn
    4017          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4018          40 :       Value |= (op & UINT64_C(15)) << 16;
    4019          40 :       break;
    4020             :     }
    4021          21 :     case ARM::t2CMNzrr:
    4022             :     case ARM::t2CMPrr:
    4023             :     case ARM::t2TBB:
    4024             :     case ARM::t2TBH:
    4025             :     case ARM::t2TEQrr:
    4026             :     case ARM::t2TSTrr: {
    4027             :       // op: Rn
    4028          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4029          21 :       Value |= (op & UINT64_C(15)) << 16;
    4030             :       // op: Rm
    4031          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4032          21 :       Value |= op & UINT64_C(15);
    4033          21 :       break;
    4034             :     }
    4035          41 :     case ARM::t2CMNzrs:
    4036             :     case ARM::t2CMPrs:
    4037             :     case ARM::t2TEQrs:
    4038             :     case ARM::t2TSTrs: {
    4039             :       // op: Rn
    4040          41 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4041          41 :       Value |= (op & UINT64_C(15)) << 16;
    4042             :       // op: ShiftedRm
    4043          41 :       op = getT2SORegOpValue(MI, 1, Fixups, STI);
    4044          41 :       Value |= (op & UINT64_C(3584)) << 3;
    4045          41 :       Value |= (op & UINT64_C(480)) >> 1;
    4046          41 :       Value |= op & UINT64_C(15);
    4047          41 :       break;
    4048             :     }
    4049          18 :     case ARM::t2CMNri:
    4050             :     case ARM::t2CMPri:
    4051             :     case ARM::t2TEQri:
    4052             :     case ARM::t2TSTri: {
    4053             :       // op: Rn
    4054          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4055          18 :       Value |= (op & UINT64_C(15)) << 16;
    4056             :       // op: imm
    4057          18 :       op = getT2SOImmOpValue(MI, 1, Fixups, STI);
    4058          18 :       Value |= (op & UINT64_C(2048)) << 15;
    4059          18 :       Value |= (op & UINT64_C(1792)) << 4;
    4060          18 :       Value |= op & UINT64_C(255);
    4061          18 :       break;
    4062             :     }
    4063          27 :     case ARM::t2STMDB:
    4064             :     case ARM::t2STMIA: {
    4065             :       // op: Rn
    4066          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4067          27 :       Value |= (op & UINT64_C(15)) << 16;
    4068             :       // op: regs
    4069          27 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4070          27 :       Value |= op & UINT64_C(16384);
    4071          27 :       Value |= op & UINT64_C(8191);
    4072          27 :       break;
    4073             :     }
    4074          30 :     case ARM::t2LDMDB:
    4075             :     case ARM::t2LDMIA: {
    4076             :       // op: Rn
    4077          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4078          30 :       Value |= (op & UINT64_C(15)) << 16;
    4079             :       // op: regs
    4080          30 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4081          30 :       Value |= op & UINT64_C(65535);
    4082          30 :       break;
    4083             :     }
    4084          46 :     case ARM::tCMPi8: {
    4085             :       // op: Rn
    4086          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4087          46 :       Value |= (op & UINT64_C(7)) << 8;
    4088             :       // op: imm8
    4089          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4090          46 :       Value |= op & UINT64_C(255);
    4091          46 :       break;
    4092             :     }
    4093         141 :     case ARM::tLDMIA: {
    4094             :       // op: Rn
    4095         141 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4096         141 :       Value |= (op & UINT64_C(7)) << 8;
    4097             :       // op: regs
    4098         141 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4099         141 :       Value |= op & UINT64_C(255);
    4100         141 :       break;
    4101             :     }
    4102          15 :     case ARM::t2TT:
    4103             :     case ARM::t2TTA:
    4104             :     case ARM::t2TTAT:
    4105             :     case ARM::t2TTT: {
    4106             :       // op: Rn
    4107          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4108          15 :       Value |= (op & UINT64_C(15)) << 16;
    4109             :       // op: Rt
    4110          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4111          15 :       Value |= (op & UINT64_C(15)) << 8;
    4112          15 :       break;
    4113             :     }
    4114          29 :     case ARM::t2STMDB_UPD:
    4115             :     case ARM::t2STMIA_UPD: {
    4116             :       // op: Rn
    4117          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4118          29 :       Value |= (op & UINT64_C(15)) << 16;
    4119             :       // op: regs
    4120          29 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4121          29 :       Value |= op & UINT64_C(16384);
    4122          29 :       Value |= op & UINT64_C(8191);
    4123          29 :       break;
    4124             :     }
    4125          38 :     case ARM::t2LDMDB_UPD:
    4126             :     case ARM::t2LDMIA_UPD: {
    4127             :       // op: Rn
    4128          38 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4129          38 :       Value |= (op & UINT64_C(15)) << 16;
    4130             :       // op: regs
    4131          38 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4132          38 :       Value |= op & UINT64_C(65535);
    4133          38 :       break;
    4134             :     }
    4135          10 :     case ARM::tSTMIA_UPD: {
    4136             :       // op: Rn
    4137          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4138          10 :       Value |= (op & UINT64_C(7)) << 8;
    4139             :       // op: regs
    4140          10 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4141          10 :       Value |= op & UINT64_C(255);
    4142          10 :       break;
    4143             :     }
    4144         488 :     case ARM::t2LDRB_POST:
    4145             :     case ARM::t2LDRH_POST:
    4146             :     case ARM::t2LDRSB_POST:
    4147             :     case ARM::t2LDRSH_POST:
    4148             :     case ARM::t2LDR_POST: {
    4149             :       // op: Rt
    4150         488 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4151         488 :       Value |= (op & UINT64_C(15)) << 12;
    4152             :       // op: Rn
    4153         488 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4154         488 :       Value |= (op & UINT64_C(15)) << 16;
    4155             :       // op: offset
    4156         976 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4157         488 :       Value |= (op & UINT64_C(256)) << 1;
    4158         488 :       Value |= op & UINT64_C(255);
    4159         488 :       break;
    4160             :     }
    4161          31 :     case ARM::MRRC2:
    4162             :     case ARM::t2MRRC:
    4163             :     case ARM::t2MRRC2: {
    4164             :       // op: Rt
    4165          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4166          31 :       Value |= (op & UINT64_C(15)) << 12;
    4167             :       // op: Rt2
    4168          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4169          31 :       Value |= (op & UINT64_C(15)) << 16;
    4170             :       // op: cop
    4171          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4172          31 :       Value |= (op & UINT64_C(15)) << 8;
    4173             :       // op: opc1
    4174          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4175          31 :       Value |= (op & UINT64_C(15)) << 4;
    4176             :       // op: CRm
    4177          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4178          31 :       Value |= op & UINT64_C(15);
    4179          31 :       break;
    4180             :     }
    4181           7 :     case ARM::t2LDRD_POST: {
    4182             :       // op: Rt
    4183           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4184           7 :       Value |= (op & UINT64_C(15)) << 12;
    4185             :       // op: Rt2
    4186           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4187           7 :       Value |= (op & UINT64_C(15)) << 8;
    4188             :       // op: addr
    4189           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4190           7 :       Value |= (op & UINT64_C(15)) << 16;
    4191             :       // op: imm
    4192          14 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4193           7 :       Value |= (op & UINT64_C(256)) << 15;
    4194           7 :       Value |= op & UINT64_C(255);
    4195           7 :       break;
    4196             :     }
    4197          83 :     case ARM::t2LDRDi8:
    4198             :     case ARM::t2STRDi8: {
    4199             :       // op: Rt
    4200          83 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4201          83 :       Value |= (op & UINT64_C(15)) << 12;
    4202             :       // op: Rt2
    4203          83 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4204          83 :       Value |= (op & UINT64_C(15)) << 8;
    4205             :       // op: addr
    4206          83 :       op = getT2AddrModeImm8s4OpValue(MI, 2, Fixups, STI);
    4207          83 :       Value |= (op & UINT64_C(256)) << 15;
    4208          83 :       Value |= (op & UINT64_C(7680)) << 7;
    4209          83 :       Value |= op & UINT64_C(255);
    4210          83 :       break;
    4211             :     }
    4212           5 :     case ARM::t2LDRD_PRE: {
    4213             :       // op: Rt
    4214           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4215           5 :       Value |= (op & UINT64_C(15)) << 12;
    4216             :       // op: Rt2
    4217           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4218           5 :       Value |= (op & UINT64_C(15)) << 8;
    4219             :       // op: addr
    4220           5 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4221           5 :       Value |= (op & UINT64_C(256)) << 15;
    4222           5 :       Value |= (op & UINT64_C(7680)) << 7;
    4223           5 :       Value |= op & UINT64_C(255);
    4224           5 :       break;
    4225             :     }
    4226        1269 :     case ARM::t2LDRBi12:
    4227             :     case ARM::t2LDRHi12:
    4228             :     case ARM::t2LDRSBi12:
    4229             :     case ARM::t2LDRSHi12:
    4230             :     case ARM::t2LDRi12:
    4231             :     case ARM::t2STRBi12:
    4232             :     case ARM::t2STRHi12:
    4233             :     case ARM::t2STRi12: {
    4234             :       // op: Rt
    4235        1269 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4236        1269 :       Value |= (op & UINT64_C(15)) << 12;
    4237             :       // op: addr
    4238        1269 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4239        1269 :       Value |= (op & UINT64_C(122880)) << 3;
    4240        1269 :       Value |= op & UINT64_C(4095);
    4241        1269 :       break;
    4242             :     }
    4243          71 :     case ARM::t2LDRBpci:
    4244             :     case ARM::t2LDRHpci:
    4245             :     case ARM::t2LDRSBpci:
    4246             :     case ARM::t2LDRSHpci:
    4247             :     case ARM::t2LDRpci: {
    4248             :       // op: Rt
    4249          71 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4250          71 :       Value |= (op & UINT64_C(15)) << 12;
    4251             :       // op: addr
    4252          71 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4253          71 :       Value |= (op & UINT64_C(4096)) << 11;
    4254          71 :       Value |= op & UINT64_C(4095);
    4255          71 :       break;
    4256             :     }
    4257          35 :     case ARM::t2LDA:
    4258             :     case ARM::t2LDAB:
    4259             :     case ARM::t2LDAEX:
    4260             :     case ARM::t2LDAH:
    4261             :     case ARM::t2STL:
    4262             :     case ARM::t2STLB:
    4263             :     case ARM::t2STLH: {
    4264             :       // op: Rt
    4265          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4266          35 :       Value |= (op & UINT64_C(15)) << 12;
    4267             :       // op: addr
    4268          35 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4269          35 :       Value |= (op & UINT64_C(15)) << 16;
    4270          35 :       break;
    4271             :     }
    4272           9 :     case ARM::t2LDREX: {
    4273             :       // op: Rt
    4274           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4275           9 :       Value |= (op & UINT64_C(15)) << 12;
    4276             :       // op: addr
    4277          18 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 1, Fixups, STI);
    4278           9 :       Value |= (op & UINT64_C(3840)) << 8;
    4279           9 :       Value |= op & UINT64_C(255);
    4280           9 :       break;
    4281             :     }
    4282          23 :     case ARM::t2LDRBi8:
    4283             :     case ARM::t2LDRHi8:
    4284             :     case ARM::t2LDRSBi8:
    4285             :     case ARM::t2LDRSHi8:
    4286             :     case ARM::t2LDRi8:
    4287             :     case ARM::t2STRBi8:
    4288             :     case ARM::t2STRHi8:
    4289             :     case ARM::t2STRi8: {
    4290             :       // op: Rt
    4291          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4292          23 :       Value |= (op & UINT64_C(15)) << 12;
    4293             :       // op: addr
    4294          46 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4295          23 :       Value |= (op & UINT64_C(7680)) << 7;
    4296          23 :       Value |= (op & UINT64_C(256)) << 1;
    4297          23 :       Value |= op & UINT64_C(255);
    4298          23 :       break;
    4299             :     }
    4300          64 :     case ARM::t2LDRBT:
    4301             :     case ARM::t2LDRHT:
    4302             :     case ARM::t2LDRSBT:
    4303             :     case ARM::t2LDRSHT:
    4304             :     case ARM::t2LDRT:
    4305             :     case ARM::t2STRBT:
    4306             :     case ARM::t2STRHT:
    4307             :     case ARM::t2STRT: {
    4308             :       // op: Rt
    4309          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4310          64 :       Value |= (op & UINT64_C(15)) << 12;
    4311             :       // op: addr
    4312         128 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4313          64 :       Value |= (op & UINT64_C(7680)) << 7;
    4314          64 :       Value |= op & UINT64_C(255);
    4315          64 :       break;
    4316             :     }
    4317          30 :     case ARM::t2LDRB_PRE:
    4318             :     case ARM::t2LDRH_PRE:
    4319             :     case ARM::t2LDRSB_PRE:
    4320             :     case ARM::t2LDRSH_PRE:
    4321             :     case ARM::t2LDR_PRE: {
    4322             :       // op: Rt
    4323          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4324          30 :       Value |= (op & UINT64_C(15)) << 12;
    4325             :       // op: addr
    4326          60 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4327          30 :       Value |= (op & UINT64_C(7680)) << 7;
    4328          30 :       Value |= (op & UINT64_C(256)) << 1;
    4329          30 :       Value |= op & UINT64_C(255);
    4330          30 :       break;
    4331             :     }
    4332         228 :     case ARM::t2LDRBs:
    4333             :     case ARM::t2LDRHs:
    4334             :     case ARM::t2LDRSBs:
    4335             :     case ARM::t2LDRSHs:
    4336             :     case ARM::t2LDRs:
    4337             :     case ARM::t2STRBs:
    4338             :     case ARM::t2STRHs:
    4339             :     case ARM::t2STRs: {
    4340             :       // op: Rt
    4341         228 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4342         228 :       Value |= (op & UINT64_C(15)) << 12;
    4343             :       // op: addr
    4344         456 :       op = getT2AddrModeSORegOpValue(MI, 1, Fixups, STI);
    4345         228 :       Value |= (op & UINT64_C(960)) << 10;
    4346         228 :       Value |= (op & UINT64_C(3)) << 4;
    4347         228 :       Value |= (op & UINT64_C(60)) >> 2;
    4348         228 :       break;
    4349             :     }
    4350          25 :     case ARM::MRC2:
    4351             :     case ARM::t2MRC:
    4352             :     case ARM::t2MRC2: {
    4353             :       // op: Rt
    4354          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4355          25 :       Value |= (op & UINT64_C(15)) << 12;
    4356             :       // op: cop
    4357          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4358          25 :       Value |= (op & UINT64_C(15)) << 8;
    4359             :       // op: opc1
    4360          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4361          25 :       Value |= (op & UINT64_C(7)) << 21;
    4362             :       // op: opc2
    4363          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4364          25 :       Value |= (op & UINT64_C(7)) << 5;
    4365             :       // op: CRm
    4366          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4367          25 :       Value |= op & UINT64_C(15);
    4368             :       // op: CRn
    4369          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4370          25 :       Value |= (op & UINT64_C(15)) << 16;
    4371          25 :       break;
    4372             :     }
    4373         119 :     case ARM::tLDRpci: {
    4374             :       // op: Rt
    4375         119 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4376         119 :       Value |= (op & UINT64_C(7)) << 8;
    4377             :       // op: addr
    4378         119 :       op = getAddrModePCOpValue(MI, 1, Fixups, STI);
    4379         119 :       Value |= op & UINT64_C(255);
    4380         119 :       break;
    4381             :     }
    4382         919 :     case ARM::tLDRspi:
    4383             :     case ARM::tSTRspi: {
    4384             :       // op: Rt
    4385         919 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4386         919 :       Value |= (op & UINT64_C(7)) << 8;
    4387             :       // op: addr
    4388        1838 :       op = getAddrModeThumbSPOpValue(MI, 1, Fixups, STI);
    4389         919 :       Value |= op & UINT64_C(255);
    4390         919 :       break;
    4391             :     }
    4392        2197 :     case ARM::tLDRBi:
    4393             :     case ARM::tLDRHi:
    4394             :     case ARM::tLDRi:
    4395             :     case ARM::tSTRBi:
    4396             :     case ARM::tSTRHi:
    4397             :     case ARM::tSTRi: {
    4398             :       // op: Rt
    4399        2197 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4400        2197 :       Value |= op & UINT64_C(7);
    4401             :       // op: addr
    4402        4394 :       op = getAddrModeISOpValue(MI, 1, Fixups, STI);
    4403        2197 :       Value |= (op & UINT64_C(255)) << 3;
    4404        2197 :       break;
    4405             :     }
    4406          44 :     case ARM::tLDRBr:
    4407             :     case ARM::tLDRHr:
    4408             :     case ARM::tLDRSB:
    4409             :     case ARM::tLDRSH:
    4410             :     case ARM::tLDRr:
    4411             :     case ARM::tSTRBr:
    4412             :     case ARM::tSTRHr:
    4413             :     case ARM::tSTRr: {
    4414             :       // op: Rt
    4415          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4416          44 :       Value |= op & UINT64_C(7);
    4417             :       // op: addr
    4418          88 :       op = getThumbAddrModeRegRegOpValue(MI, 1, Fixups, STI);
    4419          44 :       Value |= (op & UINT64_C(63)) << 3;
    4420          44 :       break;
    4421             :     }
    4422         466 :     case ARM::t2STRB_POST:
    4423             :     case ARM::t2STRH_POST:
    4424             :     case ARM::t2STR_POST: {
    4425             :       // op: Rt
    4426         466 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4427         466 :       Value |= (op & UINT64_C(15)) << 12;
    4428             :       // op: Rn
    4429         466 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4430         466 :       Value |= (op & UINT64_C(15)) << 16;
    4431             :       // op: offset
    4432         932 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4433         466 :       Value |= (op & UINT64_C(256)) << 1;
    4434         466 :       Value |= op & UINT64_C(255);
    4435         466 :       break;
    4436             :     }
    4437          41 :     case ARM::t2STRD_POST: {
    4438             :       // op: Rt
    4439          41 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4440          41 :       Value |= (op & UINT64_C(15)) << 12;
    4441             :       // op: Rt2
    4442          41 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4443          41 :       Value |= (op & UINT64_C(15)) << 8;
    4444             :       // op: addr
    4445          41 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4446          41 :       Value |= (op & UINT64_C(15)) << 16;
    4447             :       // op: imm
    4448          82 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4449          41 :       Value |= (op & UINT64_C(256)) << 15;
    4450          41 :       Value |= op & UINT64_C(255);
    4451          41 :       break;
    4452             :     }
    4453          39 :     case ARM::t2STRD_PRE: {
    4454             :       // op: Rt
    4455          39 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4456          39 :       Value |= (op & UINT64_C(15)) << 12;
    4457             :       // op: Rt2
    4458          39 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4459          39 :       Value |= (op & UINT64_C(15)) << 8;
    4460             :       // op: addr
    4461          39 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4462          39 :       Value |= (op & UINT64_C(256)) << 15;
    4463          39 :       Value |= (op & UINT64_C(7680)) << 7;
    4464          39 :       Value |= op & UINT64_C(255);
    4465          39 :       break;
    4466             :     }
    4467          28 :     case ARM::t2STRB_PRE:
    4468             :     case ARM::t2STRH_PRE:
    4469             :     case ARM::t2STR_PRE: {
    4470             :       // op: Rt
    4471          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4472          28 :       Value |= (op & UINT64_C(15)) << 12;
    4473             :       // op: addr
    4474          56 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4475          28 :       Value |= (op & UINT64_C(7680)) << 7;
    4476          28 :       Value |= (op & UINT64_C(256)) << 1;
    4477          28 :       Value |= op & UINT64_C(255);
    4478          28 :       break;
    4479             :     }
    4480          31 :     case ARM::MCRR2:
    4481             :     case ARM::t2MCRR:
    4482             :     case ARM::t2MCRR2: {
    4483             :       // op: Rt
    4484          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4485          31 :       Value |= (op & UINT64_C(15)) << 12;
    4486             :       // op: Rt2
    4487          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4488          31 :       Value |= (op & UINT64_C(15)) << 16;
    4489             :       // op: cop
    4490          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4491          31 :       Value |= (op & UINT64_C(15)) << 8;
    4492             :       // op: opc1
    4493          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4494          31 :       Value |= (op & UINT64_C(15)) << 4;
    4495             :       // op: CRm
    4496          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4497          31 :       Value |= op & UINT64_C(15);
    4498          31 :       break;
    4499             :     }
    4500          25 :     case ARM::MCR2:
    4501             :     case ARM::t2MCR:
    4502             :     case ARM::t2MCR2: {
    4503             :       // op: Rt
    4504          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4505          25 :       Value |= (op & UINT64_C(15)) << 12;
    4506             :       // op: cop
    4507          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4508          25 :       Value |= (op & UINT64_C(15)) << 8;
    4509             :       // op: opc1
    4510          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4511          25 :       Value |= (op & UINT64_C(7)) << 21;
    4512             :       // op: opc2
    4513          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4514          25 :       Value |= (op & UINT64_C(7)) << 5;
    4515             :       // op: CRm
    4516          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4517          25 :       Value |= op & UINT64_C(15);
    4518             :       // op: CRn
    4519          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4520          25 :       Value |= (op & UINT64_C(15)) << 16;
    4521          25 :       break;
    4522             :     }
    4523          87 :     case ARM::t2MSR_M: {
    4524             :       // op: SYSm
    4525          87 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4526          87 :       Value |= op & UINT64_C(3072);
    4527          87 :       Value |= op & UINT64_C(255);
    4528             :       // op: Rn
    4529          87 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4530          87 :       Value |= (op & UINT64_C(15)) << 16;
    4531          87 :       break;
    4532             :     }
    4533          32 :     case ARM::VCVTASD:
    4534             :     case ARM::VCVTAUD:
    4535             :     case ARM::VCVTMSD:
    4536             :     case ARM::VCVTMUD:
    4537             :     case ARM::VCVTNSD:
    4538             :     case ARM::VCVTNUD:
    4539             :     case ARM::VCVTPSD:
    4540             :     case ARM::VCVTPUD: {
    4541             :       // op: Sd
    4542          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4543          32 :       Value |= (op & UINT64_C(1)) << 22;
    4544          32 :       Value |= (op & UINT64_C(30)) << 11;
    4545             :       // op: Dm
    4546          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4547          32 :       Value |= (op & UINT64_C(16)) << 1;
    4548          32 :       Value |= op & UINT64_C(15);
    4549          32 :       break;
    4550             :     }
    4551         104 :     case ARM::VCVTASH:
    4552             :     case ARM::VCVTASS:
    4553             :     case ARM::VCVTAUH:
    4554             :     case ARM::VCVTAUS:
    4555             :     case ARM::VCVTMSH:
    4556             :     case ARM::VCVTMSS:
    4557             :     case ARM::VCVTMUH:
    4558             :     case ARM::VCVTMUS:
    4559             :     case ARM::VCVTNSH:
    4560             :     case ARM::VCVTNSS:
    4561             :     case ARM::VCVTNUH:
    4562             :     case ARM::VCVTNUS:
    4563             :     case ARM::VCVTPSH:
    4564             :     case ARM::VCVTPSS:
    4565             :     case ARM::VCVTPUH:
    4566             :     case ARM::VCVTPUS:
    4567             :     case ARM::VINSH:
    4568             :     case ARM::VMOVH:
    4569             :     case ARM::VRINTAH:
    4570             :     case ARM::VRINTAS:
    4571             :     case ARM::VRINTMH:
    4572             :     case ARM::VRINTMS:
    4573             :     case ARM::VRINTNH:
    4574             :     case ARM::VRINTNS:
    4575             :     case ARM::VRINTPH:
    4576             :     case ARM::VRINTPS: {
    4577             :       // op: Sd
    4578         104 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4579         104 :       Value |= (op & UINT64_C(1)) << 22;
    4580         104 :       Value |= (op & UINT64_C(30)) << 11;
    4581             :       // op: Sm
    4582         104 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4583         104 :       Value |= (op & UINT64_C(1)) << 5;
    4584         104 :       Value |= (op & UINT64_C(30)) >> 1;
    4585         104 :       break;
    4586             :     }
    4587          48 :     case ARM::VMAXNMH:
    4588             :     case ARM::VMAXNMS:
    4589             :     case ARM::VMINNMH:
    4590             :     case ARM::VMINNMS:
    4591             :     case ARM::VSELEQH:
    4592             :     case ARM::VSELEQS:
    4593             :     case ARM::VSELGEH:
    4594             :     case ARM::VSELGES:
    4595             :     case ARM::VSELGTH:
    4596             :     case ARM::VSELGTS:
    4597             :     case ARM::VSELVSH:
    4598             :     case ARM::VSELVSS: {
    4599             :       // op: Sd
    4600          48 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4601          48 :       Value |= (op & UINT64_C(1)) << 22;
    4602          48 :       Value |= (op & UINT64_C(30)) << 11;
    4603             :       // op: Sn
    4604          48 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4605          48 :       Value |= (op & UINT64_C(30)) << 15;
    4606          48 :       Value |= (op & UINT64_C(1)) << 7;
    4607             :       // op: Sm
    4608          48 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4609          48 :       Value |= (op & UINT64_C(1)) << 5;
    4610          48 :       Value |= (op & UINT64_C(30)) >> 1;
    4611          48 :       break;
    4612             :     }
    4613          12 :     case ARM::VDUP16d:
    4614             :     case ARM::VDUP16q:
    4615             :     case ARM::VDUP32d:
    4616             :     case ARM::VDUP32q:
    4617             :     case ARM::VDUP8d:
    4618             :     case ARM::VDUP8q: {
    4619             :       // op: V
    4620          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4621          12 :       Value |= (op & UINT64_C(15)) << 16;
    4622          12 :       Value |= (op & UINT64_C(16)) << 3;
    4623             :       // op: R
    4624          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4625          12 :       Value |= (op & UINT64_C(15)) << 12;
    4626             :       // op: p
    4627          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4628          12 :       Value |= (op & UINT64_C(15)) << 28;
    4629          24 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4630          12 :       break;
    4631             :     }
    4632          12 :     case ARM::VSETLNi32: {
    4633             :       // op: V
    4634          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4635          12 :       Value |= (op & UINT64_C(15)) << 16;
    4636          12 :       Value |= (op & UINT64_C(16)) << 3;
    4637             :       // op: R
    4638          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4639          12 :       Value |= (op & UINT64_C(15)) << 12;
    4640             :       // op: p
    4641          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4642          12 :       Value |= (op & UINT64_C(15)) << 28;
    4643             :       // op: lane
    4644          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4645          12 :       Value |= (op & UINT64_C(1)) << 21;
    4646          24 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4647          12 :       break;
    4648             :     }
    4649           6 :     case ARM::VSETLNi16: {
    4650             :       // op: V
    4651           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4652           6 :       Value |= (op & UINT64_C(15)) << 16;
    4653           6 :       Value |= (op & UINT64_C(16)) << 3;
    4654             :       // op: R
    4655           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4656           6 :       Value |= (op & UINT64_C(15)) << 12;
    4657             :       // op: p
    4658           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4659           6 :       Value |= (op & UINT64_C(15)) << 28;
    4660             :       // op: lane
    4661           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4662           6 :       Value |= (op & UINT64_C(2)) << 20;
    4663           6 :       Value |= (op & UINT64_C(1)) << 6;
    4664          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4665           6 :       break;
    4666             :     }
    4667           6 :     case ARM::VSETLNi8: {
    4668             :       // op: V
    4669           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4670           6 :       Value |= (op & UINT64_C(15)) << 16;
    4671           6 :       Value |= (op & UINT64_C(16)) << 3;
    4672             :       // op: R
    4673           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4674           6 :       Value |= (op & UINT64_C(15)) << 12;
    4675             :       // op: p
    4676           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4677           6 :       Value |= (op & UINT64_C(15)) << 28;
    4678             :       // op: lane
    4679           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4680           6 :       Value |= (op & UINT64_C(4)) << 19;
    4681           6 :       Value |= (op & UINT64_C(3)) << 5;
    4682          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4683           6 :       break;
    4684             :     }
    4685          10 :     case ARM::VGETLNi32: {
    4686             :       // op: V
    4687          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4688          10 :       Value |= (op & UINT64_C(15)) << 16;
    4689          10 :       Value |= (op & UINT64_C(16)) << 3;
    4690             :       // op: R
    4691          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4692          10 :       Value |= (op & UINT64_C(15)) << 12;
    4693             :       // op: p
    4694          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4695          10 :       Value |= (op & UINT64_C(15)) << 28;
    4696             :       // op: lane
    4697          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4698          10 :       Value |= (op & UINT64_C(1)) << 21;
    4699          20 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4700          10 :       break;
    4701             :     }
    4702           6 :     case ARM::VGETLNs16:
    4703             :     case ARM::VGETLNu16: {
    4704             :       // op: V
    4705           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4706           6 :       Value |= (op & UINT64_C(15)) << 16;
    4707           6 :       Value |= (op & UINT64_C(16)) << 3;
    4708             :       // op: R
    4709           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4710           6 :       Value |= (op & UINT64_C(15)) << 12;
    4711             :       // op: p
    4712           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4713           6 :       Value |= (op & UINT64_C(15)) << 28;
    4714             :       // op: lane
    4715           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4716           6 :       Value |= (op & UINT64_C(2)) << 20;
    4717           6 :       Value |= (op & UINT64_C(1)) << 6;
    4718          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4719           6 :       break;
    4720             :     }
    4721           6 :     case ARM::VGETLNs8:
    4722             :     case ARM::VGETLNu8: {
    4723             :       // op: V
    4724           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4725           6 :       Value |= (op & UINT64_C(15)) << 16;
    4726           6 :       Value |= (op & UINT64_C(16)) << 3;
    4727             :       // op: R
    4728           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4729           6 :       Value |= (op & UINT64_C(15)) << 12;
    4730             :       // op: p
    4731           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4732           6 :       Value |= (op & UINT64_C(15)) << 28;
    4733             :       // op: lane
    4734           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4735           6 :       Value |= (op & UINT64_C(4)) << 19;
    4736           6 :       Value |= (op & UINT64_C(3)) << 5;
    4737          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4738           6 :       break;
    4739             :     }
    4740           4 :     case ARM::VLD1LNd8: {
    4741             :       // op: Vd
    4742           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4743           4 :       Value |= (op & UINT64_C(16)) << 18;
    4744           4 :       Value |= (op & UINT64_C(15)) << 12;
    4745             :       // op: Rn
    4746           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4747           4 :       Value |= (op & UINT64_C(15)) << 16;
    4748             :       // op: lane
    4749           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4750           4 :       Value |= (op & UINT64_C(7)) << 5;
    4751           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4752           4 :       break;
    4753             :     }
    4754          34 :     case ARM::VLD1d16:
    4755             :     case ARM::VLD1d16T:
    4756             :     case ARM::VLD1d32:
    4757             :     case ARM::VLD1d32T:
    4758             :     case ARM::VLD1d64:
    4759             :     case ARM::VLD1d64T:
    4760             :     case ARM::VLD1d8:
    4761             :     case ARM::VLD1d8T: {
    4762             :       // op: Vd
    4763          34 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4764          34 :       Value |= (op & UINT64_C(16)) << 18;
    4765          34 :       Value |= (op & UINT64_C(15)) << 12;
    4766             :       // op: Rn
    4767          68 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4768          34 :       Value |= (op & UINT64_C(15)) << 16;
    4769          34 :       Value |= op & UINT64_C(16);
    4770          68 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4771          34 :       break;
    4772             :     }
    4773           5 :     case ARM::VLD1LNd16: {
    4774             :       // op: Vd
    4775           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4776           5 :       Value |= (op & UINT64_C(16)) << 18;
    4777           5 :       Value |= (op & UINT64_C(15)) << 12;
    4778             :       // op: Rn
    4779          10 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4780           5 :       Value |= (op & UINT64_C(15)) << 16;
    4781           5 :       Value |= op & UINT64_C(48);
    4782             :       // op: lane
    4783           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4784           5 :       Value |= (op & UINT64_C(3)) << 6;
    4785          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4786           5 :       break;
    4787             :     }
    4788          95 :     case ARM::VLD1d16Q:
    4789             :     case ARM::VLD1d32Q:
    4790             :     case ARM::VLD1d64Q:
    4791             :     case ARM::VLD1d8Q:
    4792             :     case ARM::VLD1q16:
    4793             :     case ARM::VLD1q32:
    4794             :     case ARM::VLD1q64:
    4795             :     case ARM::VLD1q8:
    4796             :     case ARM::VLD2b16:
    4797             :     case ARM::VLD2b32:
    4798             :     case ARM::VLD2b8:
    4799             :     case ARM::VLD2d16:
    4800             :     case ARM::VLD2d32:
    4801             :     case ARM::VLD2d8:
    4802             :     case ARM::VLD2q16:
    4803             :     case ARM::VLD2q32:
    4804             :     case ARM::VLD2q8: {
    4805             :       // op: Vd
    4806          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4807          95 :       Value |= (op & UINT64_C(16)) << 18;
    4808          95 :       Value |= (op & UINT64_C(15)) << 12;
    4809             :       // op: Rn
    4810         190 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4811          95 :       Value |= (op & UINT64_C(15)) << 16;
    4812          95 :       Value |= op & UINT64_C(48);
    4813         190 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4814          95 :       break;
    4815             :     }
    4816          13 :     case ARM::VLD1LNd8_UPD: {
    4817             :       // op: Vd
    4818          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4819          13 :       Value |= (op & UINT64_C(16)) << 18;
    4820          13 :       Value |= (op & UINT64_C(15)) << 12;
    4821             :       // op: Rn
    4822          26 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4823          13 :       Value |= (op & UINT64_C(15)) << 16;
    4824             :       // op: Rm
    4825          26 :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4826          13 :       Value |= op & UINT64_C(15);
    4827             :       // op: lane
    4828          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4829          13 :       Value |= (op & UINT64_C(7)) << 5;
    4830          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4831          13 :       break;
    4832             :     }
    4833          12 :     case ARM::VLD1LNd32_UPD: {
    4834             :       // op: Vd
    4835          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4836          12 :       Value |= (op & UINT64_C(16)) << 18;
    4837          12 :       Value |= (op & UINT64_C(15)) << 12;
    4838             :       // op: Rn
    4839          24 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4840          12 :       Value |= (op & UINT64_C(15)) << 16;
    4841          12 :       Value |= (op & UINT64_C(16)) << 1;
    4842          12 :       Value |= op & UINT64_C(16);
    4843             :       // op: Rm
    4844          24 :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4845          12 :       Value |= op & UINT64_C(15);
    4846             :       // op: lane
    4847          12 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4848          12 :       Value |= (op & UINT64_C(1)) << 7;
    4849          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4850          12 :       break;
    4851             :     }
    4852          19 :     case ARM::VLD1LNd16_UPD: {
    4853             :       // op: Vd
    4854          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4855          19 :       Value |= (op & UINT64_C(16)) << 18;
    4856          19 :       Value |= (op & UINT64_C(15)) << 12;
    4857             :       // op: Rn
    4858          38 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4859          19 :       Value |= (op & UINT64_C(15)) << 16;
    4860          19 :       Value |= op & UINT64_C(16);
    4861             :       // op: Rm
    4862          38 :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4863          19 :       Value |= op & UINT64_C(15);
    4864             :       // op: lane
    4865          19 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4866          19 :       Value |= (op & UINT64_C(3)) << 6;
    4867          38 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4868          19 :       break;
    4869             :     }
    4870          24 :     case ARM::VLD1d16Twb_register:
    4871             :     case ARM::VLD1d16wb_register:
    4872             :     case ARM::VLD1d32Twb_register:
    4873             :     case ARM::VLD1d32wb_register:
    4874             :     case ARM::VLD1d64Twb_register:
    4875             :     case ARM::VLD1d64wb_register:
    4876             :     case ARM::VLD1d8Twb_register:
    4877             :     case ARM::VLD1d8wb_register: {
    4878             :       // op: Vd
    4879          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4880          24 :       Value |= (op & UINT64_C(16)) << 18;
    4881          24 :       Value |= (op & UINT64_C(15)) << 12;
    4882             :       // op: Rn
    4883          48 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4884          24 :       Value |= (op & UINT64_C(15)) << 16;
    4885          24 :       Value |= op & UINT64_C(16);
    4886             :       // op: Rm
    4887          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4888          24 :       Value |= op & UINT64_C(15);
    4889          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4890          24 :       break;
    4891             :     }
    4892           8 :     case ARM::VLD2LNd32:
    4893             :     case ARM::VLD2LNq32: {
    4894             :       // op: Vd
    4895           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4896           8 :       Value |= (op & UINT64_C(16)) << 18;
    4897           8 :       Value |= (op & UINT64_C(15)) << 12;
    4898             :       // op: Rn
    4899          16 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4900           8 :       Value |= (op & UINT64_C(15)) << 16;
    4901           8 :       Value |= op & UINT64_C(16);
    4902             :       // op: lane
    4903           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4904           8 :       Value |= (op & UINT64_C(1)) << 7;
    4905          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4906           8 :       break;
    4907             :     }
    4908           8 :     case ARM::VLD2LNd16:
    4909             :     case ARM::VLD2LNq16: {
    4910             :       // op: Vd
    4911           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4912           8 :       Value |= (op & UINT64_C(16)) << 18;
    4913           8 :       Value |= (op & UINT64_C(15)) << 12;
    4914             :       // op: Rn
    4915          16 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4916           8 :       Value |= (op & UINT64_C(15)) << 16;
    4917           8 :       Value |= op & UINT64_C(16);
    4918             :       // op: lane
    4919           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4920           8 :       Value |= (op & UINT64_C(3)) << 6;
    4921          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4922           8 :       break;
    4923             :     }
    4924           5 :     case ARM::VLD2LNd8: {
    4925             :       // op: Vd
    4926           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4927           5 :       Value |= (op & UINT64_C(16)) << 18;
    4928           5 :       Value |= (op & UINT64_C(15)) << 12;
    4929             :       // op: Rn
    4930          10 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4931           5 :       Value |= (op & UINT64_C(15)) << 16;
    4932           5 :       Value |= op & UINT64_C(16);
    4933             :       // op: lane
    4934           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4935           5 :       Value |= (op & UINT64_C(7)) << 5;
    4936          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4937           5 :       break;
    4938             :     }
    4939          72 :     case ARM::VLD1d16Twb_fixed:
    4940             :     case ARM::VLD1d16wb_fixed:
    4941             :     case ARM::VLD1d32Twb_fixed:
    4942             :     case ARM::VLD1d32wb_fixed:
    4943             :     case ARM::VLD1d64Twb_fixed:
    4944             :     case ARM::VLD1d64wb_fixed:
    4945             :     case ARM::VLD1d8Twb_fixed:
    4946             :     case ARM::VLD1d8wb_fixed: {
    4947             :       // op: Vd
    4948          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4949          72 :       Value |= (op & UINT64_C(16)) << 18;
    4950          72 :       Value |= (op & UINT64_C(15)) << 12;
    4951             :       // op: Rn
    4952         144 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4953          72 :       Value |= (op & UINT64_C(15)) << 16;
    4954          72 :       Value |= op & UINT64_C(16);
    4955         144 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4956          72 :       break;
    4957             :     }
    4958          72 :     case ARM::VLD1d16Qwb_register:
    4959             :     case ARM::VLD1d32Qwb_register:
    4960             :     case ARM::VLD1d64Qwb_register:
    4961             :     case ARM::VLD1d8Qwb_register:
    4962             :     case ARM::VLD1q16wb_register:
    4963             :     case ARM::VLD1q32wb_register:
    4964             :     case ARM::VLD1q64wb_register:
    4965             :     case ARM::VLD1q8wb_register:
    4966             :     case ARM::VLD2b16wb_register:
    4967             :     case ARM::VLD2b32wb_register:
    4968             :     case ARM::VLD2b8wb_register:
    4969             :     case ARM::VLD2d16wb_register:
    4970             :     case ARM::VLD2d32wb_register:
    4971             :     case ARM::VLD2d8wb_register:
    4972             :     case ARM::VLD2q16wb_register:
    4973             :     case ARM::VLD2q32wb_register:
    4974             :     case ARM::VLD2q8wb_register: {
    4975             :       // op: Vd
    4976          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4977          72 :       Value |= (op & UINT64_C(16)) << 18;
    4978          72 :       Value |= (op & UINT64_C(15)) << 12;
    4979             :       // op: Rn
    4980         144 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4981          72 :       Value |= (op & UINT64_C(15)) << 16;
    4982          72 :       Value |= op & UINT64_C(48);
    4983             :       // op: Rm
    4984          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4985          72 :       Value |= op & UINT64_C(15);
    4986         144 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4987          72 :       break;
    4988             :     }
    4989         102 :     case ARM::VLD1d16Qwb_fixed:
    4990             :     case ARM::VLD1d32Qwb_fixed:
    4991             :     case ARM::VLD1d64Qwb_fixed:
    4992             :     case ARM::VLD1d8Qwb_fixed:
    4993             :     case ARM::VLD1q16wb_fixed:
    4994             :     case ARM::VLD1q32wb_fixed:
    4995             :     case ARM::VLD1q64wb_fixed:
    4996             :     case ARM::VLD1q8wb_fixed:
    4997             :     case ARM::VLD2b16wb_fixed:
    4998             :     case ARM::VLD2b32wb_fixed:
    4999             :     case ARM::VLD2b8wb_fixed:
    5000             :     case ARM::VLD2d16wb_fixed:
    5001             :     case ARM::VLD2d32wb_fixed:
    5002             :     case ARM::VLD2d8wb_fixed:
    5003             :     case ARM::VLD2q16wb_fixed:
    5004             :     case ARM::VLD2q32wb_fixed:
    5005             :     case ARM::VLD2q8wb_fixed: {
    5006             :       // op: Vd
    5007         102 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5008         102 :       Value |= (op & UINT64_C(16)) << 18;
    5009         102 :       Value |= (op & UINT64_C(15)) << 12;
    5010             :       // op: Rn
    5011         204 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5012         102 :       Value |= (op & UINT64_C(15)) << 16;
    5013         102 :       Value |= op & UINT64_C(48);
    5014         204 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5015         102 :       break;
    5016             :     }
    5017           6 :     case ARM::VLD3LNd32:
    5018             :     case ARM::VLD3LNq32: {
    5019             :       // op: Vd
    5020           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5021           6 :       Value |= (op & UINT64_C(16)) << 18;
    5022           6 :       Value |= (op & UINT64_C(15)) << 12;
    5023             :       // op: Rn
    5024          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5025           6 :       Value |= (op & UINT64_C(15)) << 16;
    5026             :       // op: lane
    5027           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5028           6 :       Value |= (op & UINT64_C(1)) << 7;
    5029          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5030           6 :       break;
    5031             :     }
    5032           6 :     case ARM::VLD3LNd16:
    5033             :     case ARM::VLD3LNq16: {
    5034             :       // op: Vd
    5035           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5036           6 :       Value |= (op & UINT64_C(16)) << 18;
    5037           6 :       Value |= (op & UINT64_C(15)) << 12;
    5038             :       // op: Rn
    5039          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5040           6 :       Value |= (op & UINT64_C(15)) << 16;
    5041             :       // op: lane
    5042           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5043           6 :       Value |= (op & UINT64_C(3)) << 6;
    5044          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5045           6 :       break;
    5046             :     }
    5047           3 :     case ARM::VLD3LNd8: {
    5048             :       // op: Vd
    5049           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5050           3 :       Value |= (op & UINT64_C(16)) << 18;
    5051           3 :       Value |= (op & UINT64_C(15)) << 12;
    5052             :       // op: Rn
    5053           6 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5054           3 :       Value |= (op & UINT64_C(15)) << 16;
    5055             :       // op: lane
    5056           3 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5057           3 :       Value |= (op & UINT64_C(7)) << 5;
    5058           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5059           3 :       break;
    5060             :     }
    5061           9 :     case ARM::VLD2LNd32_UPD:
    5062             :     case ARM::VLD2LNq32_UPD: {
    5063             :       // op: Vd
    5064           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5065           9 :       Value |= (op & UINT64_C(16)) << 18;
    5066           9 :       Value |= (op & UINT64_C(15)) << 12;
    5067             :       // op: Rn
    5068          18 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5069           9 :       Value |= (op & UINT64_C(15)) << 16;
    5070           9 :       Value |= op & UINT64_C(16);
    5071             :       // op: Rm
    5072          18 :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5073           9 :       Value |= op & UINT64_C(15);
    5074             :       // op: lane
    5075           9 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5076           9 :       Value |= (op & UINT64_C(1)) << 7;
    5077          18 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5078           9 :       break;
    5079             :     }
    5080           8 :     case ARM::VLD2LNd16_UPD:
    5081             :     case ARM::VLD2LNq16_UPD: {
    5082             :       // op: Vd
    5083           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5084           8 :       Value |= (op & UINT64_C(16)) << 18;
    5085           8 :       Value |= (op & UINT64_C(15)) << 12;
    5086             :       // op: Rn
    5087          16 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5088           8 :       Value |= (op & UINT64_C(15)) << 16;
    5089           8 :       Value |= op & UINT64_C(16);
    5090             :       // op: Rm
    5091          16 :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5092           8 :       Value |= op & UINT64_C(15);
    5093             :       // op: lane
    5094           8 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5095           8 :       Value |= (op & UINT64_C(3)) << 6;
    5096          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5097           8 :       break;
    5098             :     }
    5099           6 :     case ARM::VLD2LNd8_UPD: {
    5100             :       // op: Vd
    5101           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5102           6 :       Value |= (op & UINT64_C(16)) << 18;
    5103           6 :       Value |= (op & UINT64_C(15)) << 12;
    5104             :       // op: Rn
    5105          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5106           6 :       Value |= (op & UINT64_C(15)) << 16;
    5107           6 :       Value |= op & UINT64_C(16);
    5108             :       // op: Rm
    5109          12 :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5110           6 :       Value |= op & UINT64_C(15);
    5111             :       // op: lane
    5112           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5113           6 :       Value |= (op & UINT64_C(7)) << 5;
    5114          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5115           6 :       break;
    5116             :     }
    5117          21 :     case ARM::VLD3d16:
    5118             :     case ARM::VLD3d32:
    5119             :     case ARM::VLD3d8:
    5120             :     case ARM::VLD3q16:
    5121             :     case ARM::VLD3q32:
    5122             :     case ARM::VLD3q8: {
    5123             :       // op: Vd
    5124          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5125          21 :       Value |= (op & UINT64_C(16)) << 18;
    5126          21 :       Value |= (op & UINT64_C(15)) << 12;
    5127             :       // op: Rn
    5128          42 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5129          21 :       Value |= (op & UINT64_C(15)) << 16;
    5130          21 :       Value |= op & UINT64_C(16);
    5131          42 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5132          21 :       break;
    5133             :     }
    5134           8 :     case ARM::VLD3LNd32_UPD:
    5135             :     case ARM::VLD3LNq32_UPD: {
    5136             :       // op: Vd
    5137           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5138           8 :       Value |= (op & UINT64_C(16)) << 18;
    5139           8 :       Value |= (op & UINT64_C(15)) << 12;
    5140             :       // op: Rn
    5141          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5142           8 :       Value |= (op & UINT64_C(15)) << 16;
    5143             :       // op: Rm
    5144          16 :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5145           8 :       Value |= op & UINT64_C(15);
    5146             :       // op: lane
    5147           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5148           8 :       Value |= (op & UINT64_C(1)) << 7;
    5149          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5150           8 :       break;
    5151             :     }
    5152           8 :     case ARM::VLD3LNd16_UPD:
    5153             :     case ARM::VLD3LNq16_UPD: {
    5154             :       // op: Vd
    5155           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5156           8 :       Value |= (op & UINT64_C(16)) << 18;
    5157           8 :       Value |= (op & UINT64_C(15)) << 12;
    5158             :       // op: Rn
    5159          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5160           8 :       Value |= (op & UINT64_C(15)) << 16;
    5161             :       // op: Rm
    5162          16 :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5163           8 :       Value |= op & UINT64_C(15);
    5164             :       // op: lane
    5165           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5166           8 :       Value |= (op & UINT64_C(3)) << 6;
    5167          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5168           8 :       break;
    5169             :     }
    5170           4 :     case ARM::VLD3LNd8_UPD: {
    5171             :       // op: Vd
    5172           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5173           4 :       Value |= (op & UINT64_C(16)) << 18;
    5174           4 :       Value |= (op & UINT64_C(15)) << 12;
    5175             :       // op: Rn
    5176           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5177           4 :       Value |= (op & UINT64_C(15)) << 16;
    5178             :       // op: Rm
    5179           8 :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5180           4 :       Value |= op & UINT64_C(15);
    5181             :       // op: lane
    5182           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5183           4 :       Value |= (op & UINT64_C(7)) << 5;
    5184           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5185           4 :       break;
    5186             :     }
    5187          42 :     case ARM::VLD3d16_UPD:
    5188             :     case ARM::VLD3d32_UPD:
    5189             :     case ARM::VLD3d8_UPD:
    5190             :     case ARM::VLD3q16_UPD:
    5191             :     case ARM::VLD3q32_UPD:
    5192             :     case ARM::VLD3q8_UPD: {
    5193             :       // op: Vd
    5194          42 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5195          42 :       Value |= (op & UINT64_C(16)) << 18;
    5196          42 :       Value |= (op & UINT64_C(15)) << 12;
    5197             :       // op: Rn
    5198          84 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5199          42 :       Value |= (op & UINT64_C(15)) << 16;
    5200          42 :       Value |= op & UINT64_C(16);
    5201             :       // op: Rm
    5202          84 :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5203          42 :       Value |= op & UINT64_C(15);
    5204          84 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5205          42 :       break;
    5206             :     }
    5207           8 :     case ARM::VLD4LNd16:
    5208             :     case ARM::VLD4LNq16: {
    5209             :       // op: Vd
    5210           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5211           8 :       Value |= (op & UINT64_C(16)) << 18;
    5212           8 :       Value |= (op & UINT64_C(15)) << 12;
    5213             :       // op: Rn
    5214          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5215           8 :       Value |= (op & UINT64_C(15)) << 16;
    5216           8 :       Value |= op & UINT64_C(16);
    5217             :       // op: lane
    5218           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5219           8 :       Value |= (op & UINT64_C(3)) << 6;
    5220          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5221           8 :       break;
    5222             :     }
    5223           4 :     case ARM::VLD4LNd8: {
    5224             :       // op: Vd
    5225           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5226           4 :       Value |= (op & UINT64_C(16)) << 18;
    5227           4 :       Value |= (op & UINT64_C(15)) << 12;
    5228             :       // op: Rn
    5229           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5230           4 :       Value |= (op & UINT64_C(15)) << 16;
    5231           4 :       Value |= op & UINT64_C(16);
    5232             :       // op: lane
    5233           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5234           4 :       Value |= (op & UINT64_C(7)) << 5;
    5235           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5236           4 :       break;
    5237             :     }
    5238          10 :     case ARM::VLD4LNd32:
    5239             :     case ARM::VLD4LNq32: {
    5240             :       // op: Vd
    5241          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5242          10 :       Value |= (op & UINT64_C(16)) << 18;
    5243          10 :       Value |= (op & UINT64_C(15)) << 12;
    5244             :       // op: Rn
    5245          20 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5246          10 :       Value |= (op & UINT64_C(15)) << 16;
    5247          10 :       Value |= op & UINT64_C(48);
    5248             :       // op: lane
    5249          10 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5250          10 :       Value |= (op & UINT64_C(1)) << 7;
    5251          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5252          10 :       break;
    5253             :     }
    5254          33 :     case ARM::VLD4d16:
    5255             :     case ARM::VLD4d32:
    5256             :     case ARM::VLD4d8:
    5257             :     case ARM::VLD4q16:
    5258             :     case ARM::VLD4q32:
    5259             :     case ARM::VLD4q8: {
    5260             :       // op: Vd
    5261          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5262          33 :       Value |= (op & UINT64_C(16)) << 18;
    5263          33 :       Value |= (op & UINT64_C(15)) << 12;
    5264             :       // op: Rn
    5265          66 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5266          33 :       Value |= (op & UINT64_C(15)) << 16;
    5267          33 :       Value |= op & UINT64_C(48);
    5268          66 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5269          33 :       break;
    5270             :     }
    5271          13 :     case ARM::VLD4LNd16_UPD:
    5272             :     case ARM::VLD4LNq16_UPD: {
    5273             :       // op: Vd
    5274          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5275          13 :       Value |= (op & UINT64_C(16)) << 18;
    5276          13 :       Value |= (op & UINT64_C(15)) << 12;
    5277             :       // op: Rn
    5278          26 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5279          13 :       Value |= (op & UINT64_C(15)) << 16;
    5280          13 :       Value |= op & UINT64_C(16);
    5281             :       // op: Rm
    5282          26 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5283          13 :       Value |= op & UINT64_C(15);
    5284             :       // op: lane
    5285          13 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5286          13 :       Value |= (op & UINT64_C(3)) << 6;
    5287          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5288          13 :       break;
    5289             :     }
    5290           7 :     case ARM::VLD4LNd8_UPD: {
    5291             :       // op: Vd
    5292           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5293           7 :       Value |= (op & UINT64_C(16)) << 18;
    5294           7 :       Value |= (op & UINT64_C(15)) << 12;
    5295             :       // op: Rn
    5296          14 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5297           7 :       Value |= (op & UINT64_C(15)) << 16;
    5298           7 :       Value |= op & UINT64_C(16);
    5299             :       // op: Rm
    5300          14 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5301           7 :       Value |= op & UINT64_C(15);
    5302             :       // op: lane
    5303           7 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5304           7 :       Value |= (op & UINT64_C(7)) << 5;
    5305          14 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5306           7 :       break;
    5307             :     }
    5308          17 :     case ARM::VLD4LNd32_UPD:
    5309             :     case ARM::VLD4LNq32_UPD: {
    5310             :       // op: Vd
    5311          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5312          17 :       Value |= (op & UINT64_C(16)) << 18;
    5313          17 :       Value |= (op & UINT64_C(15)) << 12;
    5314             :       // op: Rn
    5315          34 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5316          17 :       Value |= (op & UINT64_C(15)) << 16;
    5317          17 :       Value |= op & UINT64_C(48);
    5318             :       // op: Rm
    5319          34 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5320          17 :       Value |= op & UINT64_C(15);
    5321             :       // op: lane
    5322          17 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5323          17 :       Value |= (op & UINT64_C(1)) << 7;
    5324          34 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5325          17 :       break;
    5326             :     }
    5327          66 :     case ARM::VLD4d16_UPD:
    5328             :     case ARM::VLD4d32_UPD:
    5329             :     case ARM::VLD4d8_UPD:
    5330             :     case ARM::VLD4q16_UPD:
    5331             :     case ARM::VLD4q32_UPD:
    5332             :     case ARM::VLD4q8_UPD: {
    5333             :       // op: Vd
    5334          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5335          66 :       Value |= (op & UINT64_C(16)) << 18;
    5336          66 :       Value |= (op & UINT64_C(15)) << 12;
    5337             :       // op: Rn
    5338         132 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5339          66 :       Value |= (op & UINT64_C(15)) << 16;
    5340          66 :       Value |= op & UINT64_C(48);
    5341             :       // op: Rm
    5342         132 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5343          66 :       Value |= op & UINT64_C(15);
    5344         132 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5345          66 :       break;
    5346             :     }
    5347          26 :     case ARM::VLD1DUPd16:
    5348             :     case ARM::VLD1DUPd32:
    5349             :     case ARM::VLD1DUPd8:
    5350             :     case ARM::VLD1DUPq16:
    5351             :     case ARM::VLD1DUPq32:
    5352             :     case ARM::VLD1DUPq8:
    5353             :     case ARM::VLD2DUPd16:
    5354             :     case ARM::VLD2DUPd16x2:
    5355             :     case ARM::VLD2DUPd32:
    5356             :     case ARM::VLD2DUPd32x2:
    5357             :     case ARM::VLD2DUPd8:
    5358             :     case ARM::VLD2DUPd8x2: {
    5359             :       // op: Vd
    5360          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5361          26 :       Value |= (op & UINT64_C(16)) << 18;
    5362          26 :       Value |= (op & UINT64_C(15)) << 12;
    5363             :       // op: Rn
    5364          26 :       op = getAddrMode6DupAddressOpValue(MI, 1, Fixups, STI);
    5365          26 :       Value |= (op & UINT64_C(15)) << 16;
    5366          26 :       Value |= op & UINT64_C(16);
    5367          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5368          26 :       break;
    5369             :     }
    5370          26 :     case ARM::VLD1DUPd16wb_register:
    5371             :     case ARM::VLD1DUPd32wb_register:
    5372             :     case ARM::VLD1DUPd8wb_register:
    5373             :     case ARM::VLD1DUPq16wb_register:
    5374             :     case ARM::VLD1DUPq32wb_register:
    5375             :     case ARM::VLD1DUPq8wb_register:
    5376             :     case ARM::VLD2DUPd16wb_register:
    5377             :     case ARM::VLD2DUPd16x2wb_register:
    5378             :     case ARM::VLD2DUPd32wb_register:
    5379             :     case ARM::VLD2DUPd32x2wb_register:
    5380             :     case ARM::VLD2DUPd8wb_register:
    5381             :     case ARM::VLD2DUPd8x2wb_register: {
    5382             :       // op: Vd
    5383          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5384          26 :       Value |= (op & UINT64_C(16)) << 18;
    5385          26 :       Value |= (op & UINT64_C(15)) << 12;
    5386             :       // op: Rn
    5387          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5388          26 :       Value |= (op & UINT64_C(15)) << 16;
    5389          26 :       Value |= op & UINT64_C(16);
    5390             :       // op: Rm
    5391          26 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5392          26 :       Value |= op & UINT64_C(15);
    5393          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5394          26 :       break;
    5395             :     }
    5396          26 :     case ARM::VLD1DUPd16wb_fixed:
    5397             :     case ARM::VLD1DUPd32wb_fixed:
    5398             :     case ARM::VLD1DUPd8wb_fixed:
    5399             :     case ARM::VLD1DUPq16wb_fixed:
    5400             :     case ARM::VLD1DUPq32wb_fixed:
    5401             :     case ARM::VLD1DUPq8wb_fixed:
    5402             :     case ARM::VLD2DUPd16wb_fixed:
    5403             :     case ARM::VLD2DUPd16x2wb_fixed:
    5404             :     case ARM::VLD2DUPd32wb_fixed:
    5405             :     case ARM::VLD2DUPd32x2wb_fixed:
    5406             :     case ARM::VLD2DUPd8wb_fixed:
    5407             :     case ARM::VLD2DUPd8x2wb_fixed: {
    5408             :       // op: Vd
    5409          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5410          26 :       Value |= (op & UINT64_C(16)) << 18;
    5411          26 :       Value |= (op & UINT64_C(15)) << 12;
    5412             :       // op: Rn
    5413          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5414          26 :       Value |= (op & UINT64_C(15)) << 16;
    5415          26 :       Value |= op & UINT64_C(16);
    5416          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5417          26 :       break;
    5418             :     }
    5419          12 :     case ARM::VLD3DUPd16:
    5420             :     case ARM::VLD3DUPd32:
    5421             :     case ARM::VLD3DUPd8:
    5422             :     case ARM::VLD3DUPq16:
    5423             :     case ARM::VLD3DUPq32:
    5424             :     case ARM::VLD3DUPq8: {
    5425             :       // op: Vd
    5426          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5427          12 :       Value |= (op & UINT64_C(16)) << 18;
    5428          12 :       Value |= (op & UINT64_C(15)) << 12;
    5429             :       // op: Rn
    5430          12 :       op = getAddrMode6DupAddressOpValue(MI, 3, Fixups, STI);
    5431          12 :       Value |= (op & UINT64_C(15)) << 16;
    5432          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5433          12 :       break;
    5434             :     }
    5435          24 :     case ARM::VLD3DUPd16_UPD:
    5436             :     case ARM::VLD3DUPd32_UPD:
    5437             :     case ARM::VLD3DUPd8_UPD:
    5438             :     case ARM::VLD3DUPq16_UPD:
    5439             :     case ARM::VLD3DUPq32_UPD:
    5440             :     case ARM::VLD3DUPq8_UPD: {
    5441             :       // op: Vd
    5442          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5443          24 :       Value |= (op & UINT64_C(16)) << 18;
    5444          24 :       Value |= (op & UINT64_C(15)) << 12;
    5445             :       // op: Rn
    5446          24 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5447          24 :       Value |= (op & UINT64_C(15)) << 16;
    5448             :       // op: Rm
    5449          48 :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5450          24 :       Value |= op & UINT64_C(15);
    5451          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5452          24 :       break;
    5453             :     }
    5454           8 :     case ARM::VLD4DUPd32:
    5455             :     case ARM::VLD4DUPq32: {
    5456             :       // op: Vd
    5457           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5458           8 :       Value |= (op & UINT64_C(16)) << 18;
    5459           8 :       Value |= (op & UINT64_C(15)) << 12;
    5460             :       // op: Rn
    5461           8 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5462           8 :       Value |= (op & UINT64_C(15)) << 16;
    5463           8 :       Value |= (op & UINT64_C(32)) << 1;
    5464           8 :       Value |= op & UINT64_C(16);
    5465          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5466           8 :       break;
    5467             :     }
    5468          12 :     case ARM::VLD4DUPd16:
    5469             :     case ARM::VLD4DUPd8:
    5470             :     case ARM::VLD4DUPq16:
    5471             :     case ARM::VLD4DUPq8: {
    5472             :       // op: Vd
    5473          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5474          12 :       Value |= (op & UINT64_C(16)) << 18;
    5475          12 :       Value |= (op & UINT64_C(15)) << 12;
    5476             :       // op: Rn
    5477          12 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5478          12 :       Value |= (op & UINT64_C(15)) << 16;
    5479          12 :       Value |= op & UINT64_C(16);
    5480          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5481          12 :       break;
    5482             :     }
    5483          16 :     case ARM::VLD4DUPd32_UPD:
    5484             :     case ARM::VLD4DUPq32_UPD: {
    5485             :       // op: Vd
    5486          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5487          16 :       Value |= (op & UINT64_C(16)) << 18;
    5488          16 :       Value |= (op & UINT64_C(15)) << 12;
    5489             :       // op: Rn
    5490          16 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5491          16 :       Value |= (op & UINT64_C(15)) << 16;
    5492          16 :       Value |= (op & UINT64_C(32)) << 1;
    5493          16 :       Value |= op & UINT64_C(16);
    5494             :       // op: Rm
    5495          32 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5496          16 :       Value |= op & UINT64_C(15);
    5497          32 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5498          16 :       break;
    5499             :     }
    5500          24 :     case ARM::VLD4DUPd16_UPD:
    5501             :     case ARM::VLD4DUPd8_UPD:
    5502             :     case ARM::VLD4DUPq16_UPD:
    5503             :     case ARM::VLD4DUPq8_UPD: {
    5504             :       // op: Vd
    5505          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5506          24 :       Value |= (op & UINT64_C(16)) << 18;
    5507          24 :       Value |= (op & UINT64_C(15)) << 12;
    5508             :       // op: Rn
    5509          24 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5510          24 :       Value |= (op & UINT64_C(15)) << 16;
    5511          24 :       Value |= op & UINT64_C(16);
    5512             :       // op: Rm
    5513          48 :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5514          24 :       Value |= op & UINT64_C(15);
    5515          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5516          24 :       break;
    5517             :     }
    5518           6 :     case ARM::VLD1LNd32: {
    5519             :       // op: Vd
    5520           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5521           6 :       Value |= (op & UINT64_C(16)) << 18;
    5522           6 :       Value |= (op & UINT64_C(15)) << 12;
    5523             :       // op: Rn
    5524          12 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    5525           6 :       Value |= (op & UINT64_C(15)) << 16;
    5526           6 :       Value |= op & UINT64_C(48);
    5527             :       // op: lane
    5528           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5529           6 :       Value |= (op & UINT64_C(1)) << 7;
    5530          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5531           6 :       break;
    5532             :     }
    5533          46 :     case ARM::VMOVv16i8:
    5534             :     case ARM::VMOVv1i64:
    5535             :     case ARM::VMOVv2f32:
    5536             :     case ARM::VMOVv2i64:
    5537             :     case ARM::VMOVv4f32:
    5538             :     case ARM::VMOVv8i8: {
    5539             :       // op: Vd
    5540          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5541          46 :       Value |= (op & UINT64_C(16)) << 18;
    5542          46 :       Value |= (op & UINT64_C(15)) << 12;
    5543             :       // op: SIMM
    5544          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5545          46 :       Value |= (op & UINT64_C(128)) << 17;
    5546          46 :       Value |= (op & UINT64_C(112)) << 12;
    5547          46 :       Value |= op & UINT64_C(15);
    5548          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5549          46 :       break;
    5550             :     }
    5551          19 :     case ARM::VBICiv2i32:
    5552             :     case ARM::VBICiv4i32:
    5553             :     case ARM::VORRiv2i32:
    5554             :     case ARM::VORRiv4i32: {
    5555             :       // op: Vd
    5556          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5557          19 :       Value |= (op & UINT64_C(16)) << 18;
    5558          19 :       Value |= (op & UINT64_C(15)) << 12;
    5559             :       // op: SIMM
    5560          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5561          19 :       Value |= (op & UINT64_C(128)) << 17;
    5562          19 :       Value |= (op & UINT64_C(112)) << 12;
    5563          19 :       Value |= op & UINT64_C(1536);
    5564          19 :       Value |= op & UINT64_C(15);
    5565          38 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5566          19 :       break;
    5567             :     }
    5568          50 :     case ARM::VMOVv2i32:
    5569             :     case ARM::VMOVv4i32:
    5570             :     case ARM::VMVNv2i32:
    5571             :     case ARM::VMVNv4i32: {
    5572             :       // op: Vd
    5573          50 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5574          50 :       Value |= (op & UINT64_C(16)) << 18;
    5575          50 :       Value |= (op & UINT64_C(15)) << 12;
    5576             :       // op: SIMM
    5577          50 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5578          50 :       Value |= (op & UINT64_C(128)) << 17;
    5579          50 :       Value |= (op & UINT64_C(112)) << 12;
    5580          50 :       Value |= op & UINT64_C(3840);
    5581          50 :       Value |= op & UINT64_C(15);
    5582         100 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5583          50 :       break;
    5584             :     }
    5585          20 :     case ARM::VBICiv4i16:
    5586             :     case ARM::VBICiv8i16:
    5587             :     case ARM::VMOVv4i16:
    5588             :     case ARM::VMOVv8i16:
    5589             :     case ARM::VMVNv4i16:
    5590             :     case ARM::VMVNv8i16:
    5591             :     case ARM::VORRiv4i16:
    5592             :     case ARM::VORRiv8i16: {
    5593             :       // op: Vd
    5594          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5595          20 :       Value |= (op & UINT64_C(16)) << 18;
    5596          20 :       Value |= (op & UINT64_C(15)) << 12;
    5597             :       // op: SIMM
    5598          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5599          20 :       Value |= (op & UINT64_C(128)) << 17;
    5600          20 :       Value |= (op & UINT64_C(112)) << 12;
    5601          20 :       Value |= op & UINT64_C(512);
    5602          20 :       Value |= op & UINT64_C(15);
    5603          40 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5604          20 :       break;
    5605             :     }
    5606          22 :     case ARM::VQSHLsiv4i16:
    5607             :     case ARM::VQSHLsiv8i16:
    5608             :     case ARM::VQSHLsuv4i16:
    5609             :     case ARM::VQSHLsuv8i16:
    5610             :     case ARM::VQSHLuiv4i16:
    5611             :     case ARM::VQSHLuiv8i16:
    5612             :     case ARM::VSHLLsv4i32:
    5613             :     case ARM::VSHLLuv4i32:
    5614             :     case ARM::VSHLiv4i16:
    5615             :     case ARM::VSHLiv8i16: {
    5616             :       // op: Vd
    5617          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5618          22 :       Value |= (op & UINT64_C(16)) << 18;
    5619          22 :       Value |= (op & UINT64_C(15)) << 12;
    5620             :       // op: Vm
    5621          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5622          22 :       Value |= (op & UINT64_C(16)) << 1;
    5623          22 :       Value |= op & UINT64_C(15);
    5624             :       // op: SIMM
    5625          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5626          22 :       Value |= (op & UINT64_C(15)) << 16;
    5627          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5628          22 :       break;
    5629             :     }
    5630          22 :     case ARM::VQSHLsiv2i32:
    5631             :     case ARM::VQSHLsiv4i32:
    5632             :     case ARM::VQSHLsuv2i32:
    5633             :     case ARM::VQSHLsuv4i32:
    5634             :     case ARM::VQSHLuiv2i32:
    5635             :     case ARM::VQSHLuiv4i32:
    5636             :     case ARM::VSHLLsv2i64:
    5637             :     case ARM::VSHLLuv2i64:
    5638             :     case ARM::VSHLiv2i32:
    5639             :     case ARM::VSHLiv4i32: {
    5640             :       // op: Vd
    5641          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5642          22 :       Value |= (op & UINT64_C(16)) << 18;
    5643          22 :       Value |= (op & UINT64_C(15)) << 12;
    5644             :       // op: Vm
    5645          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5646          22 :       Value |= (op & UINT64_C(16)) << 1;
    5647          22 :       Value |= op & UINT64_C(15);
    5648             :       // op: SIMM
    5649          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5650          22 :       Value |= (op & UINT64_C(31)) << 16;
    5651          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5652          22 :       break;
    5653             :     }
    5654          18 :     case ARM::VQSHLsiv1i64:
    5655             :     case ARM::VQSHLsiv2i64:
    5656             :     case ARM::VQSHLsuv1i64:
    5657             :     case ARM::VQSHLsuv2i64:
    5658             :     case ARM::VQSHLuiv1i64:
    5659             :     case ARM::VQSHLuiv2i64:
    5660             :     case ARM::VSHLiv1i64:
    5661             :     case ARM::VSHLiv2i64: {
    5662             :       // op: Vd
    5663          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5664          18 :       Value |= (op & UINT64_C(16)) << 18;
    5665          18 :       Value |= (op & UINT64_C(15)) << 12;
    5666             :       // op: Vm
    5667          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5668          18 :       Value |= (op & UINT64_C(16)) << 1;
    5669          18 :       Value |= op & UINT64_C(15);
    5670             :       // op: SIMM
    5671          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5672          18 :       Value |= (op & UINT64_C(63)) << 16;
    5673          36 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5674          18 :       break;
    5675             :     }
    5676          22 :     case ARM::VQSHLsiv16i8:
    5677             :     case ARM::VQSHLsiv8i8:
    5678             :     case ARM::VQSHLsuv16i8:
    5679             :     case ARM::VQSHLsuv8i8:
    5680             :     case ARM::VQSHLuiv16i8:
    5681             :     case ARM::VQSHLuiv8i8:
    5682             :     case ARM::VSHLLsv8i16:
    5683             :     case ARM::VSHLLuv8i16:
    5684             :     case ARM::VSHLiv16i8:
    5685             :     case ARM::VSHLiv8i8: {
    5686             :       // op: Vd
    5687          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5688          22 :       Value |= (op & UINT64_C(16)) << 18;
    5689          22 :       Value |= (op & UINT64_C(15)) << 12;
    5690             :       // op: Vm
    5691          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5692          22 :       Value |= (op & UINT64_C(16)) << 1;
    5693          22 :       Value |= op & UINT64_C(15);
    5694             :       // op: SIMM
    5695          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5696          22 :       Value |= (op & UINT64_C(7)) << 16;
    5697          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5698          22 :       break;
    5699             :     }
    5700          56 :     case ARM::VCVTf2xsd:
    5701             :     case ARM::VCVTf2xsq:
    5702             :     case ARM::VCVTf2xud:
    5703             :     case ARM::VCVTf2xuq:
    5704             :     case ARM::VCVTh2xsd:
    5705             :     case ARM::VCVTh2xsq:
    5706             :     case ARM::VCVTh2xud:
    5707             :     case ARM::VCVTh2xuq:
    5708             :     case ARM::VCVTxs2fd:
    5709             :     case ARM::VCVTxs2fq:
    5710             :     case ARM::VCVTxs2hd:
    5711             :     case ARM::VCVTxs2hq:
    5712             :     case ARM::VCVTxu2fd:
    5713             :     case ARM::VCVTxu2fq:
    5714             :     case ARM::VCVTxu2hd:
    5715             :     case ARM::VCVTxu2hq: {
    5716             :       // op: Vd
    5717          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5718          56 :       Value |= (op & UINT64_C(16)) << 18;
    5719          56 :       Value |= (op & UINT64_C(15)) << 12;
    5720             :       // op: Vm
    5721          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5722          56 :       Value |= (op & UINT64_C(16)) << 1;
    5723          56 :       Value |= op & UINT64_C(15);
    5724             :       // op: SIMM
    5725         112 :       op = getNEONVcvtImm32OpValue(MI, 2, Fixups, STI);
    5726          56 :       Value |= (op & UINT64_C(63)) << 16;
    5727         112 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5728          56 :       break;
    5729             :     }
    5730          46 :     case ARM::VQRSHRNsv4i16:
    5731             :     case ARM::VQRSHRNuv4i16:
    5732             :     case ARM::VQRSHRUNv4i16:
    5733             :     case ARM::VQSHRNsv4i16:
    5734             :     case ARM::VQSHRNuv4i16:
    5735             :     case ARM::VQSHRUNv4i16:
    5736             :     case ARM::VRSHRNv4i16:
    5737             :     case ARM::VRSHRsv4i16:
    5738             :     case ARM::VRSHRsv8i16:
    5739             :     case ARM::VRSHRuv4i16:
    5740             :     case ARM::VRSHRuv8i16:
    5741             :     case ARM::VSHRNv4i16:
    5742             :     case ARM::VSHRsv4i16:
    5743             :     case ARM::VSHRsv8i16:
    5744             :     case ARM::VSHRuv4i16:
    5745             :     case ARM::VSHRuv8i16: {
    5746             :       // op: Vd
    5747          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5748          46 :       Value |= (op & UINT64_C(16)) << 18;
    5749          46 :       Value |= (op & UINT64_C(15)) << 12;
    5750             :       // op: Vm
    5751          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5752          46 :       Value |= (op & UINT64_C(16)) << 1;
    5753          46 :       Value |= op & UINT64_C(15);
    5754             :       // op: SIMM
    5755          92 :       op = getShiftRight16Imm(MI, 2, Fixups, STI);
    5756          46 :       Value |= (op & UINT64_C(15)) << 16;
    5757          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5758          46 :       break;
    5759             :     }
    5760          46 :     case ARM::VQRSHRNsv2i32:
    5761             :     case ARM::VQRSHRNuv2i32:
    5762             :     case ARM::VQRSHRUNv2i32:
    5763             :     case ARM::VQSHRNsv2i32:
    5764             :     case ARM::VQSHRNuv2i32:
    5765             :     case ARM::VQSHRUNv2i32:
    5766             :     case ARM::VRSHRNv2i32:
    5767             :     case ARM::VRSHRsv2i32:
    5768             :     case ARM::VRSHRsv4i32:
    5769             :     case ARM::VRSHRuv2i32:
    5770             :     case ARM::VRSHRuv4i32:
    5771             :     case ARM::VSHRNv2i32:
    5772             :     case ARM::VSHRsv2i32:
    5773             :     case ARM::VSHRsv4i32:
    5774             :     case ARM::VSHRuv2i32:
    5775             :     case ARM::VSHRuv4i32: {
    5776             :       // op: Vd
    5777          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5778          46 :       Value |= (op & UINT64_C(16)) << 18;
    5779          46 :       Value |= (op & UINT64_C(15)) << 12;
    5780             :       // op: Vm
    5781          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5782          46 :       Value |= (op & UINT64_C(16)) << 1;
    5783          46 :       Value |= op & UINT64_C(15);
    5784             :       // op: SIMM
    5785          92 :       op = getShiftRight32Imm(MI, 2, Fixups, STI);
    5786          46 :       Value |= (op & UINT64_C(31)) << 16;
    5787          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5788          46 :       break;
    5789             :     }
    5790          28 :     case ARM::VRSHRsv1i64:
    5791             :     case ARM::VRSHRsv2i64:
    5792             :     case ARM::VRSHRuv1i64:
    5793             :     case ARM::VRSHRuv2i64:
    5794             :     case ARM::VSHRsv1i64:
    5795             :     case ARM::VSHRsv2i64:
    5796             :     case ARM::VSHRuv1i64:
    5797             :     case ARM::VSHRuv2i64: {
    5798             :       // op: Vd
    5799          28 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5800          28 :       Value |= (op & UINT64_C(16)) << 18;
    5801          28 :       Value |= (op & UINT64_C(15)) << 12;
    5802             :       // op: Vm
    5803          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5804          28 :       Value |= (op & UINT64_C(16)) << 1;
    5805          28 :       Value |= op & UINT64_C(15);
    5806             :       // op: SIMM
    5807          56 :       op = getShiftRight64Imm(MI, 2, Fixups, STI);
    5808          28 :       Value |= (op & UINT64_C(63)) << 16;
    5809          56 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5810          28 :       break;
    5811             :     }
    5812          46 :     case ARM::VQRSHRNsv8i8:
    5813             :     case ARM::VQRSHRNuv8i8:
    5814             :     case ARM::VQRSHRUNv8i8:
    5815             :     case ARM::VQSHRNsv8i8:
    5816             :     case ARM::VQSHRNuv8i8:
    5817             :     case ARM::VQSHRUNv8i8:
    5818             :     case ARM::VRSHRNv8i8:
    5819             :     case ARM::VRSHRsv16i8:
    5820             :     case ARM::VRSHRsv8i8:
    5821             :     case ARM::VRSHRuv16i8:
    5822             :     case ARM::VRSHRuv8i8:
    5823             :     case ARM::VSHRNv8i8:
    5824             :     case ARM::VSHRsv16i8:
    5825             :     case ARM::VSHRsv8i8:
    5826             :     case ARM::VSHRuv16i8:
    5827             :     case ARM::VSHRuv8i8: {
    5828             :       // op: Vd
    5829          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5830          46 :       Value |= (op & UINT64_C(16)) << 18;
    5831          46 :       Value |= (op & UINT64_C(15)) << 12;
    5832             :       // op: Vm
    5833          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5834          46 :       Value |= (op & UINT64_C(16)) << 1;
    5835          46 :       Value |= op & UINT64_C(15);
    5836             :       // op: SIMM
    5837          92 :       op = getShiftRight8Imm(MI, 2, Fixups, STI);
    5838          46 :       Value |= (op & UINT64_C(7)) << 16;
    5839          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5840          46 :       break;
    5841             :     }
    5842           6 :     case ARM::VDUPLN32d:
    5843             :     case ARM::VDUPLN32q: {
    5844             :       // op: Vd
    5845           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5846           6 :       Value |= (op & UINT64_C(16)) << 18;
    5847           6 :       Value |= (op & UINT64_C(15)) << 12;
    5848             :       // op: Vm
    5849           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5850           6 :       Value |= (op & UINT64_C(16)) << 1;
    5851           6 :       Value |= op & UINT64_C(15);
    5852             :       // op: lane
    5853           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5854           6 :       Value |= (op & UINT64_C(1)) << 19;
    5855          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5856           6 :       break;
    5857             :     }
    5858           6 :     case ARM::VDUPLN16d:
    5859             :     case ARM::VDUPLN16q: {
    5860             :       // op: Vd
    5861           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5862           6 :       Value |= (op & UINT64_C(16)) << 18;
    5863           6 :       Value |= (op & UINT64_C(15)) << 12;
    5864             :       // op: Vm
    5865           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5866           6 :       Value |= (op & UINT64_C(16)) << 1;
    5867           6 :       Value |= op & UINT64_C(15);
    5868             :       // op: lane
    5869           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5870           6 :       Value |= (op & UINT64_C(3)) << 18;
    5871          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5872           6 :       break;
    5873             :     }
    5874           6 :     case ARM::VDUPLN8d:
    5875             :     case ARM::VDUPLN8q: {
    5876             :       // op: Vd
    5877           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5878           6 :       Value |= (op & UINT64_C(16)) << 18;
    5879           6 :       Value |= (op & UINT64_C(15)) << 12;
    5880             :       // op: Vm
    5881           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5882           6 :       Value |= (op & UINT64_C(16)) << 1;
    5883           6 :       Value |= op & UINT64_C(15);
    5884             :       // op: lane
    5885           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5886           6 :       Value |= (op & UINT64_C(7)) << 17;
    5887          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5888           6 :       break;
    5889             :     }
    5890         454 :     case ARM::AESIMC:
    5891             :     case ARM::AESMC:
    5892             :     case ARM::SHA1H:
    5893             :     case ARM::VABSfd:
    5894             :     case ARM::VABSfq:
    5895             :     case ARM::VABShd:
    5896             :     case ARM::VABShq:
    5897             :     case ARM::VABSv16i8:
    5898             :     case ARM::VABSv2i32:
    5899             :     case ARM::VABSv4i16:
    5900             :     case ARM::VABSv4i32:
    5901             :     case ARM::VABSv8i16:
    5902             :     case ARM::VABSv8i8:
    5903             :     case ARM::VCEQzv16i8:
    5904             :     case ARM::VCEQzv2f32:
    5905             :     case ARM::VCEQzv2i32:
    5906             :     case ARM::VCEQzv4f16:
    5907             :     case ARM::VCEQzv4f32:
    5908             :     case ARM::VCEQzv4i16:
    5909             :     case ARM::VCEQzv4i32:
    5910             :     case ARM::VCEQzv8f16:
    5911             :     case ARM::VCEQzv8i16:
    5912             :     case ARM::VCEQzv8i8:
    5913             :     case ARM::VCGEzv16i8:
    5914             :     case ARM::VCGEzv2f32:
    5915             :     case ARM::VCGEzv2i32:
    5916             :     case ARM::VCGEzv4f16:
    5917             :     case ARM::VCGEzv4f32:
    5918             :     case ARM::VCGEzv4i16:
    5919             :     case ARM::VCGEzv4i32:
    5920             :     case ARM::VCGEzv8f16:
    5921             :     case ARM::VCGEzv8i16:
    5922             :     case ARM::VCGEzv8i8:
    5923             :     case ARM::VCGTzv16i8:
    5924             :     case ARM::VCGTzv2f32:
    5925             :     case ARM::VCGTzv2i32:
    5926             :     case ARM::VCGTzv4f16:
    5927             :     case ARM::VCGTzv4f32:
    5928             :     case ARM::VCGTzv4i16:
    5929             :     case ARM::VCGTzv4i32:
    5930             :     case ARM::VCGTzv8f16:
    5931             :     case ARM::VCGTzv8i16:
    5932             :     case ARM::VCGTzv8i8:
    5933             :     case ARM::VCLEzv16i8:
    5934             :     case ARM::VCLEzv2f32:
    5935             :     case ARM::VCLEzv2i32:
    5936             :     case ARM::VCLEzv4f16:
    5937             :     case ARM::VCLEzv4f32:
    5938             :     case ARM::VCLEzv4i16:
    5939             :     case ARM::VCLEzv4i32:
    5940             :     case ARM::VCLEzv8f16:
    5941             :     case ARM::VCLEzv8i16:
    5942             :     case ARM::VCLEzv8i8:
    5943             :     case ARM::VCLSv16i8:
    5944             :     case ARM::VCLSv2i32:
    5945             :     case ARM::VCLSv4i16:
    5946             :     case ARM::VCLSv4i32:
    5947             :     case ARM::VCLSv8i16:
    5948             :     case ARM::VCLSv8i8:
    5949             :     case ARM::VCLTzv16i8:
    5950             :     case ARM::VCLTzv2f32:
    5951             :     case ARM::VCLTzv2i32:
    5952             :     case ARM::VCLTzv4f16:
    5953             :     case ARM::VCLTzv4f32:
    5954             :     case ARM::VCLTzv4i16:
    5955             :     case ARM::VCLTzv4i32:
    5956             :     case ARM::VCLTzv8f16:
    5957             :     case ARM::VCLTzv8i16:
    5958             :     case ARM::VCLTzv8i8:
    5959             :     case ARM::VCLZv16i8:
    5960             :     case ARM::VCLZv2i32:
    5961             :     case ARM::VCLZv4i16:
    5962             :     case ARM::VCLZv4i32:
    5963             :     case ARM::VCLZv8i16:
    5964             :     case ARM::VCLZv8i8:
    5965             :     case ARM::VCNTd:
    5966             :     case ARM::VCNTq:
    5967             :     case ARM::VCVTf2h:
    5968             :     case ARM::VCVTf2sd:
    5969             :     case ARM::VCVTf2sq:
    5970             :     case ARM::VCVTf2ud:
    5971             :     case ARM::VCVTf2uq:
    5972             :     case ARM::VCVTh2f:
    5973             :     case ARM::VCVTh2sd:
    5974             :     case ARM::VCVTh2sq:
    5975             :     case ARM::VCVTh2ud:
    5976             :     case ARM::VCVTh2uq:
    5977             :     case ARM::VCVTs2fd:
    5978             :     case ARM::VCVTs2fq:
    5979             :     case ARM::VCVTs2hd:
    5980             :     case ARM::VCVTs2hq:
    5981             :     case ARM::VCVTu2fd:
    5982             :     case ARM::VCVTu2fq:
    5983             :     case ARM::VCVTu2hd:
    5984             :     case ARM::VCVTu2hq:
    5985             :     case ARM::VMOVLsv2i64:
    5986             :     case ARM::VMOVLsv4i32:
    5987             :     case ARM::VMOVLsv8i16:
    5988             :     case ARM::VMOVLuv2i64:
    5989             :     case ARM::VMOVLuv4i32:
    5990             :     case ARM::VMOVLuv8i16:
    5991             :     case ARM::VMOVNv2i32:
    5992             :     case ARM::VMOVNv4i16:
    5993             :     case ARM::VMOVNv8i8:
    5994             :     case ARM::VMVNd:
    5995             :     case ARM::VMVNq:
    5996             :     case ARM::VNEGf32q:
    5997             :     case ARM::VNEGfd:
    5998             :     case ARM::VNEGhd:
    5999             :     case ARM::VNEGhq:
    6000             :     case ARM::VNEGs16d:
    6001             :     case ARM::VNEGs16q:
    6002             :     case ARM::VNEGs32d:
    6003             :     case ARM::VNEGs32q:
    6004             :     case ARM::VNEGs8d:
    6005             :     case ARM::VNEGs8q:
    6006             :     case ARM::VPADDLsv16i8:
    6007             :     case ARM::VPADDLsv2i32:
    6008             :     case ARM::VPADDLsv4i16:
    6009             :     case ARM::VPADDLsv4i32:
    6010             :     case ARM::VPADDLsv8i16:
    6011             :     case ARM::VPADDLsv8i8:
    6012             :     case ARM::VPADDLuv16i8:
    6013             :     case ARM::VPADDLuv2i32:
    6014             :     case ARM::VPADDLuv4i16:
    6015             :     case ARM::VPADDLuv4i32:
    6016             :     case ARM::VPADDLuv8i16:
    6017             :     case ARM::VPADDLuv8i8:
    6018             :     case ARM::VQABSv16i8:
    6019             :     case ARM::VQABSv2i32:
    6020             :     case ARM::VQABSv4i16:
    6021             :     case ARM::VQABSv4i32:
    6022             :     case ARM::VQABSv8i16:
    6023             :     case ARM::VQABSv8i8:
    6024             :     case ARM::VQMOVNsuv2i32:
    6025             :     case ARM::VQMOVNsuv4i16:
    6026             :     case ARM::VQMOVNsuv8i8:
    6027             :     case ARM::VQMOVNsv2i32:
    6028             :     case ARM::VQMOVNsv4i16:
    6029             :     case ARM::VQMOVNsv8i8:
    6030             :     case ARM::VQMOVNuv2i32:
    6031             :     case ARM::VQMOVNuv4i16:
    6032             :     case ARM::VQMOVNuv8i8:
    6033             :     case ARM::VQNEGv16i8:
    6034             :     case ARM::VQNEGv2i32:
    6035             :     case ARM::VQNEGv4i16:
    6036             :     case ARM::VQNEGv4i32:
    6037             :     case ARM::VQNEGv8i16:
    6038             :     case ARM::VQNEGv8i8:
    6039             :     case ARM::VRECPEd:
    6040             :     case ARM::VRECPEfd:
    6041             :     case ARM::VRECPEfq:
    6042             :     case ARM::VRECPEhd:
    6043             :     case ARM::VRECPEhq:
    6044             :     case ARM::VRECPEq:
    6045             :     case ARM::VREV16d8:
    6046             :     case ARM::VREV16q8:
    6047             :     case ARM::VREV32d16:
    6048             :     case ARM::VREV32d8:
    6049             :     case ARM::VREV32q16:
    6050             :     case ARM::VREV32q8:
    6051             :     case ARM::VREV64d16:
    6052             :     case ARM::VREV64d32:
    6053             :     case ARM::VREV64d8:
    6054             :     case ARM::VREV64q16:
    6055             :     case ARM::VREV64q32:
    6056             :     case ARM::VREV64q8:
    6057             :     case ARM::VRSQRTEd:
    6058             :     case ARM::VRSQRTEfd:
    6059             :     case ARM::VRSQRTEfq:
    6060             :     case ARM::VRSQRTEhd:
    6061             :     case ARM::VRSQRTEhq:
    6062             :     case ARM::VRSQRTEq:
    6063             :     case ARM::VSHLLi16:
    6064             :     case ARM::VSHLLi32:
    6065             :     case ARM::VSHLLi8:
    6066             :     case ARM::VSWPd:
    6067             :     case ARM::VSWPq:
    6068             :     case ARM::VTRNd16:
    6069             :     case ARM::VTRNd32:
    6070             :     case ARM::VTRNd8:
    6071             :     case ARM::VTRNq16:
    6072             :     case ARM::VTRNq32:
    6073             :     case ARM::VTRNq8:
    6074             :     case ARM::VUZPd16:
    6075             :     case ARM::VUZPd8:
    6076             :     case ARM::VUZPq16:
    6077             :     case ARM::VUZPq32:
    6078             :     case ARM::VUZPq8:
    6079             :     case ARM::VZIPd16:
    6080             :     case ARM::VZIPd8:
    6081             :     case ARM::VZIPq16:
    6082             :     case ARM::VZIPq32:
    6083             :     case ARM::VZIPq8: {
    6084             :       // op: Vd
    6085         454 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6086         454 :       Value |= (op & UINT64_C(16)) << 18;
    6087         454 :       Value |= (op & UINT64_C(15)) << 12;
    6088             :       // op: Vm
    6089         454 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6090         454 :       Value |= (op & UINT64_C(16)) << 1;
    6091         454 :       Value |= op & UINT64_C(15);
    6092         908 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6093         454 :       break;
    6094             :     }
    6095         178 :     case ARM::VCVTANSDf:
    6096             :     case ARM::VCVTANSDh:
    6097             :     case ARM::VCVTANSQf:
    6098             :     case ARM::VCVTANSQh:
    6099             :     case ARM::VCVTANUDf:
    6100             :     case ARM::VCVTANUDh:
    6101             :     case ARM::VCVTANUQf:
    6102             :     case ARM::VCVTANUQh:
    6103             :     case ARM::VCVTMNSDf:
    6104             :     case ARM::VCVTMNSDh:
    6105             :     case ARM::VCVTMNSQf:
    6106             :     case ARM::VCVTMNSQh:
    6107             :     case ARM::VCVTMNUDf:
    6108             :     case ARM::VCVTMNUDh:
    6109             :     case ARM::VCVTMNUQf:
    6110             :     case ARM::VCVTMNUQh:
    6111             :     case ARM::VCVTNNSDf:
    6112             :     case ARM::VCVTNNSDh:
    6113             :     case ARM::VCVTNNSQf:
    6114             :     case ARM::VCVTNNSQh:
    6115             :     case ARM::VCVTNNUDf:
    6116             :     case ARM::VCVTNNUDh:
    6117             :     case ARM::VCVTNNUQf:
    6118             :     case ARM::VCVTNNUQh:
    6119             :     case ARM::VCVTPNSDf:
    6120             :     case ARM::VCVTPNSDh:
    6121             :     case ARM::VCVTPNSQf:
    6122             :     case ARM::VCVTPNSQh:
    6123             :     case ARM::VCVTPNUDf:
    6124             :     case ARM::VCVTPNUDh:
    6125             :     case ARM::VCVTPNUQf:
    6126             :     case ARM::VCVTPNUQh:
    6127             :     case ARM::VRINTANDf:
    6128             :     case ARM::VRINTANDh:
    6129             :     case ARM::VRINTANQf:
    6130             :     case ARM::VRINTANQh:
    6131             :     case ARM::VRINTMNDf:
    6132             :     case ARM::VRINTMNDh:
    6133             :     case ARM::VRINTMNQf:
    6134             :     case ARM::VRINTMNQh:
    6135             :     case ARM::VRINTNNDf:
    6136             :     case ARM::VRINTNNDh:
    6137             :     case ARM::VRINTNNQf:
    6138             :     case ARM::VRINTNNQh:
    6139             :     case ARM::VRINTPNDf:
    6140             :     case ARM::VRINTPNDh:
    6141             :     case ARM::VRINTPNQf:
    6142             :     case ARM::VRINTPNQh:
    6143             :     case ARM::VRINTXNDf:
    6144             :     case ARM::VRINTXNDh:
    6145             :     case ARM::VRINTXNQf:
    6146             :     case ARM::VRINTXNQh:
    6147             :     case ARM::VRINTZNDf:
    6148             :     case ARM::VRINTZNDh:
    6149             :     case ARM::VRINTZNQf:
    6150             :     case ARM::VRINTZNQh: {
    6151             :       // op: Vd
    6152         178 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6153         178 :       Value |= (op & UINT64_C(16)) << 18;
    6154         178 :       Value |= (op & UINT64_C(15)) << 12;
    6155             :       // op: Vm
    6156         178 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6157         178 :       Value |= (op & UINT64_C(16)) << 1;
    6158         178 :       Value |= op & UINT64_C(15);
    6159         356 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    6160         178 :       break;
    6161             :     }
    6162          12 :     case ARM::VSLIv4i16:
    6163             :     case ARM::VSLIv8i16: {
    6164             :       // op: Vd
    6165          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6166          12 :       Value |= (op & UINT64_C(16)) << 18;
    6167          12 :       Value |= (op & UINT64_C(15)) << 12;
    6168             :       // op: Vm
    6169          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6170          12 :       Value |= (op & UINT64_C(16)) << 1;
    6171          12 :       Value |= op & UINT64_C(15);
    6172             :       // op: SIMM
    6173          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6174          12 :       Value |= (op & UINT64_C(15)) << 16;
    6175          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6176          12 :       break;
    6177             :     }
    6178          12 :     case ARM::VSLIv2i32:
    6179             :     case ARM::VSLIv4i32: {
    6180             :       // op: Vd
    6181          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6182          12 :       Value |= (op & UINT64_C(16)) << 18;
    6183          12 :       Value |= (op & UINT64_C(15)) << 12;
    6184             :       // op: Vm
    6185          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6186          12 :       Value |= (op & UINT64_C(16)) << 1;
    6187          12 :       Value |= op & UINT64_C(15);
    6188             :       // op: SIMM
    6189          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6190          12 :       Value |= (op & UINT64_C(31)) << 16;
    6191          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6192          12 :       break;
    6193             :     }
    6194          12 :     case ARM::VSLIv1i64:
    6195             :     case ARM::VSLIv2i64: {
    6196             :       // op: Vd
    6197          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6198          12 :       Value |= (op & UINT64_C(16)) << 18;
    6199          12 :       Value |= (op & UINT64_C(15)) << 12;
    6200             :       // op: Vm
    6201          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6202          12 :       Value |= (op & UINT64_C(16)) << 1;
    6203          12 :       Value |= op & UINT64_C(15);
    6204             :       // op: SIMM
    6205          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6206          12 :       Value |= (op & UINT64_C(63)) << 16;
    6207          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6208          12 :       break;
    6209             :     }
    6210          12 :     case ARM::VSLIv16i8:
    6211             :     case ARM::VSLIv8i8: {
    6212             :       // op: Vd
    6213          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6214          12 :       Value |= (op & UINT64_C(16)) << 18;
    6215          12 :       Value |= (op & UINT64_C(15)) << 12;
    6216             :       // op: Vm
    6217          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6218          12 :       Value |= (op & UINT64_C(16)) << 1;
    6219          12 :       Value |= op & UINT64_C(15);
    6220             :       // op: SIMM
    6221          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6222          12 :       Value |= (op & UINT64_C(7)) << 16;
    6223          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6224          12 :       break;
    6225             :     }
    6226          52 :     case ARM::VRSRAsv4i16:
    6227             :     case ARM::VRSRAsv8i16:
    6228             :     case ARM::VRSRAuv4i16:
    6229             :     case ARM::VRSRAuv8i16:
    6230             :     case ARM::VSRAsv4i16:
    6231             :     case ARM::VSRAsv8i16:
    6232             :     case ARM::VSRAuv4i16:
    6233             :     case ARM::VSRAuv8i16:
    6234             :     case ARM::VSRIv4i16:
    6235             :     case ARM::VSRIv8i16: {
    6236             :       // op: Vd
    6237          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6238          52 :       Value |= (op & UINT64_C(16)) << 18;
    6239          52 :       Value |= (op & UINT64_C(15)) << 12;
    6240             :       // op: Vm
    6241          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6242          52 :       Value |= (op & UINT64_C(16)) << 1;
    6243          52 :       Value |= op & UINT64_C(15);
    6244             :       // op: SIMM
    6245         104 :       op = getShiftRight16Imm(MI, 3, Fixups, STI);
    6246          52 :       Value |= (op & UINT64_C(15)) << 16;
    6247         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6248          52 :       break;
    6249             :     }
    6250          52 :     case ARM::VRSRAsv2i32:
    6251             :     case ARM::VRSRAsv4i32:
    6252             :     case ARM::VRSRAuv2i32:
    6253             :     case ARM::VRSRAuv4i32:
    6254             :     case ARM::VSRAsv2i32:
    6255             :     case ARM::VSRAsv4i32:
    6256             :     case ARM::VSRAuv2i32:
    6257             :     case ARM::VSRAuv4i32:
    6258             :     case ARM::VSRIv2i32:
    6259             :     case ARM::VSRIv4i32: {
    6260             :       // op: Vd
    6261          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6262          52 :       Value |= (op & UINT64_C(16)) << 18;
    6263          52 :       Value |= (op & UINT64_C(15)) << 12;
    6264             :       // op: Vm
    6265          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6266          52 :       Value |= (op & UINT64_C(16)) << 1;
    6267          52 :       Value |= op & UINT64_C(15);
    6268             :       // op: SIMM
    6269         104 :       op = getShiftRight32Imm(MI, 3, Fixups, STI);
    6270          52 :       Value |= (op & UINT64_C(31)) << 16;
    6271         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6272          52 :       break;
    6273             :     }
    6274          52 :     case ARM::VRSRAsv1i64:
    6275             :     case ARM::VRSRAsv2i64:
    6276             :     case ARM::VRSRAuv1i64:
    6277             :     case ARM::VRSRAuv2i64:
    6278             :     case ARM::VSRAsv1i64:
    6279             :     case ARM::VSRAsv2i64:
    6280             :     case ARM::VSRAuv1i64:
    6281             :     case ARM::VSRAuv2i64:
    6282             :     case ARM::VSRIv1i64:
    6283             :     case ARM::VSRIv2i64: {
    6284             :       // op: Vd
    6285          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6286          52 :       Value |= (op & UINT64_C(16)) << 18;
    6287          52 :       Value |= (op & UINT64_C(15)) << 12;
    6288             :       // op: Vm
    6289          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6290          52 :       Value |= (op & UINT64_C(16)) << 1;
    6291          52 :       Value |= op & UINT64_C(15);
    6292             :       // op: SIMM
    6293         104 :       op = getShiftRight64Imm(MI, 3, Fixups, STI);
    6294          52 :       Value |= (op & UINT64_C(63)) << 16;
    6295         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6296          52 :       break;
    6297             :     }
    6298          52 :     case ARM::VRSRAsv16i8:
    6299             :     case ARM::VRSRAsv8i8:
    6300             :     case ARM::VRSRAuv16i8:
    6301             :     case ARM::VRSRAuv8i8:
    6302             :     case ARM::VSRAsv16i8:
    6303             :     case ARM::VSRAsv8i8:
    6304             :     case ARM::VSRAuv16i8:
    6305             :     case ARM::VSRAuv8i8:
    6306             :     case ARM::VSRIv16i8:
    6307             :     case ARM::VSRIv8i8: {
    6308             :       // op: Vd
    6309          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6310          52 :       Value |= (op & UINT64_C(16)) << 18;
    6311          52 :       Value |= (op & UINT64_C(15)) << 12;
    6312             :       // op: Vm
    6313          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6314          52 :       Value |= (op & UINT64_C(16)) << 1;
    6315          52 :       Value |= op & UINT64_C(15);
    6316             :       // op: SIMM
    6317         104 :       op = getShiftRight8Imm(MI, 3, Fixups, STI);
    6318          52 :       Value |= (op & UINT64_C(7)) << 16;
    6319         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6320          52 :       break;
    6321             :     }
    6322          32 :     case ARM::AESD:
    6323             :     case ARM::AESE:
    6324             :     case ARM::SHA1SU1:
    6325             :     case ARM::SHA256SU0:
    6326             :     case ARM::VPADALsv16i8:
    6327             :     case ARM::VPADALsv2i32:
    6328             :     case ARM::VPADALsv4i16:
    6329             :     case ARM::VPADALsv4i32:
    6330             :     case ARM::VPADALsv8i16:
    6331             :     case ARM::VPADALsv8i8:
    6332             :     case ARM::VPADALuv16i8:
    6333             :     case ARM::VPADALuv2i32:
    6334             :     case ARM::VPADALuv4i16:
    6335             :     case ARM::VPADALuv4i32:
    6336             :     case ARM::VPADALuv8i16:
    6337             :     case ARM::VPADALuv8i8: {
    6338             :       // op: Vd
    6339          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6340          32 :       Value |= (op & UINT64_C(16)) << 18;
    6341          32 :       Value |= (op & UINT64_C(15)) << 12;
    6342             :       // op: Vm
    6343          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6344          32 :       Value |= (op & UINT64_C(16)) << 1;
    6345          32 :       Value |= op & UINT64_C(15);
    6346          64 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6347          32 :       break;
    6348             :     }
    6349          24 :     case ARM::VSDOTD:
    6350             :     case ARM::VSDOTQ:
    6351             :     case ARM::VUDOTD:
    6352             :     case ARM::VUDOTQ: {
    6353             :       // op: Vd
    6354          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6355          24 :       Value |= (op & UINT64_C(16)) << 18;
    6356          24 :       Value |= (op & UINT64_C(15)) << 12;
    6357             :       // op: Vn
    6358          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6359          24 :       Value |= (op & UINT64_C(15)) << 16;
    6360          24 :       Value |= (op & UINT64_C(16)) << 3;
    6361             :       // op: Vm
    6362          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6363          24 :       Value |= (op & UINT64_C(16)) << 1;
    6364          24 :       Value |= op & UINT64_C(15);
    6365          24 :       break;
    6366             :     }
    6367           0 :     case ARM::VEXTd32: {
    6368             :       // op: Vd
    6369           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6370           0 :       Value |= (op & UINT64_C(16)) << 18;
    6371           0 :       Value |= (op & UINT64_C(15)) << 12;
    6372             :       // op: Vn
    6373           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6374           0 :       Value |= (op & UINT64_C(15)) << 16;
    6375           0 :       Value |= (op & UINT64_C(16)) << 3;
    6376             :       // op: Vm
    6377           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6378           0 :       Value |= (op & UINT64_C(16)) << 1;
    6379           0 :       Value |= op & UINT64_C(15);
    6380             :       // op: index
    6381           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6382           0 :       Value |= (op & UINT64_C(1)) << 10;
    6383           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6384           0 :       break;
    6385             :     }
    6386           2 :     case ARM::VEXTq64: {
    6387             :       // op: Vd
    6388           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6389           2 :       Value |= (op & UINT64_C(16)) << 18;
    6390           2 :       Value |= (op & UINT64_C(15)) << 12;
    6391             :       // op: Vn
    6392           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6393           2 :       Value |= (op & UINT64_C(15)) << 16;
    6394           2 :       Value |= (op & UINT64_C(16)) << 3;
    6395             :       // op: Vm
    6396           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6397           2 :       Value |= (op & UINT64_C(16)) << 1;
    6398           2 :       Value |= op & UINT64_C(15);
    6399             :       // op: index
    6400           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6401           2 :       Value |= (op & UINT64_C(1)) << 11;
    6402           4 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6403           2 :       break;
    6404             :     }
    6405           8 :     case ARM::VEXTq8: {
    6406             :       // op: Vd
    6407           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6408           8 :       Value |= (op & UINT64_C(16)) << 18;
    6409           8 :       Value |= (op & UINT64_C(15)) << 12;
    6410             :       // op: Vn
    6411           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6412           8 :       Value |= (op & UINT64_C(15)) << 16;
    6413           8 :       Value |= (op & UINT64_C(16)) << 3;
    6414             :       // op: Vm
    6415           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6416           8 :       Value |= (op & UINT64_C(16)) << 1;
    6417           8 :       Value |= op & UINT64_C(15);
    6418             :       // op: index
    6419           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6420           8 :       Value |= (op & UINT64_C(15)) << 8;
    6421          16 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6422           8 :       break;
    6423             :     }
    6424           4 :     case ARM::VEXTq32: {
    6425             :       // op: Vd
    6426           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6427           4 :       Value |= (op & UINT64_C(16)) << 18;
    6428           4 :       Value |= (op & UINT64_C(15)) << 12;
    6429             :       // op: Vn
    6430           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6431           4 :       Value |= (op & UINT64_C(15)) << 16;
    6432           4 :       Value |= (op & UINT64_C(16)) << 3;
    6433             :       // op: Vm
    6434           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6435           4 :       Value |= (op & UINT64_C(16)) << 1;
    6436           4 :       Value |= op & UINT64_C(15);
    6437             :       // op: index
    6438           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6439           4 :       Value |= (op & UINT64_C(3)) << 10;
    6440           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6441           4 :       break;
    6442             :     }
    6443           4 :     case ARM::VEXTd16: {
    6444             :       // op: Vd
    6445           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6446           4 :       Value |= (op & UINT64_C(16)) << 18;
    6447           4 :       Value |= (op & UINT64_C(15)) << 12;
    6448             :       // op: Vn
    6449           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6450           4 :       Value |= (op & UINT64_C(15)) << 16;
    6451           4 :       Value |= (op & UINT64_C(16)) << 3;
    6452             :       // op: Vm
    6453           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6454           4 :       Value |= (op & UINT64_C(16)) << 1;
    6455           4 :       Value |= op & UINT64_C(15);
    6456             :       // op: index
    6457           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6458           4 :       Value |= (op & UINT64_C(3)) << 9;
    6459           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6460           4 :       break;
    6461             :     }
    6462           8 :     case ARM::VEXTd8: {
    6463             :       // op: Vd
    6464           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6465           8 :       Value |= (op & UINT64_C(16)) << 18;
    6466           8 :       Value |= (op & UINT64_C(15)) << 12;
    6467             :       // op: Vn
    6468           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6469           8 :       Value |= (op & UINT64_C(15)) << 16;
    6470           8 :       Value |= (op & UINT64_C(16)) << 3;
    6471             :       // op: Vm
    6472           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6473           8 :       Value |= (op & UINT64_C(16)) << 1;
    6474           8 :       Value |= op & UINT64_C(15);
    6475             :       // op: index
    6476           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6477           8 :       Value |= (op & UINT64_C(7)) << 8;
    6478          16 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6479           8 :       break;
    6480             :     }
    6481           0 :     case ARM::VEXTq16: {
    6482             :       // op: Vd
    6483           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6484           0 :       Value |= (op & UINT64_C(16)) << 18;
    6485           0 :       Value |= (op & UINT64_C(15)) << 12;
    6486             :       // op: Vn
    6487           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6488           0 :       Value |= (op & UINT64_C(15)) << 16;
    6489           0 :       Value |= (op & UINT64_C(16)) << 3;
    6490             :       // op: Vm
    6491           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6492           0 :       Value |= (op & UINT64_C(16)) << 1;
    6493           0 :       Value |= op & UINT64_C(15);
    6494             :       // op: index
    6495           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6496           0 :       Value |= (op & UINT64_C(7)) << 9;
    6497           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6498           0 :       break;
    6499             :     }
    6500         969 :     case ARM::VABDLsv2i64:
    6501             :     case ARM::VABDLsv4i32:
    6502             :     case ARM::VABDLsv8i16:
    6503             :     case ARM::VABDLuv2i64:
    6504             :     case ARM::VABDLuv4i32:
    6505             :     case ARM::VABDLuv8i16:
    6506             :     case ARM::VABDfd:
    6507             :     case ARM::VABDfq:
    6508             :     case ARM::VABDhd:
    6509             :     case ARM::VABDhq:
    6510             :     case ARM::VABDsv16i8:
    6511             :     case ARM::VABDsv2i32:
    6512             :     case ARM::VABDsv4i16:
    6513             :     case ARM::VABDsv4i32:
    6514             :     case ARM::VABDsv8i16:
    6515             :     case ARM::VABDsv8i8:
    6516             :     case ARM::VABDuv16i8:
    6517             :     case ARM::VABDuv2i32:
    6518             :     case ARM::VABDuv4i16:
    6519             :     case ARM::VABDuv4i32:
    6520             :     case ARM::VABDuv8i16:
    6521             :     case ARM::VABDuv8i8:
    6522             :     case ARM::VACGEfd:
    6523             :     case ARM::VACGEfq:
    6524             :     case ARM::VACGEhd:
    6525             :     case ARM::VACGEhq:
    6526             :     case ARM::VACGTfd:
    6527             :     case ARM::VACGTfq:
    6528             :     case ARM::VACGThd:
    6529             :     case ARM::VACGThq:
    6530             :     case ARM::VADDHNv2i32:
    6531             :     case ARM::VADDHNv4i16:
    6532             :     case ARM::VADDHNv8i8:
    6533             :     case ARM::VADDLsv2i64:
    6534             :     case ARM::VADDLsv4i32:
    6535             :     case ARM::VADDLsv8i16:
    6536             :     case ARM::VADDLuv2i64:
    6537             :     case ARM::VADDLuv4i32:
    6538             :     case ARM::VADDLuv8i16:
    6539             :     case ARM::VADDWsv2i64:
    6540             :     case ARM::VADDWsv4i32:
    6541             :     case ARM::VADDWsv8i16:
    6542             :     case ARM::VADDWuv2i64:
    6543             :     case ARM::VADDWuv4i32:
    6544             :     case ARM::VADDWuv8i16:
    6545             :     case ARM::VADDfd:
    6546             :     case ARM::VADDfq:
    6547             :     case ARM::VADDhd:
    6548             :     case ARM::VADDhq:
    6549             :     case ARM::VADDv16i8:
    6550             :     case ARM::VADDv1i64:
    6551             :     case ARM::VADDv2i32:
    6552             :     case ARM::VADDv2i64:
    6553             :     case ARM::VADDv4i16:
    6554             :     case ARM::VADDv4i32:
    6555             :     case ARM::VADDv8i16:
    6556             :     case ARM::VADDv8i8:
    6557             :     case ARM::VANDd:
    6558             :     case ARM::VANDq:
    6559             :     case ARM::VBICd:
    6560             :     case ARM::VBICq:
    6561             :     case ARM::VCEQfd:
    6562             :     case ARM::VCEQfq:
    6563             :     case ARM::VCEQhd:
    6564             :     case ARM::VCEQhq:
    6565             :     case ARM::VCEQv16i8:
    6566             :     case ARM::VCEQv2i32:
    6567             :     case ARM::VCEQv4i16:
    6568             :     case ARM::VCEQv4i32:
    6569             :     case ARM::VCEQv8i16:
    6570             :     case ARM::VCEQv8i8:
    6571             :     case ARM::VCGEfd:
    6572             :     case ARM::VCGEfq:
    6573             :     case ARM::VCGEhd:
    6574             :     case ARM::VCGEhq:
    6575             :     case ARM::VCGEsv16i8:
    6576             :     case ARM::VCGEsv2i32:
    6577             :     case ARM::VCGEsv4i16:
    6578             :     case ARM::VCGEsv4i32:
    6579             :     case ARM::VCGEsv8i16:
    6580             :     case ARM::VCGEsv8i8:
    6581             :     case ARM::VCGEuv16i8:
    6582             :     case ARM::VCGEuv2i32:
    6583             :     case ARM::VCGEuv4i16:
    6584             :     case ARM::VCGEuv4i32:
    6585             :     case ARM::VCGEuv8i16:
    6586             :     case ARM::VCGEuv8i8:
    6587             :     case ARM::VCGTfd:
    6588             :     case ARM::VCGTfq:
    6589             :     case ARM::VCGThd:
    6590             :     case ARM::VCGThq:
    6591             :     case ARM::VCGTsv16i8:
    6592             :     case ARM::VCGTsv2i32:
    6593             :     case ARM::VCGTsv4i16:
    6594             :     case ARM::VCGTsv4i32:
    6595             :     case ARM::VCGTsv8i16:
    6596             :     case ARM::VCGTsv8i8:
    6597             :     case ARM::VCGTuv16i8:
    6598             :     case ARM::VCGTuv2i32:
    6599             :     case ARM::VCGTuv4i16:
    6600             :     case ARM::VCGTuv4i32:
    6601             :     case ARM::VCGTuv8i16:
    6602             :     case ARM::VCGTuv8i8:
    6603             :     case ARM::VEORd:
    6604             :     case ARM::VEORq:
    6605             :     case ARM::VHADDsv16i8:
    6606             :     case ARM::VHADDsv2i32:
    6607             :     case ARM::VHADDsv4i16:
    6608             :     case ARM::VHADDsv4i32:
    6609             :     case ARM::VHADDsv8i16:
    6610             :     case ARM::VHADDsv8i8:
    6611             :     case ARM::VHADDuv16i8:
    6612             :     case ARM::VHADDuv2i32:
    6613             :     case ARM::VHADDuv4i16:
    6614             :     case ARM::VHADDuv4i32:
    6615             :     case ARM::VHADDuv8i16:
    6616             :     case ARM::VHADDuv8i8:
    6617             :     case ARM::VHSUBsv16i8:
    6618             :     case ARM::VHSUBsv2i32:
    6619             :     case ARM::VHSUBsv4i16:
    6620             :     case ARM::VHSUBsv4i32:
    6621             :     case ARM::VHSUBsv8i16:
    6622             :     case ARM::VHSUBsv8i8:
    6623             :     case ARM::VHSUBuv16i8:
    6624             :     case ARM::VHSUBuv2i32:
    6625             :     case ARM::VHSUBuv4i16:
    6626             :     case ARM::VHSUBuv4i32:
    6627             :     case ARM::VHSUBuv8i16:
    6628             :     case ARM::VHSUBuv8i8:
    6629             :     case ARM::VMAXfd:
    6630             :     case ARM::VMAXfq:
    6631             :     case ARM::VMAXhd:
    6632             :     case ARM::VMAXhq:
    6633             :     case ARM::VMAXsv16i8:
    6634             :     case ARM::VMAXsv2i32:
    6635             :     case ARM::VMAXsv4i16:
    6636             :     case ARM::VMAXsv4i32:
    6637             :     case ARM::VMAXsv8i16:
    6638             :     case ARM::VMAXsv8i8:
    6639             :     case ARM::VMAXuv16i8:
    6640             :     case ARM::VMAXuv2i32:
    6641             :     case ARM::VMAXuv4i16:
    6642             :     case ARM::VMAXuv4i32:
    6643             :     case ARM::VMAXuv8i16:
    6644             :     case ARM::VMAXuv8i8:
    6645             :     case ARM::VMINfd:
    6646             :     case ARM::VMINfq:
    6647             :     case ARM::VMINhd:
    6648             :     case ARM::VMINhq:
    6649             :     case ARM::VMINsv16i8:
    6650             :     case ARM::VMINsv2i32:
    6651             :     case ARM::VMINsv4i16:
    6652             :     case ARM::VMINsv4i32:
    6653             :     case ARM::VMINsv8i16:
    6654             :     case ARM::VMINsv8i8:
    6655             :     case ARM::VMINuv16i8:
    6656             :     case ARM::VMINuv2i32:
    6657             :     case ARM::VMINuv4i16:
    6658             :     case ARM::VMINuv4i32:
    6659             :     case ARM::VMINuv8i16:
    6660             :     case ARM::VMINuv8i8:
    6661             :     case ARM::VMULLp64:
    6662             :     case ARM::VMULLp8:
    6663             :     case ARM::VMULLsv2i64:
    6664             :     case ARM::VMULLsv4i32:
    6665             :     case ARM::VMULLsv8i16:
    6666             :     case ARM::VMULLuv2i64:
    6667             :     case ARM::VMULLuv4i32:
    6668             :     case ARM::VMULLuv8i16:
    6669             :     case ARM::VMULfd:
    6670             :     case ARM::VMULfq:
    6671             :     case ARM::VMULhd:
    6672             :     case ARM::VMULhq:
    6673             :     case ARM::VMULpd:
    6674             :     case ARM::VMULpq:
    6675             :     case ARM::VMULv16i8:
    6676             :     case ARM::VMULv2i32:
    6677             :     case ARM::VMULv4i16:
    6678             :     case ARM::VMULv4i32:
    6679             :     case ARM::VMULv8i16:
    6680             :     case ARM::VMULv8i8:
    6681             :     case ARM::VORNd:
    6682             :     case ARM::VORNq:
    6683             :     case ARM::VORRd:
    6684             :     case ARM::VORRq:
    6685             :     case ARM::VPADDf:
    6686             :     case ARM::VPADDh:
    6687             :     case ARM::VPADDi16:
    6688             :     case ARM::VPADDi32:
    6689             :     case ARM::VPADDi8:
    6690             :     case ARM::VPMAXf:
    6691             :     case ARM::VPMAXh:
    6692             :     case ARM::VPMAXs16:
    6693             :     case ARM::VPMAXs32:
    6694             :     case ARM::VPMAXs8:
    6695             :     case ARM::VPMAXu16:
    6696             :     case ARM::VPMAXu32:
    6697             :     case ARM::VPMAXu8:
    6698             :     case ARM::VPMINf:
    6699             :     case ARM::VPMINh:
    6700             :     case ARM::VPMINs16:
    6701             :     case ARM::VPMINs32:
    6702             :     case ARM::VPMINs8:
    6703             :     case ARM::VPMINu16:
    6704             :     case ARM::VPMINu32:
    6705             :     case ARM::VPMINu8:
    6706             :     case ARM::VQADDsv16i8:
    6707             :     case ARM::VQADDsv1i64:
    6708             :     case ARM::VQADDsv2i32:
    6709             :     case ARM::VQADDsv2i64:
    6710             :     case ARM::VQADDsv4i16:
    6711             :     case ARM::VQADDsv4i32:
    6712             :     case ARM::VQADDsv8i16:
    6713             :     case ARM::VQADDsv8i8:
    6714             :     case ARM::VQADDuv16i8:
    6715             :     case ARM::VQADDuv1i64:
    6716             :     case ARM::VQADDuv2i32:
    6717             :     case ARM::VQADDuv2i64:
    6718             :     case ARM::VQADDuv4i16:
    6719             :     case ARM::VQADDuv4i32:
    6720             :     case ARM::VQADDuv8i16:
    6721             :     case ARM::VQADDuv8i8:
    6722             :     case ARM::VQDMULHv2i32:
    6723             :     case ARM::VQDMULHv4i16:
    6724             :     case ARM::VQDMULHv4i32:
    6725             :     case ARM::VQDMULHv8i16:
    6726             :     case ARM::VQDMULLv2i64:
    6727             :     case ARM::VQDMULLv4i32:
    6728             :     case ARM::VQRDMULHv2i32:
    6729             :     case ARM::VQRDMULHv4i16:
    6730             :     case ARM::VQRDMULHv4i32:
    6731             :     case ARM::VQRDMULHv8i16:
    6732             :     case ARM::VQSUBsv16i8:
    6733             :     case ARM::VQSUBsv1i64:
    6734             :     case ARM::VQSUBsv2i32:
    6735             :     case ARM::VQSUBsv2i64:
    6736             :     case ARM::VQSUBsv4i16:
    6737             :     case ARM::VQSUBsv4i32:
    6738             :     case ARM::VQSUBsv8i16:
    6739             :     case ARM::VQSUBsv8i8:
    6740             :     case ARM::VQSUBuv16i8:
    6741             :     case ARM::VQSUBuv1i64:
    6742             :     case ARM::VQSUBuv2i32:
    6743             :     case ARM::VQSUBuv2i64:
    6744             :     case ARM::VQSUBuv4i16:
    6745             :     case ARM::VQSUBuv4i32:
    6746             :     case ARM::VQSUBuv8i16:
    6747             :     case ARM::VQSUBuv8i8:
    6748             :     case ARM::VRADDHNv2i32:
    6749             :     case ARM::VRADDHNv4i16:
    6750             :     case ARM::VRADDHNv8i8:
    6751             :     case ARM::VRECPSfd:
    6752             :     case ARM::VRECPSfq:
    6753             :     case ARM::VRECPShd:
    6754             :     case ARM::VRECPShq:
    6755             :     case ARM::VRHADDsv16i8:
    6756             :     case ARM::VRHADDsv2i32:
    6757             :     case ARM::VRHADDsv4i16:
    6758             :     case ARM::VRHADDsv4i32:
    6759             :     case ARM::VRHADDsv8i16:
    6760             :     case ARM::VRHADDsv8i8:
    6761             :     case ARM::VRHADDuv16i8:
    6762             :     case ARM::VRHADDuv2i32:
    6763             :     case ARM::VRHADDuv4i16:
    6764             :     case ARM::VRHADDuv4i32:
    6765             :     case ARM::VRHADDuv8i16:
    6766             :     case ARM::VRHADDuv8i8:
    6767             :     case ARM::VRSQRTSfd:
    6768             :     case ARM::VRSQRTSfq:
    6769             :     case ARM::VRSQRTShd:
    6770             :     case ARM::VRSQRTShq:
    6771             :     case ARM::VRSUBHNv2i32:
    6772             :     case ARM::VRSUBHNv4i16:
    6773             :     case ARM::VRSUBHNv8i8:
    6774             :     case ARM::VSUBHNv2i32:
    6775             :     case ARM::VSUBHNv4i16:
    6776             :     case ARM::VSUBHNv8i8:
    6777             :     case ARM::VSUBLsv2i64:
    6778             :     case ARM::VSUBLsv4i32:
    6779             :     case ARM::VSUBLsv8i16:
    6780             :     case ARM::VSUBLuv2i64:
    6781             :     case ARM::VSUBLuv4i32:
    6782             :     case ARM::VSUBLuv8i16:
    6783             :     case ARM::VSUBWsv2i64:
    6784             :     case ARM::VSUBWsv4i32:
    6785             :     case ARM::VSUBWsv8i16:
    6786             :     case ARM::VSUBWuv2i64:
    6787             :     case ARM::VSUBWuv4i32:
    6788             :     case ARM::VSUBWuv8i16:
    6789             :     case ARM::VSUBfd:
    6790             :     case ARM::VSUBfq:
    6791             :     case ARM::VSUBhd:
    6792             :     case ARM::VSUBhq:
    6793             :     case ARM::VSUBv16i8:
    6794             :     case ARM::VSUBv1i64:
    6795             :     case ARM::VSUBv2i32:
    6796             :     case ARM::VSUBv2i64:
    6797             :     case ARM::VSUBv4i16:
    6798             :     case ARM::VSUBv4i32:
    6799             :     case ARM::VSUBv8i16:
    6800             :     case ARM::VSUBv8i8:
    6801             :     case ARM::VTBL1:
    6802             :     case ARM::VTBL2:
    6803             :     case ARM::VTBL3:
    6804             :     case ARM::VTBL4:
    6805             :     case ARM::VTSTv16i8:
    6806             :     case ARM::VTSTv2i32:
    6807             :     case ARM::VTSTv4i16:
    6808             :     case ARM::VTSTv4i32:
    6809             :     case ARM::VTSTv8i16:
    6810             :     case ARM::VTSTv8i8: {
    6811             :       // op: Vd
    6812         969 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6813         969 :       Value |= (op & UINT64_C(16)) << 18;
    6814         969 :       Value |= (op & UINT64_C(15)) << 12;
    6815             :       // op: Vn
    6816         969 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6817         969 :       Value |= (op & UINT64_C(15)) << 16;
    6818         969 :       Value |= (op & UINT64_C(16)) << 3;
    6819             :       // op: Vm
    6820         969 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6821         969 :       Value |= (op & UINT64_C(16)) << 1;
    6822         969 :       Value |= op & UINT64_C(15);
    6823        1938 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6824         969 :       break;
    6825             :     }
    6826          24 :     case ARM::VMAXNMNDf:
    6827             :     case ARM::VMAXNMNDh:
    6828             :     case ARM::VMAXNMNQf:
    6829             :     case ARM::VMAXNMNQh:
    6830             :     case ARM::VMINNMNDf:
    6831             :     case ARM::VMINNMNDh:
    6832             :     case ARM::VMINNMNQf:
    6833             :     case ARM::VMINNMNQh: {
    6834             :       // op: Vd
    6835          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6836          24 :       Value |= (op & UINT64_C(16)) << 18;
    6837          24 :       Value |= (op & UINT64_C(15)) << 12;
    6838             :       // op: Vn
    6839          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6840          24 :       Value |= (op & UINT64_C(15)) << 16;
    6841          24 :       Value |= (op & UINT64_C(16)) << 3;
    6842             :       // op: Vm
    6843          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6844          24 :       Value |= (op & UINT64_C(16)) << 1;
    6845          24 :       Value |= op & UINT64_C(15);
    6846          48 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    6847          24 :       break;
    6848             :     }
    6849          24 :     case ARM::VSDOTDI:
    6850             :     case ARM::VSDOTQI:
    6851             :     case ARM::VUDOTDI:
    6852             :     case ARM::VUDOTQI: {
    6853             :       // op: Vd
    6854          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6855          24 :       Value |= (op & UINT64_C(16)) << 18;
    6856          24 :       Value |= (op & UINT64_C(15)) << 12;
    6857             :       // op: Vn
    6858          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6859          24 :       Value |= (op & UINT64_C(15)) << 16;
    6860          24 :       Value |= (op & UINT64_C(16)) << 3;
    6861             :       // op: Vm
    6862          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6863          24 :       Value |= op & UINT64_C(15);
    6864             :       // op: lane
    6865          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6866          24 :       Value |= (op & UINT64_C(1)) << 5;
    6867          24 :       break;
    6868             :     }
    6869          16 :     case ARM::VMULLslsv2i32:
    6870             :     case ARM::VMULLsluv2i32:
    6871             :     case ARM::VMULslfd:
    6872             :     case ARM::VMULslfq:
    6873             :     case ARM::VMULslv2i32:
    6874             :     case ARM::VMULslv4i32:
    6875             :     case ARM::VQDMULHslv2i32:
    6876             :     case ARM::VQDMULHslv4i32:
    6877             :     case ARM::VQDMULLslv2i32:
    6878             :     case ARM::VQRDMULHslv2i32:
    6879             :     case ARM::VQRDMULHslv4i32: {
    6880             :       // op: Vd
    6881          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6882          16 :       Value |= (op & UINT64_C(16)) << 18;
    6883          16 :       Value |= (op & UINT64_C(15)) << 12;
    6884             :       // op: Vn
    6885          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6886          16 :       Value |= (op & UINT64_C(15)) << 16;
    6887          16 :       Value |= (op & UINT64_C(16)) << 3;
    6888             :       // op: Vm
    6889          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6890          16 :       Value |= op & UINT64_C(15);
    6891             :       // op: lane
    6892          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6893          16 :       Value |= (op & UINT64_C(1)) << 5;
    6894          32 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6895          16 :       break;
    6896             :     }
    6897          25 :     case ARM::VMULLslsv4i16:
    6898             :     case ARM::VMULLsluv4i16:
    6899             :     case ARM::VMULslhd:
    6900             :     case ARM::VMULslhq:
    6901             :     case ARM::VMULslv4i16:
    6902             :     case ARM::VMULslv8i16:
    6903             :     case ARM::VQDMULHslv4i16:
    6904             :     case ARM::VQDMULHslv8i16:
    6905             :     case ARM::VQDMULLslv4i16:
    6906             :     case ARM::VQRDMULHslv4i16:
    6907             :     case ARM::VQRDMULHslv8i16: {
    6908             :       // op: Vd
    6909          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6910          25 :       Value |= (op & UINT64_C(16)) << 18;
    6911          25 :       Value |= (op & UINT64_C(15)) << 12;
    6912             :       // op: Vn
    6913          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6914          25 :       Value |= (op & UINT64_C(15)) << 16;
    6915          25 :       Value |= (op & UINT64_C(16)) << 3;
    6916             :       // op: Vm
    6917          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6918          25 :       Value |= op & UINT64_C(7);
    6919             :       // op: lane
    6920          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6921          25 :       Value |= (op & UINT64_C(2)) << 4;
    6922          25 :       Value |= (op & UINT64_C(1)) << 3;
    6923          50 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6924          25 :       break;
    6925             :     }
    6926         144 :     case ARM::VQRSHLsv16i8:
    6927             :     case ARM::VQRSHLsv1i64:
    6928             :     case ARM::VQRSHLsv2i32:
    6929             :     case ARM::VQRSHLsv2i64:
    6930             :     case ARM::VQRSHLsv4i16:
    6931             :     case ARM::VQRSHLsv4i32:
    6932             :     case ARM::VQRSHLsv8i16:
    6933             :     case ARM::VQRSHLsv8i8:
    6934             :     case ARM::VQRSHLuv16i8:
    6935             :     case ARM::VQRSHLuv1i64:
    6936             :     case ARM::VQRSHLuv2i32:
    6937             :     case ARM::VQRSHLuv2i64:
    6938             :     case ARM::VQRSHLuv4i16:
    6939             :     case ARM::VQRSHLuv4i32:
    6940             :     case ARM::VQRSHLuv8i16:
    6941             :     case ARM::VQRSHLuv8i8:
    6942             :     case ARM::VQSHLsv16i8:
    6943             :     case ARM::VQSHLsv1i64:
    6944             :     case ARM::VQSHLsv2i32:
    6945             :     case ARM::VQSHLsv2i64:
    6946             :     case ARM::VQSHLsv4i16:
    6947             :     case ARM::VQSHLsv4i32:
    6948             :     case ARM::VQSHLsv8i16:
    6949             :     case ARM::VQSHLsv8i8:
    6950             :     case ARM::VQSHLuv16i8:
    6951             :     case ARM::VQSHLuv1i64:
    6952             :     case ARM::VQSHLuv2i32:
    6953             :     case ARM::VQSHLuv2i64:
    6954             :     case ARM::VQSHLuv4i16:
    6955             :     case ARM::VQSHLuv4i32:
    6956             :     case ARM::VQSHLuv8i16:
    6957             :     case ARM::VQSHLuv8i8:
    6958             :     case ARM::VRSHLsv16i8:
    6959             :     case ARM::VRSHLsv1i64:
    6960             :     case ARM::VRSHLsv2i32:
    6961             :     case ARM::VRSHLsv2i64:
    6962             :     case ARM::VRSHLsv4i16:
    6963             :     case ARM::VRSHLsv4i32:
    6964             :     case ARM::VRSHLsv8i16:
    6965             :     case ARM::VRSHLsv8i8:
    6966             :     case ARM::VRSHLuv16i8:
    6967             :     case ARM::VRSHLuv1i64:
    6968             :     case ARM::VRSHLuv2i32:
    6969             :     case ARM::VRSHLuv2i64:
    6970             :     case ARM::VRSHLuv4i16:
    6971             :     case ARM::VRSHLuv4i32:
    6972             :     case ARM::VRSHLuv8i16:
    6973             :     case ARM::VRSHLuv8i8:
    6974             :     case ARM::VSHLsv16i8:
    6975             :     case ARM::VSHLsv1i64:
    6976             :     case ARM::VSHLsv2i32:
    6977             :     case ARM::VSHLsv2i64:
    6978             :     case ARM::VSHLsv4i16:
    6979             :     case ARM::VSHLsv4i32:
    6980             :     case ARM::VSHLsv8i16:
    6981             :     case ARM::VSHLsv8i8:
    6982             :     case ARM::VSHLuv16i8:
    6983             :     case ARM::VSHLuv1i64:
    6984             :     case ARM::VSHLuv2i32:
    6985             :     case ARM::VSHLuv2i64:
    6986             :     case ARM::VSHLuv4i16:
    6987             :     case ARM::VSHLuv4i32:
    6988             :     case ARM::VSHLuv8i16:
    6989             :     case ARM::VSHLuv8i8: {
    6990             :       // op: Vd
    6991         144 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6992         144 :       Value |= (op & UINT64_C(16)) << 18;
    6993         144 :       Value |= (op & UINT64_C(15)) << 12;
    6994             :       // op: Vn
    6995         144 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6996         144 :       Value |= (op & UINT64_C(15)) << 16;
    6997         144 :       Value |= (op & UINT64_C(16)) << 3;
    6998             :       // op: Vm
    6999         144 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7000         144 :       Value |= (op & UINT64_C(16)) << 1;
    7001         144 :       Value |= op & UINT64_C(15);
    7002         288 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7003         144 :       break;
    7004             :     }
    7005         185 :     case ARM::SHA1C:
    7006             :     case ARM::SHA1M:
    7007             :     case ARM::SHA1P:
    7008             :     case ARM::SHA1SU0:
    7009             :     case ARM::SHA256H:
    7010             :     case ARM::SHA256H2:
    7011             :     case ARM::SHA256SU1:
    7012             :     case ARM::VABALsv2i64:
    7013             :     case ARM::VABALsv4i32:
    7014             :     case ARM::VABALsv8i16:
    7015             :     case ARM::VABALuv2i64:
    7016             :     case ARM::VABALuv4i32:
    7017             :     case ARM::VABALuv8i16:
    7018             :     case ARM::VABAsv16i8:
    7019             :     case ARM::VABAsv2i32:
    7020             :     case ARM::VABAsv4i16:
    7021             :     case ARM::VABAsv4i32:
    7022             :     case ARM::VABAsv8i16:
    7023             :     case ARM::VABAsv8i8:
    7024             :     case ARM::VABAuv16i8:
    7025             :     case ARM::VABAuv2i32:
    7026             :     case ARM::VABAuv4i16:
    7027             :     case ARM::VABAuv4i32:
    7028             :     case ARM::VABAuv8i16:
    7029             :     case ARM::VABAuv8i8:
    7030             :     case ARM::VBIFd:
    7031             :     case ARM::VBIFq:
    7032             :     case ARM::VBITd:
    7033             :     case ARM::VBITq:
    7034             :     case ARM::VBSLd:
    7035             :     case ARM::VBSLq:
    7036             :     case ARM::VFMAfd:
    7037             :     case ARM::VFMAfq:
    7038             :     case ARM::VFMAhd:
    7039             :     case ARM::VFMAhq:
    7040             :     case ARM::VFMSfd:
    7041             :     case ARM::VFMSfq:
    7042             :     case ARM::VFMShd:
    7043             :     case ARM::VFMShq:
    7044             :     case ARM::VMLALsv2i64:
    7045             :     case ARM::VMLALsv4i32:
    7046             :     case ARM::VMLALsv8i16:
    7047             :     case ARM::VMLALuv2i64:
    7048             :     case ARM::VMLALuv4i32:
    7049             :     case ARM::VMLALuv8i16:
    7050             :     case ARM::VMLAfd:
    7051             :     case ARM::VMLAfq:
    7052             :     case ARM::VMLAhd:
    7053             :     case ARM::VMLAhq:
    7054             :     case ARM::VMLAv16i8:
    7055             :     case ARM::VMLAv2i32:
    7056             :     case ARM::VMLAv4i16:
    7057             :     case ARM::VMLAv4i32:
    7058             :     case ARM::VMLAv8i16:
    7059             :     case ARM::VMLAv8i8:
    7060             :     case ARM::VMLSLsv2i64:
    7061             :     case ARM::VMLSLsv4i32:
    7062             :     case ARM::VMLSLsv8i16:
    7063             :     case ARM::VMLSLuv2i64:
    7064             :     case ARM::VMLSLuv4i32:
    7065             :     case ARM::VMLSLuv8i16:
    7066             :     case ARM::VMLSfd:
    7067             :     case ARM::VMLSfq:
    7068             :     case ARM::VMLShd:
    7069             :     case ARM::VMLShq:
    7070             :     case ARM::VMLSv16i8:
    7071             :     case ARM::VMLSv2i32:
    7072             :     case ARM::VMLSv4i16:
    7073             :     case ARM::VMLSv4i32:
    7074             :     case ARM::VMLSv8i16:
    7075             :     case ARM::VMLSv8i8:
    7076             :     case ARM::VQDMLALv2i64:
    7077             :     case ARM::VQDMLALv4i32:
    7078             :     case ARM::VQDMLSLv2i64:
    7079             :     case ARM::VQDMLSLv4i32:
    7080             :     case ARM::VQRDMLAHv2i32:
    7081             :     case ARM::VQRDMLAHv4i16:
    7082             :     case ARM::VQRDMLAHv4i32:
    7083             :     case ARM::VQRDMLAHv8i16:
    7084             :     case ARM::VQRDMLSHv2i32:
    7085             :     case ARM::VQRDMLSHv4i16:
    7086             :     case ARM::VQRDMLSHv4i32:
    7087             :     case ARM::VQRDMLSHv8i16:
    7088             :     case ARM::VTBX1:
    7089             :     case ARM::VTBX2:
    7090             :     case ARM::VTBX3:
    7091             :     case ARM::VTBX4: {
    7092             :       // op: Vd
    7093         185 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7094         185 :       Value |= (op & UINT64_C(16)) << 18;
    7095         185 :       Value |= (op & UINT64_C(15)) << 12;
    7096             :       // op: Vn
    7097         185 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7098         185 :       Value |= (op & UINT64_C(15)) << 16;
    7099         185 :       Value |= (op & UINT64_C(16)) << 3;
    7100             :       // op: Vm
    7101         185 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7102         185 :       Value |= (op & UINT64_C(16)) << 1;
    7103         185 :       Value |= op & UINT64_C(15);
    7104         370 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7105         185 :       break;
    7106             :     }
    7107          11 :     case ARM::VMLALslsv2i32:
    7108             :     case ARM::VMLALsluv2i32:
    7109             :     case ARM::VMLAslfd:
    7110             :     case ARM::VMLAslfq:
    7111             :     case ARM::VMLAslv2i32:
    7112             :     case ARM::VMLAslv4i32:
    7113             :     case ARM::VMLSLslsv2i32:
    7114             :     case ARM::VMLSLsluv2i32:
    7115             :     case ARM::VMLSslfd:
    7116             :     case ARM::VMLSslfq:
    7117             :     case ARM::VMLSslv2i32:
    7118             :     case ARM::VMLSslv4i32:
    7119             :     case ARM::VQDMLALslv2i32:
    7120             :     case ARM::VQDMLSLslv2i32:
    7121             :     case ARM::VQRDMLAHslv2i32:
    7122             :     case ARM::VQRDMLAHslv4i32:
    7123             :     case ARM::VQRDMLSHslv2i32:
    7124             :     case ARM::VQRDMLSHslv4i32: {
    7125             :       // op: Vd
    7126          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7127          11 :       Value |= (op & UINT64_C(16)) << 18;
    7128          11 :       Value |= (op & UINT64_C(15)) << 12;
    7129             :       // op: Vn
    7130          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7131          11 :       Value |= (op & UINT64_C(15)) << 16;
    7132          11 :       Value |= (op & UINT64_C(16)) << 3;
    7133             :       // op: Vm
    7134          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7135          11 :       Value |= op & UINT64_C(15);
    7136             :       // op: lane
    7137          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7138          11 :       Value |= (op & UINT64_C(1)) << 5;
    7139          22 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7140          11 :       break;
    7141             :     }
    7142          35 :     case ARM::VMLALslsv4i16:
    7143             :     case ARM::VMLALsluv4i16:
    7144             :     case ARM::VMLAslhd:
    7145             :     case ARM::VMLAslhq:
    7146             :     case ARM::VMLAslv4i16:
    7147             :     case ARM::VMLAslv8i16:
    7148             :     case ARM::VMLSLslsv4i16:
    7149             :     case ARM::VMLSLsluv4i16:
    7150             :     case ARM::VMLSslhd:
    7151             :     case ARM::VMLSslhq:
    7152             :     case ARM::VMLSslv4i16:
    7153             :     case ARM::VMLSslv8i16:
    7154             :     case ARM::VQDMLALslv4i16:
    7155             :     case ARM::VQDMLSLslv4i16:
    7156             :     case ARM::VQRDMLAHslv4i16:
    7157             :     case ARM::VQRDMLAHslv8i16:
    7158             :     case ARM::VQRDMLSHslv4i16:
    7159             :     case ARM::VQRDMLSHslv8i16: {
    7160             :       // op: Vd
    7161          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7162          35 :       Value |= (op & UINT64_C(16)) << 18;
    7163          35 :       Value |= (op & UINT64_C(15)) << 12;
    7164             :       // op: Vn
    7165          35 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7166          35 :       Value |= (op & UINT64_C(15)) << 16;
    7167          35 :       Value |= (op & UINT64_C(16)) << 3;
    7168             :       // op: Vm
    7169          35 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7170          35 :       Value |= op & UINT64_C(7);
    7171             :       // op: lane
    7172          35 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7173          35 :       Value |= (op & UINT64_C(2)) << 4;
    7174          35 :       Value |= (op & UINT64_C(1)) << 3;
    7175          70 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7176          35 :       break;
    7177             :     }
    7178           2 :     case ARM::VST1LNd8: {
    7179             :       // op: Vd
    7180           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7181           2 :       Value |= (op & UINT64_C(16)) << 18;
    7182           2 :       Value |= (op & UINT64_C(15)) << 12;
    7183             :       // op: Rn
    7184           4 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7185           2 :       Value |= (op & UINT64_C(15)) << 16;
    7186             :       // op: lane
    7187           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7188           2 :       Value |= (op & UINT64_C(7)) << 5;
    7189           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7190           2 :       break;
    7191             :     }
    7192           6 :     case ARM::VST3LNd32:
    7193             :     case ARM::VST3LNq32: {
    7194             :       // op: Vd
    7195           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7196           6 :       Value |= (op & UINT64_C(16)) << 18;
    7197           6 :       Value |= (op & UINT64_C(15)) << 12;
    7198             :       // op: Rn
    7199          12 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7200           6 :       Value |= (op & UINT64_C(15)) << 16;
    7201             :       // op: lane
    7202           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7203           6 :       Value |= (op & UINT64_C(1)) << 7;
    7204          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7205           6 :       break;
    7206             :     }
    7207           6 :     case ARM::VST3LNd16:
    7208             :     case ARM::VST3LNq16: {
    7209             :       // op: Vd
    7210           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7211           6 :       Value |= (op & UINT64_C(16)) << 18;
    7212           6 :       Value |= (op & UINT64_C(15)) << 12;
    7213             :       // op: Rn
    7214          12 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7215           6 :       Value |= (op & UINT64_C(15)) << 16;
    7216             :       // op: lane
    7217           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7218           6 :       Value |= (op & UINT64_C(3)) << 6;
    7219          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7220           6 :       break;
    7221             :     }
    7222           3 :     case ARM::VST3LNd8: {
    7223             :       // op: Vd
    7224           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7225           3 :       Value |= (op & UINT64_C(16)) << 18;
    7226           3 :       Value |= (op & UINT64_C(15)) << 12;
    7227             :       // op: Rn
    7228           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7229           3 :       Value |= (op & UINT64_C(15)) << 16;
    7230             :       // op: lane
    7231           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7232           3 :       Value |= (op & UINT64_C(7)) << 5;
    7233           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7234           3 :       break;
    7235             :     }
    7236           3 :     case ARM::VST1LNd16: {
    7237             :       // op: Vd
    7238           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7239           3 :       Value |= (op & UINT64_C(16)) << 18;
    7240           3 :       Value |= (op & UINT64_C(15)) << 12;
    7241             :       // op: Rn
    7242           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7243           3 :       Value |= (op & UINT64_C(15)) << 16;
    7244           3 :       Value |= op & UINT64_C(16);
    7245             :       // op: lane
    7246           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7247           3 :       Value |= (op & UINT64_C(3)) << 6;
    7248           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7249           3 :       break;
    7250             :     }
    7251           9 :     case ARM::VST2LNd32:
    7252             :     case ARM::VST2LNq32: {
    7253             :       // op: Vd
    7254           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7255           9 :       Value |= (op & UINT64_C(16)) << 18;
    7256           9 :       Value |= (op & UINT64_C(15)) << 12;
    7257             :       // op: Rn
    7258          18 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7259           9 :       Value |= (op & UINT64_C(15)) << 16;
    7260           9 :       Value |= op & UINT64_C(16);
    7261             :       // op: lane
    7262           9 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7263           9 :       Value |= (op & UINT64_C(1)) << 7;
    7264          18 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7265           9 :       break;
    7266             :     }
    7267           5 :     case ARM::VST2LNd16:
    7268             :     case ARM::VST2LNq16: {
    7269             :       // op: Vd
    7270           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7271           5 :       Value |= (op & UINT64_C(16)) << 18;
    7272           5 :       Value |= (op & UINT64_C(15)) << 12;
    7273             :       // op: Rn
    7274          10 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7275           5 :       Value |= (op & UINT64_C(15)) << 16;
    7276           5 :       Value |= op & UINT64_C(16);
    7277             :       // op: lane
    7278           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7279           5 :       Value |= (op & UINT64_C(3)) << 6;
    7280          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7281           5 :       break;
    7282             :     }
    7283           5 :     case ARM::VST2LNd8: {
    7284             :       // op: Vd
    7285           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7286           5 :       Value |= (op & UINT64_C(16)) << 18;
    7287           5 :       Value |= (op & UINT64_C(15)) << 12;
    7288             :       // op: Rn
    7289          10 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7290           5 :       Value |= (op & UINT64_C(15)) << 16;
    7291           5 :       Value |= op & UINT64_C(16);
    7292             :       // op: lane
    7293           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7294           5 :       Value |= (op & UINT64_C(7)) << 5;
    7295          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7296           5 :       break;
    7297             :     }
    7298           8 :     case ARM::VST4LNd16:
    7299             :     case ARM::VST4LNq16: {
    7300             :       // op: Vd
    7301           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7302           8 :       Value |= (op & UINT64_C(16)) << 18;
    7303           8 :       Value |= (op & UINT64_C(15)) << 12;
    7304             :       // op: Rn
    7305          16 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7306           8 :       Value |= (op & UINT64_C(15)) << 16;
    7307           8 :       Value |= op & UINT64_C(16);
    7308             :       // op: lane
    7309           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7310           8 :       Value |= (op & UINT64_C(3)) << 6;
    7311          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7312           8 :       break;
    7313             :     }
    7314           4 :     case ARM::VST4LNd8: {
    7315             :       // op: Vd
    7316           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7317           4 :       Value |= (op & UINT64_C(16)) << 18;
    7318           4 :       Value |= (op & UINT64_C(15)) << 12;
    7319             :       // op: Rn
    7320           8 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7321           4 :       Value |= (op & UINT64_C(15)) << 16;
    7322           4 :       Value |= op & UINT64_C(16);
    7323             :       // op: lane
    7324           4 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7325           4 :       Value |= (op & UINT64_C(7)) << 5;
    7326           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7327           4 :       break;
    7328             :     }
    7329          49 :     case ARM::VST1d16:
    7330             :     case ARM::VST1d16T:
    7331             :     case ARM::VST1d32:
    7332             :     case ARM::VST1d32T:
    7333             :     case ARM::VST1d64:
    7334             :     case ARM::VST1d64T:
    7335             :     case ARM::VST1d8:
    7336             :     case ARM::VST1d8T:
    7337             :     case ARM::VST3d16:
    7338             :     case ARM::VST3d32:
    7339             :     case ARM::VST3d8:
    7340             :     case ARM::VST3q16:
    7341             :     case ARM::VST3q32:
    7342             :     case ARM::VST3q8: {
    7343             :       // op: Vd
    7344          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7345          49 :       Value |= (op & UINT64_C(16)) << 18;
    7346          49 :       Value |= (op & UINT64_C(15)) << 12;
    7347             :       // op: Rn
    7348          98 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7349          49 :       Value |= (op & UINT64_C(15)) << 16;
    7350          49 :       Value |= op & UINT64_C(16);
    7351          98 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7352          49 :       break;
    7353             :     }
    7354          13 :     case ARM::VST4LNd32:
    7355             :     case ARM::VST4LNq32: {
    7356             :       // op: Vd
    7357          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7358          13 :       Value |= (op & UINT64_C(16)) << 18;
    7359          13 :       Value |= (op & UINT64_C(15)) << 12;
    7360             :       // op: Rn
    7361          26 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7362          13 :       Value |= (op & UINT64_C(15)) << 16;
    7363          13 :       Value |= op & UINT64_C(48);
    7364             :       // op: lane
    7365          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7366          13 :       Value |= (op & UINT64_C(1)) << 7;
    7367          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7368          13 :       break;
    7369             :     }
    7370         113 :     case ARM::VST1d16Q:
    7371             :     case ARM::VST1d32Q:
    7372             :     case ARM::VST1d64Q:
    7373             :     case ARM::VST1d8Q:
    7374             :     case ARM::VST1q16:
    7375             :     case ARM::VST1q32:
    7376             :     case ARM::VST1q64:
    7377             :     case ARM::VST1q8:
    7378             :     case ARM::VST2b16:
    7379             :     case ARM::VST2b32:
    7380             :     case ARM::VST2b8:
    7381             :     case ARM::VST2d16:
    7382             :     case ARM::VST2d32:
    7383             :     case ARM::VST2d8:
    7384             :     case ARM::VST2q16:
    7385             :     case ARM::VST2q32:
    7386             :     case ARM::VST2q8:
    7387             :     case ARM::VST4d16:
    7388             :     case ARM::VST4d32:
    7389             :     case ARM::VST4d8:
    7390             :     case ARM::VST4q16:
    7391             :     case ARM::VST4q32:
    7392             :     case ARM::VST4q8: {
    7393             :       // op: Vd
    7394         113 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7395         113 :       Value |= (op & UINT64_C(16)) << 18;
    7396         113 :       Value |= (op & UINT64_C(15)) << 12;
    7397             :       // op: Rn
    7398         226 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7399         113 :       Value |= (op & UINT64_C(15)) << 16;
    7400         113 :       Value |= op & UINT64_C(48);
    7401         226 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7402         113 :       break;
    7403             :     }
    7404           3 :     case ARM::VST1LNd32: {
    7405             :       // op: Vd
    7406           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7407           3 :       Value |= (op & UINT64_C(16)) << 18;
    7408           3 :       Value |= (op & UINT64_C(15)) << 12;
    7409             :       // op: Rn
    7410           6 :       op = getAddrMode6OneLane32AddressOpValue(MI, 0, Fixups, STI);
    7411           3 :       Value |= (op & UINT64_C(15)) << 16;
    7412           3 :       Value |= op & UINT64_C(48);
    7413             :       // op: lane
    7414           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7415           3 :       Value |= (op & UINT64_C(1)) << 7;
    7416           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7417           3 :       break;
    7418             :     }
    7419          56 :     case ARM::VST1d16wb_fixed:
    7420             :     case ARM::VST1d32wb_fixed:
    7421             :     case ARM::VST1d64wb_fixed:
    7422             :     case ARM::VST1d8wb_fixed: {
    7423             :       // op: Vd
    7424          56 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7425          56 :       Value |= (op & UINT64_C(16)) << 18;
    7426          56 :       Value |= (op & UINT64_C(15)) << 12;
    7427             :       // op: Rn
    7428         112 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7429          56 :       Value |= (op & UINT64_C(15)) << 16;
    7430          56 :       Value |= op & UINT64_C(16);
    7431         112 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7432          56 :       break;
    7433             :     }
    7434          92 :     case ARM::VST1d16Qwb_fixed:
    7435             :     case ARM::VST1d16Twb_fixed:
    7436             :     case ARM::VST1d32Qwb_fixed:
    7437             :     case ARM::VST1d32Twb_fixed:
    7438             :     case ARM::VST1d64Qwb_fixed:
    7439             :     case ARM::VST1d64Twb_fixed:
    7440             :     case ARM::VST1d8Qwb_fixed:
    7441             :     case ARM::VST1d8Twb_fixed:
    7442             :     case ARM::VST1q16wb_fixed:
    7443             :     case ARM::VST1q32wb_fixed:
    7444             :     case ARM::VST1q64wb_fixed:
    7445             :     case ARM::VST1q8wb_fixed:
    7446             :     case ARM::VST2b16wb_fixed:
    7447             :     case ARM::VST2b32wb_fixed:
    7448             :     case ARM::VST2b8wb_fixed:
    7449             :     case ARM::VST2d16wb_fixed:
    7450             :     case ARM::VST2d32wb_fixed:
    7451             :     case ARM::VST2d8wb_fixed:
    7452             :     case ARM::VST2q16wb_fixed:
    7453             :     case ARM::VST2q32wb_fixed:
    7454             :     case ARM::VST2q8wb_fixed: {
    7455             :       // op: Vd
    7456          92 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7457          92 :       Value |= (op & UINT64_C(16)) << 18;
    7458          92 :       Value |= (op & UINT64_C(15)) << 12;
    7459             :       // op: Rn
    7460         184 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7461          92 :       Value |= (op & UINT64_C(15)) << 16;
    7462          92 :       Value |= op & UINT64_C(48);
    7463         184 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7464          92 :       break;
    7465             :     }
    7466          11 :     case ARM::VST1LNd8_UPD: {
    7467             :       // op: Vd
    7468          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7469          11 :       Value |= (op & UINT64_C(16)) << 18;
    7470          11 :       Value |= (op & UINT64_C(15)) << 12;
    7471             :       // op: Rn
    7472          22 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7473          11 :       Value |= (op & UINT64_C(15)) << 16;
    7474             :       // op: Rm
    7475          22 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7476          11 :       Value |= op & UINT64_C(15);
    7477             :       // op: lane
    7478          11 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7479          11 :       Value |= (op & UINT64_C(7)) << 5;
    7480          22 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7481          11 :       break;
    7482             :     }
    7483           8 :     case ARM::VST3LNd32_UPD:
    7484             :     case ARM::VST3LNq32_UPD: {
    7485             :       // op: Vd
    7486           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7487           8 :       Value |= (op & UINT64_C(16)) << 18;
    7488           8 :       Value |= (op & UINT64_C(15)) << 12;
    7489             :       // op: Rn
    7490          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7491           8 :       Value |= (op & UINT64_C(15)) << 16;
    7492             :       // op: Rm
    7493          16 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7494           8 :       Value |= op & UINT64_C(15);
    7495             :       // op: lane
    7496           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7497           8 :       Value |= (op & UINT64_C(1)) << 7;
    7498          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7499           8 :       break;
    7500             :     }
    7501           8 :     case ARM::VST3LNd16_UPD:
    7502             :     case ARM::VST3LNq16_UPD: {
    7503             :       // op: Vd
    7504           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7505           8 :       Value |= (op & UINT64_C(16)) << 18;
    7506           8 :       Value |= (op & UINT64_C(15)) << 12;
    7507             :       // op: Rn
    7508          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7509           8 :       Value |= (op & UINT64_C(15)) << 16;
    7510             :       // op: Rm
    7511          16 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7512           8 :       Value |= op & UINT64_C(15);
    7513             :       // op: lane
    7514           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7515           8 :       Value |= (op & UINT64_C(3)) << 6;
    7516          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7517           8 :       break;
    7518             :     }
    7519           4 :     case ARM::VST3LNd8_UPD: {
    7520             :       // op: Vd
    7521           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7522           4 :       Value |= (op & UINT64_C(16)) << 18;
    7523           4 :       Value |= (op & UINT64_C(15)) << 12;
    7524             :       // op: Rn
    7525           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7526           4 :       Value |= (op & UINT64_C(15)) << 16;
    7527             :       // op: Rm
    7528           8 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7529           4 :       Value |= op & UINT64_C(15);
    7530             :       // op: lane
    7531           4 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7532           4 :       Value |= (op & UINT64_C(7)) << 5;
    7533           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7534           4 :       break;
    7535             :     }
    7536          17 :     case ARM::VST1LNd16_UPD: {
    7537             :       // op: Vd
    7538          17 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7539          17 :       Value |= (op & UINT64_C(16)) << 18;
    7540          17 :       Value |= (op & UINT64_C(15)) << 12;
    7541             :       // op: Rn
    7542          34 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7543          17 :       Value |= (op & UINT64_C(15)) << 16;
    7544          17 :       Value |= op & UINT64_C(16);
    7545             :       // op: Rm
    7546          34 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7547          17 :       Value |= op & UINT64_C(15);
    7548             :       // op: lane
    7549          17 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7550          17 :       Value |= (op & UINT64_C(3)) << 6;
    7551          34 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7552          17 :       break;
    7553             :     }
    7554          10 :     case ARM::VST2LNd32_UPD:
    7555             :     case ARM::VST2LNq32_UPD: {
    7556             :       // op: Vd
    7557          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7558          10 :       Value |= (op & UINT64_C(16)) << 18;
    7559          10 :       Value |= (op & UINT64_C(15)) << 12;
    7560             :       // op: Rn
    7561          20 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7562          10 :       Value |= (op & UINT64_C(15)) << 16;
    7563          10 :       Value |= op & UINT64_C(16);
    7564             :       // op: Rm
    7565          20 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7566          10 :       Value |= op & UINT64_C(15);
    7567             :       // op: lane
    7568          10 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7569          10 :       Value |= (op & UINT64_C(1)) << 7;
    7570          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7571          10 :       break;
    7572             :     }
    7573           2 :     case ARM::VST2LNd16_UPD:
    7574             :     case ARM::VST2LNq16_UPD: {
    7575             :       // op: Vd
    7576           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7577           2 :       Value |= (op & UINT64_C(16)) << 18;
    7578           2 :       Value |= (op & UINT64_C(15)) << 12;
    7579             :       // op: Rn
    7580           4 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7581           2 :       Value |= (op & UINT64_C(15)) << 16;
    7582           2 :       Value |= op & UINT64_C(16);
    7583             :       // op: Rm
    7584           4 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7585           2 :       Value |= op & UINT64_C(15);
    7586             :       // op: lane
    7587           2 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7588           2 :       Value |= (op & UINT64_C(3)) << 6;
    7589           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7590           2 :       break;
    7591             :     }
    7592           6 :     case ARM::VST2LNd8_UPD: {
    7593             :       // op: Vd
    7594           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7595           6 :       Value |= (op & UINT64_C(16)) << 18;
    7596           6 :       Value |= (op & UINT64_C(15)) << 12;
    7597             :       // op: Rn
    7598          12 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7599           6 :       Value |= (op & UINT64_C(15)) << 16;
    7600           6 :       Value |= op & UINT64_C(16);
    7601             :       // op: Rm
    7602          12 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7603           6 :       Value |= op & UINT64_C(15);
    7604             :       // op: lane
    7605           6 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7606           6 :       Value |= (op & UINT64_C(7)) << 5;
    7607          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7608           6 :       break;
    7609             :     }
    7610          13 :     case ARM::VST4LNd16_UPD:
    7611             :     case ARM::VST4LNq16_UPD: {
    7612             :       // op: Vd
    7613          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7614          13 :       Value |= (op & UINT64_C(16)) << 18;
    7615          13 :       Value |= (op & UINT64_C(15)) << 12;
    7616             :       // op: Rn
    7617          26 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7618          13 :       Value |= (op & UINT64_C(15)) << 16;
    7619          13 :       Value |= op & UINT64_C(16);
    7620             :       // op: Rm
    7621          26 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7622          13 :       Value |= op & UINT64_C(15);
    7623             :       // op: lane
    7624          13 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7625          13 :       Value |= (op & UINT64_C(3)) << 6;
    7626          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7627          13 :       break;
    7628             :     }
    7629           7 :     case ARM::VST4LNd8_UPD: {
    7630             :       // op: Vd
    7631           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7632           7 :       Value |= (op & UINT64_C(16)) << 18;
    7633           7 :       Value |= (op & UINT64_C(15)) << 12;
    7634             :       // op: Rn
    7635          14 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7636           7 :       Value |= (op & UINT64_C(15)) << 16;
    7637           7 :       Value |= op & UINT64_C(16);
    7638             :       // op: Rm
    7639          14 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7640           7 :       Value |= op & UINT64_C(15);
    7641             :       // op: lane
    7642           7 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7643           7 :       Value |= (op & UINT64_C(7)) << 5;
    7644          14 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7645           7 :       break;
    7646             :     }
    7647          42 :     case ARM::VST3d16_UPD:
    7648             :     case ARM::VST3d32_UPD:
    7649             :     case ARM::VST3d8_UPD:
    7650             :     case ARM::VST3q16_UPD:
    7651             :     case ARM::VST3q32_UPD:
    7652             :     case ARM::VST3q8_UPD: {
    7653             :       // op: Vd
    7654          42 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7655          42 :       Value |= (op & UINT64_C(16)) << 18;
    7656          42 :       Value |= (op & UINT64_C(15)) << 12;
    7657             :       // op: Rn
    7658          84 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7659          42 :       Value |= (op & UINT64_C(15)) << 16;
    7660          42 :       Value |= op & UINT64_C(16);
    7661             :       // op: Rm
    7662          84 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7663          42 :       Value |= op & UINT64_C(15);
    7664          84 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7665          42 :       break;
    7666             :     }
    7667           8 :     case ARM::VST1d16wb_register:
    7668             :     case ARM::VST1d32wb_register:
    7669             :     case ARM::VST1d64wb_register:
    7670             :     case ARM::VST1d8wb_register: {
    7671             :       // op: Vd
    7672           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7673           8 :       Value |= (op & UINT64_C(16)) << 18;
    7674           8 :       Value |= (op & UINT64_C(15)) << 12;
    7675             :       // op: Rn
    7676          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7677           8 :       Value |= (op & UINT64_C(15)) << 16;
    7678           8 :       Value |= op & UINT64_C(16);
    7679             :       // op: Rm
    7680           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7681           8 :       Value |= op & UINT64_C(15);
    7682          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7683           8 :       break;
    7684             :     }
    7685          29 :     case ARM::VST4LNd32_UPD:
    7686             :     case ARM::VST4LNq32_UPD: {
    7687             :       // op: Vd
    7688          29 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7689          29 :       Value |= (op & UINT64_C(16)) << 18;
    7690          29 :       Value |= (op & UINT64_C(15)) << 12;
    7691             :       // op: Rn
    7692          58 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7693          29 :       Value |= (op & UINT64_C(15)) << 16;
    7694          29 :       Value |= op & UINT64_C(48);
    7695             :       // op: Rm
    7696          58 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7697          29 :       Value |= op & UINT64_C(15);
    7698             :       // op: lane
    7699          29 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7700          29 :       Value |= (op & UINT64_C(1)) << 7;
    7701          58 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7702          29 :       break;
    7703             :     }
    7704          66 :     case ARM::VST4d16_UPD:
    7705             :     case ARM::VST4d32_UPD:
    7706             :     case ARM::VST4d8_UPD:
    7707             :     case ARM::VST4q16_UPD:
    7708             :     case ARM::VST4q32_UPD:
    7709             :     case ARM::VST4q8_UPD: {
    7710             :       // op: Vd
    7711          66 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7712          66 :       Value |= (op & UINT64_C(16)) << 18;
    7713          66 :       Value |= (op & UINT64_C(15)) << 12;
    7714             :       // op: Rn
    7715         132 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7716          66 :       Value |= (op & UINT64_C(15)) << 16;
    7717          66 :       Value |= op & UINT64_C(48);
    7718             :       // op: Rm
    7719         132 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7720          66 :       Value |= op & UINT64_C(15);
    7721         132 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7722          66 :       break;
    7723             :     }
    7724          58 :     case ARM::VST1d16Qwb_register:
    7725             :     case ARM::VST1d16Twb_register:
    7726             :     case ARM::VST1d32Qwb_register:
    7727             :     case ARM::VST1d32Twb_register:
    7728             :     case ARM::VST1d64Qwb_register:
    7729             :     case ARM::VST1d64Twb_register:
    7730             :     case ARM::VST1d8Qwb_register:
    7731             :     case ARM::VST1d8Twb_register:
    7732             :     case ARM::VST1q16wb_register:
    7733             :     case ARM::VST1q32wb_register:
    7734             :     case ARM::VST1q64wb_register:
    7735             :     case ARM::VST1q8wb_register:
    7736             :     case ARM::VST2b16wb_register:
    7737             :     case ARM::VST2b32wb_register:
    7738             :     case ARM::VST2b8wb_register:
    7739             :     case ARM::VST2d16wb_register:
    7740             :     case ARM::VST2d32wb_register:
    7741             :     case ARM::VST2d8wb_register:
    7742             :     case ARM::VST2q16wb_register:
    7743             :     case ARM::VST2q32wb_register:
    7744             :     case ARM::VST2q8wb_register: {
    7745             :       // op: Vd
    7746          58 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7747          58 :       Value |= (op & UINT64_C(16)) << 18;
    7748          58 :       Value |= (op & UINT64_C(15)) << 12;
    7749             :       // op: Rn
    7750         116 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7751          58 :       Value |= (op & UINT64_C(15)) << 16;
    7752          58 :       Value |= op & UINT64_C(48);
    7753             :       // op: Rm
    7754          58 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7755          58 :       Value |= op & UINT64_C(15);
    7756         116 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7757          58 :       break;
    7758             :     }
    7759          10 :     case ARM::VST1LNd32_UPD: {
    7760             :       // op: Vd
    7761          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7762          10 :       Value |= (op & UINT64_C(16)) << 18;
    7763          10 :       Value |= (op & UINT64_C(15)) << 12;
    7764             :       // op: Rn
    7765          20 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    7766          10 :       Value |= (op & UINT64_C(15)) << 16;
    7767          10 :       Value |= op & UINT64_C(48);
    7768             :       // op: Rm
    7769          20 :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7770          10 :       Value |= op & UINT64_C(15);
    7771             :       // op: lane
    7772          10 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7773          10 :       Value |= (op & UINT64_C(1)) << 7;
    7774          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7775          10 :       break;
    7776             :     }
    7777         360 :     case ARM::LDC2L_OFFSET:
    7778             :     case ARM::LDC2L_PRE:
    7779             :     case ARM::LDC2_OFFSET:
    7780             :     case ARM::LDC2_PRE:
    7781             :     case ARM::STC2L_OFFSET:
    7782             :     case ARM::STC2L_PRE:
    7783             :     case ARM::STC2_OFFSET:
    7784             :     case ARM::STC2_PRE:
    7785             :     case ARM::t2LDC2L_OFFSET:
    7786             :     case ARM::t2LDC2L_PRE:
    7787             :     case ARM::t2LDC2_OFFSET:
    7788             :     case ARM::t2LDC2_PRE:
    7789             :     case ARM::t2LDCL_OFFSET:
    7790             :     case ARM::t2LDCL_PRE:
    7791             :     case ARM::t2LDC_OFFSET:
    7792             :     case ARM::t2LDC_PRE:
    7793             :     case ARM::t2STC2L_OFFSET:
    7794             :     case ARM::t2STC2L_PRE:
    7795             :     case ARM::t2STC2_OFFSET:
    7796             :     case ARM::t2STC2_PRE:
    7797             :     case ARM::t2STCL_OFFSET:
    7798             :     case ARM::t2STCL_PRE:
    7799             :     case ARM::t2STC_OFFSET:
    7800             :     case ARM::t2STC_PRE: {
    7801             :       // op: addr
    7802         360 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
    7803         360 :       Value |= (op & UINT64_C(256)) << 15;
    7804         360 :       Value |= (op & UINT64_C(7680)) << 7;
    7805         360 :       Value |= op & UINT64_C(255);
    7806             :       // op: cop
    7807         360 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7808         360 :       Value |= (op & UINT64_C(15)) << 8;
    7809             :       // op: CRd
    7810         360 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7811         360 :       Value |= (op & UINT64_C(15)) << 12;
    7812         360 :       break;
    7813             :     }
    7814          21 :     case ARM::t2PLDWi12:
    7815             :     case ARM::t2PLDi12:
    7816             :     case ARM::t2PLIi12: {
    7817             :       // op: addr
    7818          21 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    7819          21 :       Value |= (op & UINT64_C(122880)) << 3;
    7820          21 :       Value |= op & UINT64_C(4095);
    7821          21 :       break;
    7822             :     }
    7823           0 :     case ARM::PLDWi12:
    7824             :     case ARM::PLDi12:
    7825             :     case ARM::PLIi12: {
    7826             :       // op: addr
    7827           0 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    7828           0 :       Value |= (op & UINT64_C(4096)) << 11;
    7829           0 :       Value |= (op & UINT64_C(122880)) << 3;
    7830           0 :       Value |= op & UINT64_C(4095);
    7831           0 :       break;
    7832             :     }
    7833           4 :     case ARM::t2PLDpci:
    7834             :     case ARM::t2PLIpci: {
    7835             :       // op: addr
    7836           4 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    7837           4 :       Value |= (op & UINT64_C(4096)) << 11;
    7838           4 :       Value |= op & UINT64_C(4095);
    7839           4 :       break;
    7840             :     }
    7841          20 :     case ARM::t2LDAEXB:
    7842             :     case ARM::t2LDAEXH:
    7843             :     case ARM::t2LDREXB:
    7844             :     case ARM::t2LDREXH: {
    7845             :       // op: addr
    7846          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7847          20 :       Value |= (op & UINT64_C(15)) << 16;
    7848             :       // op: Rt
    7849          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7850          20 :       Value |= (op & UINT64_C(15)) << 12;
    7851          20 :       break;
    7852             :     }
    7853           8 :     case ARM::t2LDAEXD:
    7854             :     case ARM::t2LDREXD: {
    7855             :       // op: addr
    7856           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7857           8 :       Value |= (op & UINT64_C(15)) << 16;
    7858             :       // op: Rt
    7859           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7860           8 :       Value |= (op & UINT64_C(15)) << 12;
    7861             :       // op: Rt2
    7862           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7863           8 :       Value |= (op & UINT64_C(15)) << 8;
    7864           8 :       break;
    7865             :     }
    7866           6 :     case ARM::t2PLDWi8:
    7867             :     case ARM::t2PLDi8:
    7868             :     case ARM::t2PLIi8: {
    7869             :       // op: addr
    7870          12 :       op = getT2AddrModeImm8OpValue(MI, 0, Fixups, STI);
    7871           6 :       Value |= (op & UINT64_C(7680)) << 7;
    7872           6 :       Value |= op & UINT64_C(255);
    7873           6 :       break;
    7874             :     }
    7875          24 :     case ARM::t2PLDWs:
    7876             :     case ARM::t2PLDs:
    7877             :     case ARM::t2PLIs: {
    7878             :       // op: addr
    7879          48 :       op = getT2AddrModeSORegOpValue(MI, 0, Fixups, STI);
    7880          24 :       Value |= (op & UINT64_C(960)) << 10;
    7881          24 :       Value |= (op & UINT64_C(3)) << 4;
    7882          24 :       Value |= (op & UINT64_C(60)) >> 2;
    7883          24 :       break;
    7884             :     }
    7885          33 :     case ARM::t2MSRbanked: {
    7886             :       // op: banked
    7887          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7888          33 :       Value |= (op & UINT64_C(32)) << 15;
    7889          33 :       Value |= (op & UINT64_C(15)) << 8;
    7890          33 :       Value |= op & UINT64_C(16);
    7891             :       // op: Rn
    7892          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7893          33 :       Value |= (op & UINT64_C(15)) << 16;
    7894          33 :       break;
    7895             :     }
    7896          33 :     case ARM::t2MRSbanked: {
    7897             :       // op: banked
    7898          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7899          33 :       Value |= (op & UINT64_C(32)) << 15;
    7900          33 :       Value |= (op & UINT64_C(15)) << 16;
    7901          33 :       Value |= op & UINT64_C(16);
    7902             :       // op: Rd
    7903          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7904          33 :       Value |= (op & UINT64_C(15)) << 8;
    7905          33 :       break;
    7906             :     }
    7907        2768 :     case ARM::t2IT: {
    7908             :       // op: cc
    7909        2768 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7910        2768 :       Value |= (op & UINT64_C(15)) << 4;
    7911             :       // op: mask
    7912        2768 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7913        2768 :       Value |= op & UINT64_C(15);
    7914        2768 :       break;
    7915             :     }
    7916         469 :     case ARM::tADDrSPi: {
    7917             :       // op: dst
    7918         469 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7919         469 :       Value |= (op & UINT64_C(7)) << 8;
    7920             :       // op: imm
    7921         469 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7922         469 :       Value |= op & UINT64_C(255);
    7923         469 :       break;
    7924             :     }
    7925           0 :     case ARM::BX: {
    7926             :       // op: dst
    7927           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7928           0 :       Value |= op & UINT64_C(15);
    7929           0 :       break;
    7930             :     }
    7931           0 :     case ARM::tPICADD: {
    7932             :       // op: dst
    7933           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7934           0 :       Value |= op & UINT64_C(7);
    7935           0 :       break;
    7936             :     }
    7937          11 :     case ARM::tSETEND: {
    7938             :       // op: end
    7939          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7940          11 :       Value |= (op & UINT64_C(1)) << 3;
    7941          11 :       break;
    7942             :     }
    7943          11 :     case ARM::SETEND: {
    7944             :       // op: end
    7945          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7946          11 :       Value |= (op & UINT64_C(1)) << 9;
    7947          11 :       break;
    7948             :     }
    7949         709 :     case ARM::BL: {
    7950             :       // op: func
    7951         709 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    7952         709 :       Value |= op & UINT64_C(16777215);
    7953         709 :       break;
    7954             :     }
    7955          10 :     case ARM::t2BXJ: {
    7956             :       // op: func
    7957          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7958          10 :       Value |= (op & UINT64_C(15)) << 16;
    7959          10 :       break;
    7960             :     }
    7961          20 :     case ARM::BLX: {
    7962             :       // op: func
    7963          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7964          20 :       Value |= op & UINT64_C(15);
    7965          20 :       break;
    7966             :     }
    7967          42 :     case ARM::tBLXNSr:
    7968             :     case ARM::tBLXr: {
    7969             :       // op: func
    7970          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7971          42 :       Value |= (op & UINT64_C(15)) << 3;
    7972          42 :       break;
    7973             :     }
    7974         859 :     case ARM::tBL: {
    7975             :       // op: func
    7976         859 :       op = getThumbBLTargetOpValue(MI, 2, Fixups, STI);
    7977         859 :       Value |= (op & UINT64_C(8388608)) << 3;
    7978         859 :       Value |= (op & UINT64_C(2095104)) << 5;
    7979         859 :       Value |= (op & UINT64_C(4194304)) >> 9;
    7980         859 :       Value |= (op & UINT64_C(2097152)) >> 10;
    7981         859 :       Value |= op & UINT64_C(2047);
    7982         859 :       break;
    7983             :     }
    7984          31 :     case ARM::tBLXi: {
    7985             :       // op: func
    7986          31 :       op = getThumbBLXTargetOpValue(MI, 2, Fixups, STI);
    7987          31 :       Value |= (op & UINT64_C(8388608)) << 3;
    7988          31 :       Value |= (op & UINT64_C(2095104)) << 5;
    7989          31 :       Value |= (op & UINT64_C(4194304)) >> 9;
    7990          31 :       Value |= (op & UINT64_C(2097152)) >> 10;
    7991          31 :       Value |= op & UINT64_C(2046);
    7992          31 :       break;
    7993             :     }
    7994           2 :     case ARM::t2SETPAN: {
    7995             :       // op: imm
    7996           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7997           2 :       Value |= (op & UINT64_C(1)) << 3;
    7998           2 :       break;
    7999             :     }
    8000           2 :     case ARM::SETPAN: {
    8001             :       // op: imm
    8002           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8003           2 :       Value |= (op & UINT64_C(1)) << 9;
    8004           2 :       break;
    8005             :     }
    8006         100 :     case ARM::tHINT: {
    8007             :       // op: imm
    8008         100 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8009         100 :       Value |= (op & UINT64_C(15)) << 4;
    8010         100 :       break;
    8011             :     }
    8012           4 :     case ARM::HVC: {
    8013             :       // op: imm
    8014           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8015           4 :       Value |= (op & UINT64_C(65520)) << 4;
    8016           4 :       Value |= op & UINT64_C(15);
    8017           4 :       break;
    8018             :     }
    8019          63 :     case ARM::t2HINT:
    8020             :     case ARM::t2SUBS_PC_LR:
    8021             :     case ARM::tSVC: {
    8022             :       // op: imm
    8023          63 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8024          63 :       Value |= op & UINT64_C(255);
    8025          63 :       break;
    8026             :     }
    8027         546 :     case ARM::tADDspi:
    8028             :     case ARM::tSUBspi: {
    8029             :       // op: imm
    8030         546 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8031         546 :       Value |= op & UINT64_C(127);
    8032         546 :       break;
    8033             :     }
    8034          10 :     case ARM::t2HVC:
    8035             :     case ARM::t2UDF: {
    8036             :       // op: imm16
    8037          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8038          10 :       Value |= (op & UINT64_C(61440)) << 4;
    8039          10 :       Value |= op & UINT64_C(4095);
    8040          10 :       break;
    8041             :     }
    8042           1 :     case ARM::UDF: {
    8043             :       // op: imm16
    8044           1 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8045           1 :       Value |= (op & UINT64_C(65520)) << 4;
    8046           1 :       Value |= op & UINT64_C(15);
    8047           1 :       break;
    8048             :     }
    8049           2 :     case ARM::tUDF: {
    8050             :       // op: imm8
    8051           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8052           2 :       Value |= op & UINT64_C(255);
    8053           2 :       break;
    8054             :     }
    8055          16 :     case ARM::tCPS: {
    8056             :       // op: imod
    8057          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8058          16 :       Value |= (op & UINT64_C(1)) << 4;
    8059             :       // op: iflags
    8060          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8061          16 :       Value |= op & UINT64_C(7);
    8062          16 :       break;
    8063             :     }
    8064           2 :     case ARM::CPS2p: {
    8065             :       // op: imod
    8066           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8067           2 :       Value |= (op & UINT64_C(3)) << 18;
    8068             :       // op: iflags
    8069           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8070           2 :       Value |= (op & UINT64_C(7)) << 6;
    8071           2 :       break;
    8072             :     }
    8073           5 :     case ARM::CPS3p: {
    8074             :       // op: imod
    8075           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8076           5 :       Value |= (op & UINT64_C(3)) << 18;
    8077             :       // op: iflags
    8078           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8079           5 :       Value |= (op & UINT64_C(7)) << 6;
    8080             :       // op: mode
    8081           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8082           5 :       Value |= op & UINT64_C(31);
    8083           5 :       break;
    8084             :     }
    8085           4 :     case ARM::t2CPS2p: {
    8086             :       // op: imod
    8087           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8088           4 :       Value |= (op & UINT64_C(3)) << 9;
    8089             :       // op: iflags
    8090           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8091           4 :       Value |= (op & UINT64_C(7)) << 5;
    8092           4 :       break;
    8093             :     }
    8094          12 :     case ARM::t2CPS3p: {
    8095             :       // op: imod
    8096          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8097          12 :       Value |= (op & UINT64_C(3)) << 9;
    8098             :       // op: iflags
    8099          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8100          12 :       Value |= (op & UINT64_C(7)) << 5;
    8101             :       // op: mode
    8102          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8103          12 :       Value |= op & UINT64_C(31);
    8104          12 :       break;
    8105             :     }
    8106          31 :     case ARM::t2MSR_AR: {
    8107             :       // op: mask
    8108          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8109          31 :       Value |= (op & UINT64_C(16)) << 16;
    8110          31 :       Value |= (op & UINT64_C(15)) << 8;
    8111             :       // op: Rn
    8112          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8113          31 :       Value |= (op & UINT64_C(15)) << 16;
    8114          31 :       break;
    8115             :     }
    8116         122 :     case ARM::CPS1p:
    8117             :     case ARM::SRSDA:
    8118             :     case ARM::SRSDA_UPD:
    8119             :     case ARM::SRSDB:
    8120             :     case ARM::SRSDB_UPD:
    8121             :     case ARM::SRSIA:
    8122             :     case ARM::SRSIA_UPD:
    8123             :     case ARM::SRSIB:
    8124             :     case ARM::SRSIB_UPD:
    8125             :     case ARM::t2CPS1p:
    8126             :     case ARM::t2SRSDB:
    8127             :     case ARM::t2SRSDB_UPD:
    8128             :     case ARM::t2SRSIA:
    8129             :     case ARM::t2SRSIA_UPD: {
    8130             :       // op: mode
    8131         122 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8132         122 :       Value |= op & UINT64_C(31);
    8133         122 :       break;
    8134             :     }
    8135         176 :     case ARM::LDC2L_POST:
    8136             :     case ARM::LDC2_POST:
    8137             :     case ARM::STC2L_POST:
    8138             :     case ARM::STC2_POST:
    8139             :     case ARM::t2LDC2L_POST:
    8140             :     case ARM::t2LDC2_POST:
    8141             :     case ARM::t2LDCL_POST:
    8142             :     case ARM::t2LDC_POST:
    8143             :     case ARM::t2STC2L_POST:
    8144             :     case ARM::t2STC2_POST:
    8145             :     case ARM::t2STCL_POST:
    8146             :     case ARM::t2STC_POST: {
    8147             :       // op: offset
    8148         176 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8149         176 :       Value |= (op & UINT64_C(256)) << 15;
    8150         176 :       Value |= op & UINT64_C(255);
    8151             :       // op: addr
    8152         176 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8153         176 :       Value |= (op & UINT64_C(15)) << 16;
    8154             :       // op: cop
    8155         176 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8156         176 :       Value |= (op & UINT64_C(15)) << 8;
    8157             :       // op: CRd
    8158         176 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8159         176 :       Value |= (op & UINT64_C(15)) << 12;
    8160         176 :       break;
    8161             :     }
    8162          23 :     case ARM::CDP2:
    8163             :     case ARM::t2CDP:
    8164             :     case ARM::t2CDP2: {
    8165             :       // op: opc1
    8166          23 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8167          23 :       Value |= (op & UINT64_C(15)) << 20;
    8168             :       // op: CRn
    8169          23 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8170          23 :       Value |= (op & UINT64_C(15)) << 16;
    8171             :       // op: CRd
    8172          23 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8173          23 :       Value |= (op & UINT64_C(15)) << 12;
    8174             :       // op: cop
    8175          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8176          23 :       Value |= (op & UINT64_C(15)) << 8;
    8177             :       // op: opc2
    8178          23 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    8179          23 :       Value |= (op & UINT64_C(7)) << 5;
    8180             :       // op: CRm
    8181          23 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8182          23 :       Value |= op & UINT64_C(15);
    8183          23 :       break;
    8184             :     }
    8185           3 :     case ARM::t2SMC: {
    8186             :       // op: opt
    8187           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8188           3 :       Value |= (op & UINT64_C(15)) << 16;
    8189           3 :       break;
    8190             :     }
    8191         302 :     case ARM::DMB:
    8192             :     case ARM::DSB:
    8193             :     case ARM::ISB:
    8194             :     case ARM::t2DBG:
    8195             :     case ARM::t2DMB:
    8196             :     case ARM::t2DSB:
    8197             :     case ARM::t2ISB: {
    8198             :       // op: opt
    8199         302 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8200         302 :       Value |= op & UINT64_C(15);
    8201         302 :       break;
    8202             :     }
    8203          88 :     case ARM::LDC2L_OPTION:
    8204             :     case ARM::LDC2_OPTION:
    8205             :     case ARM::STC2L_OPTION:
    8206             :     case ARM::STC2_OPTION:
    8207             :     case ARM::t2LDC2L_OPTION:
    8208             :     case ARM::t2LDC2_OPTION:
    8209             :     case ARM::t2LDCL_OPTION:
    8210             :     case ARM::t2LDC_OPTION:
    8211             :     case ARM::t2STC2L_OPTION:
    8212             :     case ARM::t2STC2_OPTION:
    8213             :     case ARM::t2STCL_OPTION:
    8214             :     case ARM::t2STC_OPTION: {
    8215             :       // op: option
    8216          88 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8217          88 :       Value |= op & UINT64_C(255);
    8218             :       // op: addr
    8219          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8220          88 :       Value |= (op & UINT64_C(15)) << 16;
    8221             :       // op: cop
    8222          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8223          88 :       Value |= (op & UINT64_C(15)) << 8;
    8224             :       // op: CRd
    8225          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8226          88 :       Value |= (op & UINT64_C(15)) << 12;
    8227          88 :       break;
    8228             :     }
    8229         277 :     case ARM::BX_RET:
    8230             :     case ARM::ERET:
    8231             :     case ARM::MOVPCLR: {
    8232             :       // op: p
    8233         277 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8234         277 :       Value |= (op & UINT64_C(15)) << 28;
    8235         277 :       break;
    8236             :     }
    8237           7 :     case ARM::FMSTAT: {
    8238             :       // op: p
    8239           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8240           7 :       Value |= (op & UINT64_C(15)) << 28;
    8241          14 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8242           7 :       break;
    8243             :     }
    8244          61 :     case ARM::t2Bcc: {
    8245             :       // op: p
    8246          61 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8247          61 :       Value |= (op & UINT64_C(15)) << 22;
    8248             :       // op: target
    8249          61 :       op = getBranchTargetOpValue(MI, 0, Fixups, STI);
    8250          61 :       Value |= (op & UINT64_C(1048576)) << 6;
    8251          61 :       Value |= (op & UINT64_C(258048)) << 4;
    8252          61 :       Value |= (op & UINT64_C(262144)) >> 5;
    8253          61 :       Value |= (op & UINT64_C(524288)) >> 8;
    8254          61 :       Value |= (op & UINT64_C(4094)) >> 1;
    8255          61 :       break;
    8256             :     }
    8257           2 :     case ARM::VCMPEZD:
    8258             :     case ARM::VCMPZD: {
    8259             :       // op: p
    8260           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8261           2 :       Value |= (op & UINT64_C(15)) << 28;
    8262             :       // op: Dd
    8263           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8264           2 :       Value |= (op & UINT64_C(16)) << 18;
    8265           2 :       Value |= (op & UINT64_C(15)) << 12;
    8266           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8267           2 :       break;
    8268             :     }
    8269           7 :     case ARM::MRS:
    8270             :     case ARM::MRSsys: {
    8271             :       // op: p
    8272           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8273           7 :       Value |= (op & UINT64_C(15)) << 28;
    8274             :       // op: Rd
    8275           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8276           7 :       Value |= (op & UINT64_C(15)) << 12;
    8277           7 :       break;
    8278             :     }
    8279           2 :     case ARM::VLDMSIA:
    8280             :     case ARM::VSTMSIA: {
    8281             :       // op: p
    8282           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8283           2 :       Value |= (op & UINT64_C(15)) << 28;
    8284             :       // op: Rn
    8285           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8286           2 :       Value |= (op & UINT64_C(15)) << 16;
    8287             :       // op: regs
    8288           2 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8289           2 :       Value |= (op & UINT64_C(256)) << 14;
    8290           2 :       Value |= (op & UINT64_C(7680)) << 3;
    8291           2 :       Value |= op & UINT64_C(255);
    8292           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8293           2 :       break;
    8294             :     }
    8295           2 :     case ARM::FLDMXIA:
    8296             :     case ARM::FSTMXIA: {
    8297             :       // op: p
    8298           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8299           2 :       Value |= (op & UINT64_C(15)) << 28;
    8300             :       // op: Rn
    8301           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8302           2 :       Value |= (op & UINT64_C(15)) << 16;
    8303             :       // op: regs
    8304           2 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8305           2 :       Value |= (op & UINT64_C(3840)) << 4;
    8306           2 :       Value |= op & UINT64_C(254);
    8307           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8308           2 :       break;
    8309             :     }
    8310           4 :     case ARM::VLDMDIA:
    8311             :     case ARM::VSTMDIA: {
    8312             :       // op: p
    8313           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8314           4 :       Value |= (op & UINT64_C(15)) << 28;
    8315             :       // op: Rn
    8316           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8317           4 :       Value |= (op & UINT64_C(15)) << 16;
    8318             :       // op: regs
    8319           4 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8320           4 :       Value |= (op & UINT64_C(4096)) << 10;
    8321           4 :       Value |= (op & UINT64_C(3840)) << 4;
    8322           4 :       Value |= op & UINT64_C(254);
    8323           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8324           4 :       break;
    8325             :     }
    8326           4 :     case ARM::VLLDM:
    8327             :     case ARM::VLSTM: {
    8328             :       // op: p
    8329           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8330           4 :       Value |= (op & UINT64_C(15)) << 28;
    8331             :       // op: Rn
    8332           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8333           4 :       Value |= (op & UINT64_C(15)) << 16;
    8334           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8335           4 :       break;
    8336             :     }
    8337          11 :     case ARM::VMRS:
    8338             :     case ARM::VMRS_FPEXC:
    8339             :     case ARM::VMRS_FPINST:
    8340             :     case ARM::VMRS_FPINST2:
    8341             :     case ARM::VMRS_FPSID:
    8342             :     case ARM::VMRS_MVFR0:
    8343             :     case ARM::VMRS_MVFR1:
    8344             :     case ARM::VMRS_MVFR2: {
    8345             :       // op: p
    8346          11 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8347          11 :       Value |= (op & UINT64_C(15)) << 28;
    8348             :       // op: Rt
    8349          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8350          11 :       Value |= (op & UINT64_C(15)) << 12;
    8351          22 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8352          11 :       break;
    8353             :     }
    8354          10 :     case ARM::VCMPEZH:
    8355             :     case ARM::VCMPEZS:
    8356             :     case ARM::VCMPZH:
    8357             :     case ARM::VCMPZS: {
    8358             :       // op: p
    8359          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8360          10 :       Value |= (op & UINT64_C(15)) << 28;
    8361             :       // op: Sd
    8362          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8363          10 :       Value |= (op & UINT64_C(1)) << 22;
    8364          10 :       Value |= (op & UINT64_C(30)) << 11;
    8365          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8366          10 :       break;
    8367             :     }
    8368          17 :     case ARM::BX_pred: {
    8369             :       // op: p
    8370          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8371          17 :       Value |= (op & UINT64_C(15)) << 28;
    8372             :       // op: dst
    8373          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8374          17 :       Value |= op & UINT64_C(15);
    8375          17 :       break;
    8376             :     }
    8377          72 :     case ARM::BL_pred: {
    8378             :       // op: p
    8379          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8380          72 :       Value |= (op & UINT64_C(15)) << 28;
    8381             :       // op: func
    8382          72 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    8383          72 :       Value |= op & UINT64_C(16777215);
    8384          72 :       break;
    8385             :     }
    8386          10 :     case ARM::BLX_pred:
    8387             :     case ARM::BXJ: {
    8388             :       // op: p
    8389          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8390          10 :       Value |= (op & UINT64_C(15)) << 28;
    8391             :       // op: func
    8392          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8393          10 :       Value |= op & UINT64_C(15);
    8394          10 :       break;
    8395             :     }
    8396          78 :     case ARM::HINT: {
    8397             :       // op: p
    8398          78 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8399          78 :       Value |= (op & UINT64_C(15)) << 28;
    8400             :       // op: imm
    8401          78 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8402          78 :       Value |= op & UINT64_C(255);
    8403          78 :       break;
    8404             :     }
    8405          10 :     case ARM::DBG:
    8406             :     case ARM::SMC: {
    8407             :       // op: p
    8408          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8409          10 :       Value |= (op & UINT64_C(15)) << 28;
    8410             :       // op: opt
    8411          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8412          10 :       Value |= op & UINT64_C(15);
    8413          10 :       break;
    8414             :     }
    8415         164 :     case ARM::LDMDA:
    8416             :     case ARM::LDMDB:
    8417             :     case ARM::LDMIA:
    8418             :     case ARM::LDMIB:
    8419             :     case ARM::STMDA:
    8420             :     case ARM::STMDB:
    8421             :     case ARM::STMIA:
    8422             :     case ARM::STMIB:
    8423             :     case ARM::sysLDMDA:
    8424             :     case ARM::sysLDMDB:
    8425             :     case ARM::sysLDMIA:
    8426             :     case ARM::sysLDMIB:
    8427             :     case ARM::sysSTMDA:
    8428             :     case ARM::sysSTMDB:
    8429             :     case ARM::sysSTMIA:
    8430             :     case ARM::sysSTMIB: {
    8431             :       // op: p
    8432         164 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8433         164 :       Value |= (op & UINT64_C(15)) << 28;
    8434             :       // op: regs
    8435         164 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8436         164 :       Value |= op & UINT64_C(65535);
    8437             :       // op: Rn
    8438         164 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8439         164 :       Value |= (op & UINT64_C(15)) << 16;
    8440         164 :       break;
    8441             :     }
    8442           5 :     case ARM::VMSR:
    8443             :     case ARM::VMSR_FPEXC:
    8444             :     case ARM::VMSR_FPINST:
    8445             :     case ARM::VMSR_FPINST2:
    8446             :     case ARM::VMSR_FPSID: {
    8447             :       // op: p
    8448           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8449           5 :       Value |= (op & UINT64_C(15)) << 28;
    8450             :       // op: src
    8451           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8452           5 :       Value |= (op & UINT64_C(15)) << 12;
    8453          10 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8454           5 :       break;
    8455             :     }
    8456           8 :     case ARM::SVC: {
    8457             :       // op: p
    8458           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8459           8 :       Value |= (op & UINT64_C(15)) << 28;
    8460             :       // op: svc
    8461           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8462           8 :       Value |= op & UINT64_C(16777215);
    8463           8 :       break;
    8464             :     }
    8465         213 :     case ARM::Bcc: {
    8466             :       // op: p
    8467         213 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8468         213 :       Value |= (op & UINT64_C(15)) << 28;
    8469             :       // op: target
    8470         213 :       op = getARMBranchTargetOpValue(MI, 0, Fixups, STI);
    8471         213 :       Value |= op & UINT64_C(16777215);
    8472         213 :       break;
    8473             :     }
    8474         177 :     case ARM::tBcc: {
    8475             :       // op: p
    8476         177 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8477         177 :       Value |= (op & UINT64_C(15)) << 8;
    8478             :       // op: target
    8479         177 :       op = getThumbBCCTargetOpValue(MI, 0, Fixups, STI);
    8480         177 :       Value |= op & UINT64_C(255);
    8481         177 :       break;
    8482             :     }
    8483         126 :     case ARM::VABSD:
    8484             :     case ARM::VCMPD:
    8485             :     case ARM::VCMPED:
    8486             :     case ARM::VMOVD:
    8487             :     case ARM::VNEGD:
    8488             :     case ARM::VRINTRD:
    8489             :     case ARM::VRINTXD:
    8490             :     case ARM::VRINTZD:
    8491             :     case ARM::VSQRTD: {
    8492             :       // op: p
    8493         126 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8494         126 :       Value |= (op & UINT64_C(15)) << 28;
    8495             :       // op: Dd
    8496         126 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8497         126 :       Value |= (op & UINT64_C(16)) << 18;
    8498         126 :       Value |= (op & UINT64_C(15)) << 12;
    8499             :       // op: Dm
    8500         126 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8501         126 :       Value |= (op & UINT64_C(16)) << 1;
    8502         126 :       Value |= op & UINT64_C(15);
    8503         252 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8504         126 :       break;
    8505             :     }
    8506          20 :     case ARM::VCVTBHD:
    8507             :     case ARM::VCVTTHD:
    8508             :     case ARM::VSITOD:
    8509             :     case ARM::VUITOD: {
    8510             :       // op: p
    8511          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8512          20 :       Value |= (op & UINT64_C(15)) << 28;
    8513             :       // op: Dd
    8514          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8515          20 :       Value |= (op & UINT64_C(16)) << 18;
    8516          20 :       Value |= (op & UINT64_C(15)) << 12;
    8517             :       // op: Sm
    8518          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8519          20 :       Value |= (op & UINT64_C(1)) << 5;
    8520          20 :       Value |= (op & UINT64_C(30)) >> 1;
    8521          40 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8522          20 :       break;
    8523             :     }
    8524          10 :     case ARM::FCONSTD: {
    8525             :       // op: p
    8526          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8527          10 :       Value |= (op & UINT64_C(15)) << 28;
    8528             :       // op: Dd
    8529          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8530          10 :       Value |= (op & UINT64_C(16)) << 18;
    8531          10 :       Value |= (op & UINT64_C(15)) << 12;
    8532             :       // op: imm
    8533          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8534          10 :       Value |= (op & UINT64_C(240)) << 12;
    8535          10 :       Value |= op & UINT64_C(15);
    8536          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8537          10 :       break;
    8538             :     }
    8539          17 :     case ARM::VCVTBDH:
    8540             :     case ARM::VCVTTDH: {
    8541             :       // op: p
    8542          17 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8543          17 :       Value |= (op & UINT64_C(15)) << 28;
    8544             :       // op: Dm
    8545          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8546          17 :       Value |= (op & UINT64_C(16)) << 1;
    8547          17 :       Value |= op & UINT64_C(15);
    8548             :       // op: Sd
    8549          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8550          17 :       Value |= (op & UINT64_C(1)) << 22;
    8551          17 :       Value |= (op & UINT64_C(30)) << 11;
    8552          34 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8553          17 :       break;
    8554             :     }
    8555          27 :     case ARM::CLZ:
    8556             :     case ARM::RBIT:
    8557             :     case ARM::REV:
    8558             :     case ARM::REV16:
    8559             :     case ARM::REVSH: {
    8560             :       // op: p
    8561          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8562          27 :       Value |= (op & UINT64_C(15)) << 28;
    8563             :       // op: Rd
    8564          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8565          27 :       Value |= (op & UINT64_C(15)) << 12;
    8566             :       // op: Rm
    8567          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8568          27 :       Value |= op & UINT64_C(15);
    8569          27 :       break;
    8570             :     }
    8571         269 :     case ARM::MOVi16: {
    8572             :       // op: p
    8573         269 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8574         269 :       Value |= (op & UINT64_C(15)) << 28;
    8575             :       // op: Rd
    8576         269 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8577         269 :       Value |= (op & UINT64_C(15)) << 12;
    8578             :       // op: imm
    8579         269 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    8580         269 :       Value |= (op & UINT64_C(61440)) << 4;
    8581         269 :       Value |= op & UINT64_C(4095);
    8582         269 :       break;
    8583             :     }
    8584          30 :     case ARM::ADR: {
    8585             :       // op: p
    8586          30 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8587          30 :       Value |= (op & UINT64_C(15)) << 28;
    8588             :       // op: Rd
    8589          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8590          30 :       Value |= (op & UINT64_C(15)) << 12;
    8591             :       // op: label
    8592          30 :       op = getAdrLabelOpValue(MI, 1, Fixups, STI);
    8593          30 :       Value |= (op & UINT64_C(12288)) << 10;
    8594          30 :       Value |= op & UINT64_C(4095);
    8595          30 :       break;
    8596             :     }
    8597          22 :     case ARM::CMNzrr:
    8598             :     case ARM::CMPrr:
    8599             :     case ARM::TEQrr:
    8600             :     case ARM::TSTrr: {
    8601             :       // op: p
    8602          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8603          22 :       Value |= (op & UINT64_C(15)) << 28;
    8604             :       // op: Rn
    8605          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8606          22 :       Value |= (op & UINT64_C(15)) << 16;
    8607             :       // op: Rm
    8608          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8609          22 :       Value |= op & UINT64_C(15);
    8610          22 :       break;
    8611             :     }
    8612         104 :     case ARM::CMNri:
    8613             :     case ARM::CMPri:
    8614             :     case ARM::TEQri:
    8615             :     case ARM::TSTri: {
    8616             :       // op: p
    8617         104 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8618         104 :       Value |= (op & UINT64_C(15)) << 28;
    8619             :       // op: Rn
    8620         104 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8621         104 :       Value |= (op & UINT64_C(15)) << 16;
    8622             :       // op: imm
    8623         104 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    8624         104 :       Value |= op & UINT64_C(4095);
    8625         104 :       break;
    8626             :     }
    8627           8 :     case ARM::VLDMSDB_UPD:
    8628             :     case ARM::VLDMSIA_UPD:
    8629             :     case ARM::VSTMSDB_UPD:
    8630             :     case ARM::VSTMSIA_UPD: {
    8631             :       // op: p
    8632           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8633           8 :       Value |= (op & UINT64_C(15)) << 28;
    8634             :       // op: Rn
    8635           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8636           8 :       Value |= (op & UINT64_C(15)) << 16;
    8637             :       // op: regs
    8638           8 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8639           8 :       Value |= (op & UINT64_C(256)) << 14;
    8640           8 :       Value |= (op & UINT64_C(7680)) << 3;
    8641           8 :       Value |= op & UINT64_C(255);
    8642          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8643           8 :       break;
    8644             :     }
    8645           4 :     case ARM::FLDMXDB_UPD:
    8646             :     case ARM::FLDMXIA_UPD:
    8647             :     case ARM::FSTMXDB_UPD:
    8648             :     case ARM::FSTMXIA_UPD: {
    8649             :       // op: p
    8650           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8651           4 :       Value |= (op & UINT64_C(15)) << 28;
    8652             :       // op: Rn
    8653           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8654           4 :       Value |= (op & UINT64_C(15)) << 16;
    8655             :       // op: regs
    8656           4 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8657           4 :       Value |= (op & UINT64_C(3840)) << 4;
    8658           4 :       Value |= op & UINT64_C(254);
    8659           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8660           4 :       break;
    8661             :     }
    8662          42 :     case ARM::VLDMDDB_UPD:
    8663             :     case ARM::VLDMDIA_UPD:
    8664             :     case ARM::VSTMDDB_UPD:
    8665             :     case ARM::VSTMDIA_UPD: {
    8666             :       // op: p
    8667          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8668          42 :       Value |= (op & UINT64_C(15)) << 28;
    8669             :       // op: Rn
    8670          42 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8671          42 :       Value |= (op & UINT64_C(15)) << 16;
    8672             :       // op: regs
    8673          42 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8674          42 :       Value |= (op & UINT64_C(4096)) << 10;
    8675          42 :       Value |= (op & UINT64_C(3840)) << 4;
    8676          42 :       Value |= op & UINT64_C(254);
    8677          84 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8678          42 :       break;
    8679             :     }
    8680         172 :     case ARM::VMOVRH:
    8681             :     case ARM::VMOVRS: {
    8682             :       // op: p
    8683         172 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8684         172 :       Value |= (op & UINT64_C(15)) << 28;
    8685             :       // op: Rt
    8686         172 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8687         172 :       Value |= (op & UINT64_C(15)) << 12;
    8688             :       // op: Sn
    8689         172 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8690         172 :       Value |= (op & UINT64_C(30)) << 15;
    8691         172 :       Value |= (op & UINT64_C(1)) << 7;
    8692         344 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8693         172 :       break;
    8694             :     }
    8695          27 :     case ARM::LDA:
    8696             :     case ARM::LDAB:
    8697             :     case ARM::LDAEX:
    8698             :     case ARM::LDAEXB:
    8699             :     case ARM::LDAEXD:
    8700             :     case ARM::LDAEXH:
    8701             :     case ARM::LDAH:
    8702             :     case ARM::LDREX:
    8703             :     case ARM::LDREXB:
    8704             :     case ARM::LDREXD:
    8705             :     case ARM::LDREXH: {
    8706             :       // op: p
    8707          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8708          27 :       Value |= (op & UINT64_C(15)) << 28;
    8709             :       // op: Rt
    8710          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8711          27 :       Value |= (op & UINT64_C(15)) << 12;
    8712             :       // op: addr
    8713          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8714          27 :       Value |= (op & UINT64_C(15)) << 16;
    8715          27 :       break;
    8716             :     }
    8717           6 :     case ARM::STL:
    8718             :     case ARM::STLB:
    8719             :     case ARM::STLH: {
    8720             :       // op: p
    8721           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8722           6 :       Value |= (op & UINT64_C(15)) << 28;
    8723             :       // op: Rt
    8724           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8725           6 :       Value |= op & UINT64_C(15);
    8726             :       // op: addr
    8727           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8728           6 :       Value |= (op & UINT64_C(15)) << 16;
    8729           6 :       break;
    8730             :     }
    8731          10 :     case ARM::VCVTSD:
    8732             :     case ARM::VJCVT:
    8733             :     case ARM::VTOSIRD:
    8734             :     case ARM::VTOSIZD:
    8735             :     case ARM::VTOUIRD:
    8736             :     case ARM::VTOUIZD: {
    8737             :       // op: p
    8738          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8739          10 :       Value |= (op & UINT64_C(15)) << 28;
    8740             :       // op: Sd
    8741          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8742          10 :       Value |= (op & UINT64_C(1)) << 22;
    8743          10 :       Value |= (op & UINT64_C(30)) << 11;
    8744             :       // op: Dm
    8745          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8746          10 :       Value |= (op & UINT64_C(16)) << 1;
    8747          10 :       Value |= op & UINT64_C(15);
    8748          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8749          10 :       break;
    8750             :     }
    8751         207 :     case ARM::VABSH:
    8752             :     case ARM::VABSS:
    8753             :     case ARM::VCMPEH:
    8754             :     case ARM::VCMPES:
    8755             :     case ARM::VCMPH:
    8756             :     case ARM::VCMPS:
    8757             :     case ARM::VCVTBHS:
    8758             :     case ARM::VCVTBSH:
    8759             :     case ARM::VCVTTHS:
    8760             :     case ARM::VCVTTSH:
    8761             :     case ARM::VMOVS:
    8762             :     case ARM::VNEGH:
    8763             :     case ARM::VNEGS:
    8764             :     case ARM::VRINTRH:
    8765             :     case ARM::VRINTRS:
    8766             :     case ARM::VRINTXH:
    8767             :     case ARM::VRINTXS:
    8768             :     case ARM::VRINTZH:
    8769             :     case ARM::VRINTZS:
    8770             :     case ARM::VSITOH:
    8771             :     case ARM::VSITOS:
    8772             :     case ARM::VSQRTH:
    8773             :     case ARM::VSQRTS:
    8774             :     case ARM::VTOSIRH:
    8775             :     case ARM::VTOSIRS:
    8776             :     case ARM::VTOSIZH:
    8777             :     case ARM::VTOSIZS:
    8778             :     case ARM::VTOUIRH:
    8779             :     case ARM::VTOUIRS:
    8780             :     case ARM::VTOUIZH:
    8781             :     case ARM::VTOUIZS:
    8782             :     case ARM::VUITOH:
    8783             :     case ARM::VUITOS: {
    8784             :       // op: p
    8785         207 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8786         207 :       Value |= (op & UINT64_C(15)) << 28;
    8787             :       // op: Sd
    8788         207 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8789         207 :       Value |= (op & UINT64_C(1)) << 22;
    8790         207 :       Value |= (op & UINT64_C(30)) << 11;
    8791             :       // op: Sm
    8792         207 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8793         207 :       Value |= (op & UINT64_C(1)) << 5;
    8794         207 :       Value |= (op & UINT64_C(30)) >> 1;
    8795         414 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8796         207 :       break;
    8797             :     }
    8798          49 :     case ARM::FCONSTH:
    8799             :     case ARM::FCONSTS: {
    8800             :       // op: p
    8801          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8802          49 :       Value |= (op & UINT64_C(15)) << 28;
    8803             :       // op: Sd
    8804          49 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8805          49 :       Value |= (op & UINT64_C(1)) << 22;
    8806          49 :       Value |= (op & UINT64_C(30)) << 11;
    8807             :       // op: imm
    8808          49 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8809          49 :       Value |= (op & UINT64_C(240)) << 12;
    8810          49 :       Value |= op & UINT64_C(15);
    8811          98 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8812          49 :       break;
    8813             :     }
    8814           2 :     case ARM::VCVTDS: {
    8815             :       // op: p
    8816           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8817           2 :       Value |= (op & UINT64_C(15)) << 28;
    8818             :       // op: Sm
    8819           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8820           2 :       Value |= (op & UINT64_C(1)) << 5;
    8821           2 :       Value |= (op & UINT64_C(30)) >> 1;
    8822             :       // op: Dd
    8823           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8824           2 :       Value |= (op & UINT64_C(16)) << 18;
    8825           2 :       Value |= (op & UINT64_C(15)) << 12;
    8826           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8827           2 :       break;
    8828             :     }
    8829          24 :     case ARM::VMOVHR:
    8830             :     case ARM::VMOVSR: {
    8831             :       // op: p
    8832          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8833          24 :       Value |= (op & UINT64_C(15)) << 28;
    8834             :       // op: Sn
    8835          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8836          24 :       Value |= (op & UINT64_C(30)) << 15;
    8837          24 :       Value |= (op & UINT64_C(1)) << 7;
    8838             :       // op: Rt
    8839          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8840          24 :       Value |= (op & UINT64_C(15)) << 12;
    8841          48 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8842          24 :       break;
    8843             :     }
    8844          33 :     case ARM::MSRbanked: {
    8845             :       // op: p
    8846          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8847          33 :       Value |= (op & UINT64_C(15)) << 28;
    8848             :       // op: banked
    8849          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8850          33 :       Value |= (op & UINT64_C(32)) << 17;
    8851          33 :       Value |= (op & UINT64_C(15)) << 16;
    8852          33 :       Value |= (op & UINT64_C(16)) << 4;
    8853             :       // op: Rn
    8854          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8855          33 :       Value |= op & UINT64_C(15);
    8856          33 :       break;
    8857             :     }
    8858          33 :     case ARM::MRSbanked: {
    8859             :       // op: p
    8860          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8861          33 :       Value |= (op & UINT64_C(15)) << 28;
    8862             :       // op: banked
    8863          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8864          33 :       Value |= (op & UINT64_C(32)) << 17;
    8865          33 :       Value |= (op & UINT64_C(15)) << 16;
    8866          33 :       Value |= (op & UINT64_C(16)) << 4;
    8867             :       // op: Rd
    8868          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8869          33 :       Value |= (op & UINT64_C(15)) << 12;
    8870          33 :       break;
    8871             :     }
    8872          29 :     case ARM::MSR: {
    8873             :       // op: p
    8874          29 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8875          29 :       Value |= (op & UINT64_C(15)) << 28;
    8876             :       // op: mask
    8877          29 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8878          29 :       Value |= (op & UINT64_C(16)) << 18;
    8879          29 :       Value |= (op & UINT64_C(15)) << 16;
    8880             :       // op: Rn
    8881          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8882          29 :       Value |= op & UINT64_C(15);
    8883          29 :       break;
    8884             :     }
    8885          46 :     case ARM::MSRi: {
    8886             :       // op: p
    8887          46 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8888          46 :       Value |= (op & UINT64_C(15)) << 28;
    8889             :       // op: mask
    8890          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8891          46 :       Value |= (op & UINT64_C(16)) << 18;
    8892          46 :       Value |= (op & UINT64_C(15)) << 16;
    8893             :       // op: imm
    8894          46 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    8895          46 :       Value |= op & UINT64_C(4095);
    8896          46 :       break;
    8897             :     }
    8898         447 :     case ARM::LDMDA_UPD:
    8899             :     case ARM::LDMDB_UPD:
    8900             :     case ARM::LDMIA_UPD:
    8901             :     case ARM::LDMIB_UPD:
    8902             :     case ARM::STMDA_UPD:
    8903             :     case ARM::STMDB_UPD:
    8904             :     case ARM::STMIA_UPD:
    8905             :     case ARM::STMIB_UPD:
    8906             :     case ARM::sysLDMDA_UPD:
    8907             :     case ARM::sysLDMDB_UPD:
    8908             :     case ARM::sysLDMIA_UPD:
    8909             :     case ARM::sysLDMIB_UPD:
    8910             :     case ARM::sysSTMDA_UPD:
    8911             :     case ARM::sysSTMDB_UPD:
    8912             :     case ARM::sysSTMIA_UPD:
    8913             :     case ARM::sysSTMIB_UPD: {
    8914             :       // op: p
    8915         447 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8916         447 :       Value |= (op & UINT64_C(15)) << 28;
    8917             :       // op: regs
    8918         447 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8919         447 :       Value |= op & UINT64_C(65535);
    8920             :       // op: Rn
    8921         447 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8922         447 :       Value |= (op & UINT64_C(15)) << 16;
    8923         447 :       break;
    8924             :     }
    8925         826 :     case ARM::MOVr:
    8926             :     case ARM::MOVr_TC:
    8927             :     case ARM::MVNr: {
    8928             :       // op: p
    8929         826 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8930         826 :       Value |= (op & UINT64_C(15)) << 28;
    8931             :       // op: s
    8932        1652 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    8933         826 :       Value |= (op & UINT64_C(1)) << 20;
    8934             :       // op: Rd
    8935         826 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8936         826 :       Value |= (op & UINT64_C(15)) << 12;
    8937             :       // op: Rm
    8938         826 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8939         826 :       Value |= op & UINT64_C(15);
    8940         826 :       break;
    8941             :     }
    8942         512 :     case ARM::MOVi:
    8943             :     case ARM::MVNi: {
    8944             :       // op: p
    8945         512 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8946         512 :       Value |= (op & UINT64_C(15)) << 28;
    8947             :       // op: s
    8948        1024 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    8949         512 :       Value |= (op & UINT64_C(1)) << 20;
    8950             :       // op: Rd
    8951         512 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8952         512 :       Value |= (op & UINT64_C(15)) << 12;
    8953             :       // op: imm
    8954         512 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    8955         512 :       Value |= op & UINT64_C(4095);
    8956         512 :       break;
    8957             :     }
    8958          10 :     case ARM::VADDD:
    8959             :     case ARM::VDIVD:
    8960             :     case ARM::VMULD:
    8961             :     case ARM::VNMULD:
    8962             :     case ARM::VSUBD: {
    8963             :       // op: p
    8964          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8965          10 :       Value |= (op & UINT64_C(15)) << 28;
    8966             :       // op: Dd
    8967          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8968          10 :       Value |= (op & UINT64_C(16)) << 18;
    8969          10 :       Value |= (op & UINT64_C(15)) << 12;
    8970             :       // op: Dn
    8971          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8972          10 :       Value |= (op & UINT64_C(15)) << 16;
    8973          10 :       Value |= (op & UINT64_C(16)) << 3;
    8974             :       // op: Dm
    8975          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8976          10 :       Value |= (op & UINT64_C(16)) << 1;
    8977          10 :       Value |= op & UINT64_C(15);
    8978          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8979          10 :       break;
    8980             :     }
    8981          15 :     case ARM::VLDRD:
    8982             :     case ARM::VSTRD: {
    8983             :       // op: p
    8984          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8985          15 :       Value |= (op & UINT64_C(15)) << 28;
    8986             :       // op: Dd
    8987          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8988          15 :       Value |= (op & UINT64_C(16)) << 18;
    8989          15 :       Value |= (op & UINT64_C(15)) << 12;
    8990             :       // op: addr
    8991          15 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    8992          15 :       Value |= (op & UINT64_C(256)) << 15;
    8993          15 :       Value |= (op & UINT64_C(7680)) << 7;
    8994          15 :       Value |= op & UINT64_C(255);
    8995          30 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8996          15 :       break;
    8997             :     }
    8998          15 :     case ARM::VMOVDRR: {
    8999             :       // op: p
    9000          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9001          15 :       Value |= (op & UINT64_C(15)) << 28;
    9002             :       // op: Dm
    9003          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9004          15 :       Value |= (op & UINT64_C(16)) << 1;
    9005          15 :       Value |= op & UINT64_C(15);
    9006             :       // op: Rt
    9007          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9008          15 :       Value |= (op & UINT64_C(15)) << 12;
    9009             :       // op: Rt2
    9010          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9011          15 :       Value |= (op & UINT64_C(15)) << 16;
    9012          30 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9013          15 :       break;
    9014             :     }
    9015           8 :     case ARM::VMOVRRD: {
    9016             :       // op: p
    9017           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9018           8 :       Value |= (op & UINT64_C(15)) << 28;
    9019             :       // op: Dm
    9020           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9021           8 :       Value |= (op & UINT64_C(16)) << 1;
    9022           8 :       Value |= op & UINT64_C(15);
    9023             :       // op: Rt
    9024           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9025           8 :       Value |= (op & UINT64_C(15)) << 12;
    9026             :       // op: Rt2
    9027           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9028           8 :       Value |= (op & UINT64_C(15)) << 16;
    9029          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9030           8 :       break;
    9031             :     }
    9032          60 :     case ARM::SXTB:
    9033             :     case ARM::SXTB16:
    9034             :     case ARM::SXTH:
    9035             :     case ARM::UXTB:
    9036             :     case ARM::UXTB16:
    9037             :     case ARM::UXTH: {
    9038             :       // op: p
    9039          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9040          60 :       Value |= (op & UINT64_C(15)) << 28;
    9041             :       // op: Rd
    9042          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9043          60 :       Value |= (op & UINT64_C(15)) << 12;
    9044             :       // op: Rm
    9045          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9046          60 :       Value |= op & UINT64_C(15);
    9047             :       // op: rot
    9048          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9049          60 :       Value |= (op & UINT64_C(3)) << 10;
    9050          60 :       break;
    9051             :     }
    9052           4 :     case ARM::SEL: {
    9053             :       // op: p
    9054           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9055           4 :       Value |= (op & UINT64_C(15)) << 28;
    9056             :       // op: Rd
    9057           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9058           4 :       Value |= (op & UINT64_C(15)) << 12;
    9059             :       // op: Rn
    9060           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9061           4 :       Value |= (op & UINT64_C(15)) << 16;
    9062             :       // op: Rm
    9063           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9064           4 :       Value |= op & UINT64_C(15);
    9065           4 :       break;
    9066             :     }
    9067          30 :     case ARM::BFC: {
    9068             :       // op: p
    9069          30 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9070          30 :       Value |= (op & UINT64_C(15)) << 28;
    9071             :       // op: Rd
    9072          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9073          30 :       Value |= (op & UINT64_C(15)) << 12;
    9074             :       // op: imm
    9075          60 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    9076          30 :       Value |= (op & UINT64_C(992)) << 11;
    9077          30 :       Value |= (op & UINT64_C(31)) << 7;
    9078          30 :       break;
    9079             :     }
    9080         199 :     case ARM::MOVTi16: {
    9081             :       // op: p
    9082         199 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9083         199 :       Value |= (op & UINT64_C(15)) << 28;
    9084             :       // op: Rd
    9085         199 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9086         199 :       Value |= (op & UINT64_C(15)) << 12;
    9087             :       // op: imm
    9088         199 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    9089         199 :       Value |= (op & UINT64_C(61440)) << 4;
    9090         199 :       Value |= op & UINT64_C(4095);
    9091         199 :       break;
    9092             :     }
    9093          11 :     case ARM::SSAT16:
    9094             :     case ARM::USAT16: {
    9095             :       // op: p
    9096          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9097          11 :       Value |= (op & UINT64_C(15)) << 28;
    9098             :       // op: Rd
    9099          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9100          11 :       Value |= (op & UINT64_C(15)) << 12;
    9101             :       // op: sat_imm
    9102          11 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9103          11 :       Value |= (op & UINT64_C(15)) << 16;
    9104             :       // op: Rn
    9105          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9106          11 :       Value |= op & UINT64_C(15);
    9107          11 :       break;
    9108             :     }
    9109          26 :     case ARM::SDIV:
    9110             :     case ARM::SMMUL:
    9111             :     case ARM::SMMULR:
    9112             :     case ARM::UDIV:
    9113             :     case ARM::USAD8: {
    9114             :       // op: p
    9115          26 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9116          26 :       Value |= (op & UINT64_C(15)) << 28;
    9117             :       // op: Rd
    9118          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9119          26 :       Value |= (op & UINT64_C(15)) << 16;
    9120             :       // op: Rn
    9121          26 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9122          26 :       Value |= op & UINT64_C(15);
    9123             :       // op: Rm
    9124          26 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9125          26 :       Value |= (op & UINT64_C(15)) << 8;
    9126          26 :       break;
    9127             :     }
    9128          52 :     case ARM::CMNzrsi:
    9129             :     case ARM::CMPrsi:
    9130             :     case ARM::TEQrsi:
    9131             :     case ARM::TSTrsi: {
    9132             :       // op: p
    9133          52 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9134          52 :       Value |= (op & UINT64_C(15)) << 28;
    9135             :       // op: Rn
    9136          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9137          52 :       Value |= (op & UINT64_C(15)) << 16;
    9138             :       // op: shift
    9139          52 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9140          52 :       Value |= op & UINT64_C(4064);
    9141          52 :       Value |= op & UINT64_C(15);
    9142          52 :       break;
    9143             :     }
    9144         132 :     case ARM::QADD16:
    9145             :     case ARM::QADD8:
    9146             :     case ARM::QASX:
    9147             :     case ARM::QSAX:
    9148             :     case ARM::QSUB16:
    9149             :     case ARM::QSUB8:
    9150             :     case ARM::SADD16:
    9151             :     case ARM::SADD8:
    9152             :     case ARM::SASX:
    9153             :     case ARM::SHADD16:
    9154             :     case ARM::SHADD8:
    9155             :     case ARM::SHASX:
    9156             :     case ARM::SHSAX:
    9157             :     case ARM::SHSUB16:
    9158             :     case ARM::SHSUB8:
    9159             :     case ARM::SSAX:
    9160             :     case ARM::SSUB16:
    9161             :     case ARM::SSUB8:
    9162             :     case ARM::UADD16:
    9163             :     case ARM::UADD8:
    9164             :     case ARM::UASX:
    9165             :     case ARM::UHADD16:
    9166             :     case ARM::UHADD8:
    9167             :     case ARM::UHASX:
    9168             :     case ARM::UHSAX:
    9169             :     case ARM::UHSUB16:
    9170             :     case ARM::UHSUB8:
    9171             :     case ARM::UQADD16:
    9172             :     case ARM::UQADD8:
    9173             :     case ARM::UQASX:
    9174             :     case ARM::UQSAX:
    9175             :     case ARM::UQSUB16:
    9176             :     case ARM::UQSUB8:
    9177             :     case ARM::USAX:
    9178             :     case ARM::USUB16:
    9179             :     case ARM::USUB8: {
    9180             :       // op: p
    9181         132 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9182         132 :       Value |= (op & UINT64_C(15)) << 28;
    9183             :       // op: Rn
    9184         132 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9185         132 :       Value |= (op & UINT64_C(15)) << 16;
    9186             :       // op: Rd
    9187         132 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9188         132 :       Value |= (op & UINT64_C(15)) << 12;
    9189             :       // op: Rm
    9190         132 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9191         132 :       Value |= op & UINT64_C(15);
    9192         132 :       break;
    9193             :     }
    9194          36 :     case ARM::SMUAD:
    9195             :     case ARM::SMUADX:
    9196             :     case ARM::SMULBB:
    9197             :     case ARM::SMULBT:
    9198             :     case ARM::SMULTB:
    9199             :     case ARM::SMULTT:
    9200             :     case ARM::SMULWB:
    9201             :     case ARM::SMULWT:
    9202             :     case ARM::SMUSD:
    9203             :     case ARM::SMUSDX: {
    9204             :       // op: p
    9205          36 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9206          36 :       Value |= (op & UINT64_C(15)) << 28;
    9207             :       // op: Rn
    9208          36 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9209          36 :       Value |= op & UINT64_C(15);
    9210             :       // op: Rm
    9211          36 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9212          36 :       Value |= (op & UINT64_C(15)) << 8;
    9213             :       // op: Rd
    9214          36 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9215          36 :       Value |= (op & UINT64_C(15)) << 16;
    9216          36 :       break;
    9217             :     }
    9218          16 :     case ARM::QADD:
    9219             :     case ARM::QDADD:
    9220             :     case ARM::QDSUB:
    9221             :     case ARM::QSUB: {
    9222             :       // op: p
    9223          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9224          16 :       Value |= (op & UINT64_C(15)) << 28;
    9225             :       // op: Rn
    9226          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9227          16 :       Value |= (op & UINT64_C(15)) << 16;
    9228             :       // op: Rd
    9229          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9230          16 :       Value |= (op & UINT64_C(15)) << 12;
    9231             :       // op: Rm
    9232          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9233          16 :       Value |= op & UINT64_C(15);
    9234          16 :       break;
    9235             :     }
    9236           6 :     case ARM::SWP:
    9237             :     case ARM::SWPB: {
    9238             :       // op: p
    9239           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9240           6 :       Value |= (op & UINT64_C(15)) << 28;
    9241             :       // op: Rt
    9242           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9243           6 :       Value |= (op & UINT64_C(15)) << 12;
    9244             :       // op: Rt2
    9245           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9246           6 :       Value |= op & UINT64_C(15);
    9247             :       // op: addr
    9248           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9249           6 :       Value |= (op & UINT64_C(15)) << 16;
    9250           6 :       break;
    9251             :     }
    9252        1912 :     case ARM::LDRBi12:
    9253             :     case ARM::LDRi12:
    9254             :     case ARM::STRBi12:
    9255             :     case ARM::STRi12: {
    9256             :       // op: p
    9257        1912 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9258        1912 :       Value |= (op & UINT64_C(15)) << 28;
    9259             :       // op: Rt
    9260        1912 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9261        1912 :       Value |= (op & UINT64_C(15)) << 12;
    9262             :       // op: addr
    9263        1912 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9264        1912 :       Value |= (op & UINT64_C(4096)) << 11;
    9265        1912 :       Value |= (op & UINT64_C(122880)) << 3;
    9266        1912 :       Value |= op & UINT64_C(4095);
    9267        1912 :       break;
    9268             :     }
    9269           0 :     case ARM::LDRcp: {
    9270             :       // op: p
    9271           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9272           0 :       Value |= (op & UINT64_C(15)) << 28;
    9273             :       // op: Rt
    9274           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9275           0 :       Value |= (op & UINT64_C(15)) << 12;
    9276             :       // op: addr
    9277           0 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9278           0 :       Value |= (op & UINT64_C(4096)) << 11;
    9279           0 :       Value |= op & UINT64_C(4095);
    9280           0 :       break;
    9281             :     }
    9282          21 :     case ARM::STLEX:
    9283             :     case ARM::STLEXB:
    9284             :     case ARM::STLEXD:
    9285             :     case ARM::STLEXH:
    9286             :     case ARM::STREX:
    9287             :     case ARM::STREXB:
    9288             :     case ARM::STREXD:
    9289             :     case ARM::STREXH: {
    9290             :       // op: p
    9291          21 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9292          21 :       Value |= (op & UINT64_C(15)) << 28;
    9293             :       // op: Rt
    9294          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9295          21 :       Value |= op & UINT64_C(15);
    9296             :       // op: addr
    9297          21 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9298          21 :       Value |= (op & UINT64_C(15)) << 16;
    9299             :       // op: Rd
    9300          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9301          21 :       Value |= (op & UINT64_C(15)) << 12;
    9302          21 :       break;
    9303             :     }
    9304          31 :     case ARM::VADDH:
    9305             :     case ARM::VADDS:
    9306             :     case ARM::VDIVH:
    9307             :     case ARM::VDIVS:
    9308             :     case ARM::VMULH:
    9309             :     case ARM::VMULS:
    9310             :     case ARM::VNMULH:
    9311             :     case ARM::VNMULS:
    9312             :     case ARM::VSUBH:
    9313             :     case ARM::VSUBS: {
    9314             :       // op: p
    9315          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9316          31 :       Value |= (op & UINT64_C(15)) << 28;
    9317             :       // op: Sd
    9318          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9319          31 :       Value |= (op & UINT64_C(1)) << 22;
    9320          31 :       Value |= (op & UINT64_C(30)) << 11;
    9321             :       // op: Sn
    9322          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9323          31 :       Value |= (op & UINT64_C(30)) << 15;
    9324          31 :       Value |= (op & UINT64_C(1)) << 7;
    9325             :       // op: Sm
    9326          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9327          31 :       Value |= (op & UINT64_C(1)) << 5;
    9328          31 :       Value |= (op & UINT64_C(30)) >> 1;
    9329          62 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9330          31 :       break;
    9331             :     }
    9332          32 :     case ARM::VLDRH:
    9333             :     case ARM::VSTRH: {
    9334             :       // op: p
    9335          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9336          32 :       Value |= (op & UINT64_C(15)) << 28;
    9337             :       // op: Sd
    9338          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9339          32 :       Value |= (op & UINT64_C(1)) << 22;
    9340          32 :       Value |= (op & UINT64_C(30)) << 11;
    9341             :       // op: addr
    9342          32 :       op = getAddrMode5FP16OpValue(MI, 1, Fixups, STI);
    9343          32 :       Value |= (op & UINT64_C(256)) << 15;
    9344          32 :       Value |= (op & UINT64_C(7680)) << 7;
    9345          32 :       Value |= op & UINT64_C(255);
    9346          64 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9347          32 :       break;
    9348             :     }
    9349         283 :     case ARM::VLDRS:
    9350             :     case ARM::VSTRS: {
    9351             :       // op: p
    9352         283 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9353         283 :       Value |= (op & UINT64_C(15)) << 28;
    9354             :       // op: Sd
    9355         283 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9356         283 :       Value |= (op & UINT64_C(1)) << 22;
    9357         283 :       Value |= (op & UINT64_C(30)) << 11;
    9358             :       // op: addr
    9359         283 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    9360         283 :       Value |= (op & UINT64_C(256)) << 15;
    9361         283 :       Value |= (op & UINT64_C(7680)) << 7;
    9362         283 :       Value |= op & UINT64_C(255);
    9363         566 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9364         283 :       break;
    9365             :     }
    9366          40 :     case ARM::VSHTOH:
    9367             :     case ARM::VSHTOS:
    9368             :     case ARM::VSLTOH:
    9369             :     case ARM::VSLTOS:
    9370             :     case ARM::VTOSHH:
    9371             :     case ARM::VTOSHS:
    9372             :     case ARM::VTOSLH:
    9373             :     case ARM::VTOSLS:
    9374             :     case ARM::VTOUHH:
    9375             :     case ARM::VTOUHS:
    9376             :     case ARM::VTOULH:
    9377             :     case ARM::VTOULS:
    9378             :     case ARM::VUHTOH:
    9379             :     case ARM::VUHTOS:
    9380             :     case ARM::VULTOH:
    9381             :     case ARM::VULTOS: {
    9382             :       // op: p
    9383          40 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9384          40 :       Value |= (op & UINT64_C(15)) << 28;
    9385             :       // op: fbits
    9386          40 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9387          40 :       Value |= (op & UINT64_C(1)) << 5;
    9388          40 :       Value |= (op & UINT64_C(30)) >> 1;
    9389             :       // op: dst
    9390          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9391          40 :       Value |= (op & UINT64_C(1)) << 22;
    9392          40 :       Value |= (op & UINT64_C(30)) << 11;
    9393          80 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9394          40 :       break;
    9395             :     }
    9396           8 :     case ARM::VSHTOD:
    9397             :     case ARM::VSLTOD:
    9398             :     case ARM::VTOSHD:
    9399             :     case ARM::VTOSLD:
    9400             :     case ARM::VTOUHD:
    9401             :     case ARM::VTOULD:
    9402             :     case ARM::VUHTOD:
    9403             :     case ARM::VULTOD: {
    9404             :       // op: p
    9405           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9406           8 :       Value |= (op & UINT64_C(15)) << 28;
    9407             :       // op: fbits
    9408           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9409           8 :       Value |= (op & UINT64_C(1)) << 5;
    9410           8 :       Value |= (op & UINT64_C(30)) >> 1;
    9411             :       // op: dst
    9412           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9413           8 :       Value |= (op & UINT64_C(16)) << 18;
    9414           8 :       Value |= (op & UINT64_C(15)) << 12;
    9415          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9416           8 :       break;
    9417             :     }
    9418         162 :     case ARM::ADCrr:
    9419             :     case ARM::ADDrr:
    9420             :     case ARM::ANDrr:
    9421             :     case ARM::BICrr:
    9422             :     case ARM::EORrr:
    9423             :     case ARM::ORRrr:
    9424             :     case ARM::RSBrr:
    9425             :     case ARM::RSCrr:
    9426             :     case ARM::SBCrr:
    9427             :     case ARM::SUBrr: {
    9428             :       // op: p
    9429         162 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9430         162 :       Value |= (op & UINT64_C(15)) << 28;
    9431             :       // op: s
    9432         324 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9433         162 :       Value |= (op & UINT64_C(1)) << 20;
    9434             :       // op: Rd
    9435         162 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9436         162 :       Value |= (op & UINT64_C(15)) << 12;
    9437             :       // op: Rn
    9438         162 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9439         162 :       Value |= (op & UINT64_C(15)) << 16;
    9440             :       // op: Rm
    9441         162 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9442         162 :       Value |= op & UINT64_C(15);
    9443         162 :       break;
    9444             :     }
    9445        2288 :     case ARM::ADCri:
    9446             :     case ARM::ADDri:
    9447             :     case ARM::ANDri:
    9448             :     case ARM::BICri:
    9449             :     case ARM::EORri:
    9450             :     case ARM::ORRri:
    9451             :     case ARM::RSBri:
    9452             :     case ARM::RSCri:
    9453             :     case ARM::SBCri:
    9454             :     case ARM::SUBri: {
    9455             :       // op: p
    9456        2288 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9457        2288 :       Value |= (op & UINT64_C(15)) << 28;
    9458             :       // op: s
    9459        4576 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9460        2288 :       Value |= (op & UINT64_C(1)) << 20;
    9461             :       // op: Rd
    9462        2288 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9463        2288 :       Value |= (op & UINT64_C(15)) << 12;
    9464             :       // op: Rn
    9465        2288 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9466        2288 :       Value |= (op & UINT64_C(15)) << 16;
    9467             :       // op: imm
    9468        2288 :       op = getModImmOpValue(MI, 2, Fixups, STI);
    9469        2288 :       Value |= op & UINT64_C(4095);
    9470        2288 :       break;
    9471             :     }
    9472          12 :     case ARM::MVNsi: {
    9473             :       // op: p
    9474          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9475          12 :       Value |= (op & UINT64_C(15)) << 28;
    9476             :       // op: s
    9477          24 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9478          12 :       Value |= (op & UINT64_C(1)) << 20;
    9479             :       // op: Rd
    9480          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9481          12 :       Value |= (op & UINT64_C(15)) << 12;
    9482             :       // op: shift
    9483          12 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9484          12 :       Value |= op & UINT64_C(4064);
    9485          12 :       Value |= op & UINT64_C(15);
    9486          12 :       break;
    9487             :     }
    9488          43 :     case ARM::MOVsi: {
    9489             :       // op: p
    9490          43 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9491          43 :       Value |= (op & UINT64_C(15)) << 28;
    9492             :       // op: s
    9493          86 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9494          43 :       Value |= (op & UINT64_C(1)) << 20;
    9495             :       // op: Rd
    9496          43 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9497          43 :       Value |= (op & UINT64_C(15)) << 12;
    9498             :       // op: src
    9499          43 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9500          43 :       Value |= op & UINT64_C(4064);
    9501          43 :       Value |= op & UINT64_C(15);
    9502          43 :       break;
    9503             :     }
    9504          15 :     case ARM::MUL: {
    9505             :       // op: p
    9506          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9507          15 :       Value |= (op & UINT64_C(15)) << 28;
    9508             :       // op: s
    9509          30 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9510          15 :       Value |= (op & UINT64_C(1)) << 20;
    9511             :       // op: Rd
    9512          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9513          15 :       Value |= (op & UINT64_C(15)) << 16;
    9514             :       // op: Rm
    9515          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9516          15 :       Value |= (op & UINT64_C(15)) << 8;
    9517             :       // op: Rn
    9518          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9519          15 :       Value |= op & UINT64_C(15);
    9520          15 :       break;
    9521             :     }
    9522          12 :     case ARM::VFMAD:
    9523             :     case ARM::VFMSD:
    9524             :     case ARM::VFNMAD:
    9525             :     case ARM::VFNMSD:
    9526             :     case ARM::VMLAD:
    9527             :     case ARM::VMLSD:
    9528             :     case ARM::VNMLAD:
    9529             :     case ARM::VNMLSD: {
    9530             :       // op: p
    9531          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9532          12 :       Value |= (op & UINT64_C(15)) << 28;
    9533             :       // op: Dd
    9534          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9535          12 :       Value |= (op & UINT64_C(16)) << 18;
    9536          12 :       Value |= (op & UINT64_C(15)) << 12;
    9537             :       // op: Dn
    9538          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9539          12 :       Value |= (op & UINT64_C(15)) << 16;
    9540          12 :       Value |= (op & UINT64_C(16)) << 3;
    9541             :       // op: Dm
    9542          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9543          12 :       Value |= (op & UINT64_C(16)) << 1;
    9544          12 :       Value |= op & UINT64_C(15);
    9545          24 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9546          12 :       break;
    9547             :     }
    9548          60 :     case ARM::SXTAB:
    9549             :     case ARM::SXTAB16:
    9550             :     case ARM::SXTAH:
    9551             :     case ARM::UXTAB:
    9552             :     case ARM::UXTAB16:
    9553             :     case ARM::UXTAH: {
    9554             :       // op: p
    9555          60 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9556          60 :       Value |= (op & UINT64_C(15)) << 28;
    9557             :       // op: Rd
    9558          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9559          60 :       Value |= (op & UINT64_C(15)) << 12;
    9560             :       // op: Rm
    9561          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9562          60 :       Value |= op & UINT64_C(15);
    9563             :       // op: Rn
    9564          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9565          60 :       Value |= (op & UINT64_C(15)) << 16;
    9566             :       // op: rot
    9567          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9568          60 :       Value |= (op & UINT64_C(3)) << 10;
    9569          60 :       break;
    9570             :     }
    9571          14 :     case ARM::PKHBT:
    9572             :     case ARM::PKHTB: {
    9573             :       // op: p
    9574          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9575          14 :       Value |= (op & UINT64_C(15)) << 28;
    9576             :       // op: Rd
    9577          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9578          14 :       Value |= (op & UINT64_C(15)) << 12;
    9579             :       // op: Rn
    9580          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9581          14 :       Value |= (op & UINT64_C(15)) << 16;
    9582             :       // op: Rm
    9583          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9584          14 :       Value |= op & UINT64_C(15);
    9585             :       // op: sh
    9586          14 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9587          14 :       Value |= (op & UINT64_C(31)) << 7;
    9588          14 :       break;
    9589             :     }
    9590           8 :     case ARM::SBFX:
    9591             :     case ARM::UBFX: {
    9592             :       // op: p
    9593           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9594           8 :       Value |= (op & UINT64_C(15)) << 28;
    9595             :       // op: Rd
    9596           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9597           8 :       Value |= (op & UINT64_C(15)) << 12;
    9598             :       // op: Rn
    9599           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9600           8 :       Value |= op & UINT64_C(15);
    9601             :       // op: lsb
    9602           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9603           8 :       Value |= (op & UINT64_C(31)) << 7;
    9604             :       // op: width
    9605           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9606           8 :       Value |= (op & UINT64_C(31)) << 16;
    9607           8 :       break;
    9608             :     }
    9609           7 :     case ARM::BFI: {
    9610             :       // op: p
    9611           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9612           7 :       Value |= (op & UINT64_C(15)) << 28;
    9613             :       // op: Rd
    9614           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9615           7 :       Value |= (op & UINT64_C(15)) << 12;
    9616             :       // op: Rn
    9617           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9618           7 :       Value |= op & UINT64_C(15);
    9619             :       // op: imm
    9620          14 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    9621           7 :       Value |= (op & UINT64_C(992)) << 11;
    9622           7 :       Value |= (op & UINT64_C(31)) << 7;
    9623           7 :       break;
    9624             :     }
    9625          20 :     case ARM::SSAT:
    9626             :     case ARM::USAT: {
    9627             :       // op: p
    9628          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9629          20 :       Value |= (op & UINT64_C(15)) << 28;
    9630             :       // op: Rd
    9631          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9632          20 :       Value |= (op & UINT64_C(15)) << 12;
    9633             :       // op: sat_imm
    9634          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9635          20 :       Value |= (op & UINT64_C(31)) << 16;
    9636             :       // op: Rn
    9637          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9638          20 :       Value |= op & UINT64_C(15);
    9639             :       // op: sh
    9640          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9641          20 :       Value |= (op & UINT64_C(31)) << 7;
    9642          20 :       Value |= (op & UINT64_C(32)) << 1;
    9643          20 :       break;
    9644             :     }
    9645           4 :     case ARM::MLS: {
    9646             :       // op: p
    9647           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9648           4 :       Value |= (op & UINT64_C(15)) << 28;
    9649             :       // op: Rd
    9650           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9651           4 :       Value |= (op & UINT64_C(15)) << 16;
    9652             :       // op: Rm
    9653           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9654           4 :       Value |= (op & UINT64_C(15)) << 8;
    9655             :       // op: Rn
    9656           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9657           4 :       Value |= op & UINT64_C(15);
    9658             :       // op: Ra
    9659           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9660           4 :       Value |= (op & UINT64_C(15)) << 12;
    9661           4 :       break;
    9662             :     }
    9663          20 :     case ARM::SMMLA:
    9664             :     case ARM::SMMLAR:
    9665             :     case ARM::SMMLS:
    9666             :     case ARM::SMMLSR:
    9667             :     case ARM::USADA8: {
    9668             :       // op: p
    9669          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9670          20 :       Value |= (op & UINT64_C(15)) << 28;
    9671             :       // op: Rd
    9672          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9673          20 :       Value |= (op & UINT64_C(15)) << 16;
    9674             :       // op: Rn
    9675          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9676          20 :       Value |= op & UINT64_C(15);
    9677             :       // op: Rm
    9678          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9679          20 :       Value |= (op & UINT64_C(15)) << 8;
    9680             :       // op: Ra
    9681          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9682          20 :       Value |= (op & UINT64_C(15)) << 12;
    9683          20 :       break;
    9684             :     }
    9685          32 :     case ARM::CMNzrsr:
    9686             :     case ARM::CMPrsr:
    9687             :     case ARM::TEQrsr:
    9688             :     case ARM::TSTrsr: {
    9689             :       // op: p
    9690          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9691          32 :       Value |= (op & UINT64_C(15)) << 28;
    9692             :       // op: Rn
    9693          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9694          32 :       Value |= (op & UINT64_C(15)) << 16;
    9695             :       // op: shift
    9696          32 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
    9697          32 :       Value |= op & UINT64_C(3840);
    9698          32 :       Value |= op & UINT64_C(96);
    9699          32 :       Value |= op & UINT64_C(15);
    9700          32 :       break;
    9701             :     }
    9702          16 :     case ARM::SMLAD:
    9703             :     case ARM::SMLADX:
    9704             :     case ARM::SMLSD:
    9705             :     case ARM::SMLSDX: {
    9706             :       // op: p
    9707          16 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9708          16 :       Value |= (op & UINT64_C(15)) << 28;
    9709             :       // op: Rn
    9710          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9711          16 :       Value |= op & UINT64_C(15);
    9712             :       // op: Rm
    9713          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9714          16 :       Value |= (op & UINT64_C(15)) << 8;
    9715             :       // op: Ra
    9716          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9717          16 :       Value |= (op & UINT64_C(15)) << 12;
    9718             :       // op: Rd
    9719          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9720          16 :       Value |= (op & UINT64_C(15)) << 16;
    9721          16 :       break;
    9722             :     }
    9723          24 :     case ARM::SMLABB:
    9724             :     case ARM::SMLABT:
    9725             :     case ARM::SMLATB:
    9726             :     case ARM::SMLATT:
    9727             :     case ARM::SMLAWB:
    9728             :     case ARM::SMLAWT: {
    9729             :       // op: p
    9730          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9731          24 :       Value |= (op & UINT64_C(15)) << 28;
    9732             :       // op: Rn
    9733          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9734          24 :       Value |= op & UINT64_C(15);
    9735             :       // op: Rm
    9736          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9737          24 :       Value |= (op & UINT64_C(15)) << 8;
    9738             :       // op: Rd
    9739          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9740          24 :       Value |= (op & UINT64_C(15)) << 16;
    9741             :       // op: Ra
    9742          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9743          24 :       Value |= (op & UINT64_C(15)) << 12;
    9744          24 :       break;
    9745             :     }
    9746           2 :     case ARM::LDRB_PRE_IMM:
    9747             :     case ARM::LDR_PRE_IMM: {
    9748             :       // op: p
    9749           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9750           2 :       Value |= (op & UINT64_C(15)) << 28;
    9751             :       // op: Rt
    9752           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9753           2 :       Value |= (op & UINT64_C(15)) << 12;
    9754             :       // op: addr
    9755           2 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
    9756           2 :       Value |= (op & UINT64_C(4096)) << 11;
    9757           2 :       Value |= (op & UINT64_C(122880)) << 3;
    9758           2 :       Value |= op & UINT64_C(4095);
    9759           2 :       break;
    9760             :     }
    9761          46 :     case ARM::LDRBrs:
    9762             :     case ARM::LDRrs:
    9763             :     case ARM::STRBrs:
    9764             :     case ARM::STRrs: {
    9765             :       // op: p
    9766          46 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9767          46 :       Value |= (op & UINT64_C(15)) << 28;
    9768             :       // op: Rt
    9769          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9770          46 :       Value |= (op & UINT64_C(15)) << 12;
    9771             :       // op: shift
    9772          46 :       op = getLdStSORegOpValue(MI, 1, Fixups, STI);
    9773          46 :       Value |= (op & UINT64_C(4096)) << 11;
    9774          46 :       Value |= (op & UINT64_C(122880)) << 3;
    9775          46 :       Value |= op & UINT64_C(4064);
    9776          46 :       Value |= op & UINT64_C(15);
    9777          46 :       break;
    9778             :     }
    9779          14 :     case ARM::STRB_PRE_IMM:
    9780             :     case ARM::STR_PRE_IMM: {
    9781             :       // op: p
    9782          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9783          14 :       Value |= (op & UINT64_C(15)) << 28;
    9784             :       // op: Rt
    9785          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9786          14 :       Value |= (op & UINT64_C(15)) << 12;
    9787             :       // op: addr
    9788          14 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
    9789          14 :       Value |= (op & UINT64_C(4096)) << 11;
    9790          14 :       Value |= (op & UINT64_C(122880)) << 3;
    9791          14 :       Value |= op & UINT64_C(4095);
    9792          14 :       break;
    9793             :     }
    9794          53 :     case ARM::VFMAH:
    9795             :     case ARM::VFMAS:
    9796             :     case ARM::VFMSH:
    9797             :     case ARM::VFMSS:
    9798             :     case ARM::VFNMAH:
    9799             :     case ARM::VFNMAS:
    9800             :     case ARM::VFNMSH:
    9801             :     case ARM::VFNMSS:
    9802             :     case ARM::VMLAH:
    9803             :     case ARM::VMLAS:
    9804             :     case ARM::VMLSH:
    9805             :     case ARM::VMLSS:
    9806             :     case ARM::VNMLAH:
    9807             :     case ARM::VNMLAS:
    9808             :     case ARM::VNMLSH:
    9809             :     case ARM::VNMLSS: {
    9810             :       // op: p
    9811          53 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9812          53 :       Value |= (op & UINT64_C(15)) << 28;
    9813             :       // op: Sd
    9814          53 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9815          53 :       Value |= (op & UINT64_C(1)) << 22;
    9816          53 :       Value |= (op & UINT64_C(30)) << 11;
    9817             :       // op: Sn
    9818          53 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9819          53 :       Value |= (op & UINT64_C(30)) << 15;
    9820          53 :       Value |= (op & UINT64_C(1)) << 7;
    9821             :       // op: Sm
    9822          53 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9823          53 :       Value |= (op & UINT64_C(1)) << 5;
    9824          53 :       Value |= (op & UINT64_C(30)) >> 1;
    9825         106 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9826          53 :       break;
    9827             :     }
    9828          15 :     case ARM::LDRH:
    9829             :     case ARM::LDRSB:
    9830             :     case ARM::LDRSH:
    9831             :     case ARM::STRH: {
    9832             :       // op: p
    9833          15 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9834          15 :       Value |= (op & UINT64_C(15)) << 28;
    9835             :       // op: addr
    9836          15 :       op = getAddrMode3OpValue(MI, 1, Fixups, STI);
    9837          15 :       Value |= (op & UINT64_C(256)) << 15;
    9838          15 :       Value |= (op & UINT64_C(8192)) << 9;
    9839          15 :       Value |= (op & UINT64_C(7680)) << 7;
    9840          15 :       Value |= (op & UINT64_C(240)) << 4;
    9841          15 :       Value |= op & UINT64_C(15);
    9842             :       // op: Rt
    9843          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9844          15 :       Value |= (op & UINT64_C(15)) << 12;
    9845          15 :       break;
    9846             :     }
    9847          72 :     case ARM::LDCL_OFFSET:
    9848             :     case ARM::LDCL_PRE:
    9849             :     case ARM::LDC_OFFSET:
    9850             :     case ARM::LDC_PRE:
    9851             :     case ARM::STCL_OFFSET:
    9852             :     case ARM::STCL_PRE:
    9853             :     case ARM::STC_OFFSET:
    9854             :     case ARM::STC_PRE: {
    9855             :       // op: p
    9856          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9857          72 :       Value |= (op & UINT64_C(15)) << 28;
    9858             :       // op: addr
    9859          72 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
    9860          72 :       Value |= (op & UINT64_C(256)) << 15;
    9861          72 :       Value |= (op & UINT64_C(7680)) << 7;
    9862          72 :       Value |= op & UINT64_C(255);
    9863             :       // op: cop
    9864          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9865          72 :       Value |= (op & UINT64_C(15)) << 8;
    9866             :       // op: CRd
    9867          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9868          72 :       Value |= (op & UINT64_C(15)) << 12;
    9869          72 :       break;
    9870             :     }
    9871          13 :     case ARM::LDRHTi:
    9872             :     case ARM::LDRSBTi:
    9873             :     case ARM::LDRSHTi: {
    9874             :       // op: p
    9875          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9876          13 :       Value |= (op & UINT64_C(15)) << 28;
    9877             :       // op: addr
    9878          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9879          13 :       Value |= (op & UINT64_C(15)) << 16;
    9880             :       // op: Rt
    9881          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9882          13 :       Value |= (op & UINT64_C(15)) << 12;
    9883             :       // op: offset
    9884          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9885          13 :       Value |= (op & UINT64_C(256)) << 15;
    9886          13 :       Value |= (op & UINT64_C(240)) << 4;
    9887          13 :       Value |= op & UINT64_C(15);
    9888          13 :       break;
    9889             :     }
    9890           3 :     case ARM::STRHTi: {
    9891             :       // op: p
    9892           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9893           3 :       Value |= (op & UINT64_C(15)) << 28;
    9894             :       // op: addr
    9895           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9896           3 :       Value |= (op & UINT64_C(15)) << 16;
    9897             :       // op: Rt
    9898           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9899           3 :       Value |= (op & UINT64_C(15)) << 12;
    9900             :       // op: offset
    9901           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9902           3 :       Value |= (op & UINT64_C(256)) << 15;
    9903           3 :       Value |= (op & UINT64_C(240)) << 4;
    9904           3 :       Value |= op & UINT64_C(15);
    9905           3 :       break;
    9906             :     }
    9907           3 :     case ARM::VMOVSRR: {
    9908             :       // op: p
    9909           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9910           3 :       Value |= (op & UINT64_C(15)) << 28;
    9911             :       // op: dst1
    9912           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9913           3 :       Value |= (op & UINT64_C(1)) << 5;
    9914           3 :       Value |= (op & UINT64_C(30)) >> 1;
    9915             :       // op: src1
    9916           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9917           3 :       Value |= (op & UINT64_C(15)) << 12;
    9918             :       // op: src2
    9919           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9920           3 :       Value |= (op & UINT64_C(15)) << 16;
    9921           6 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9922           3 :       break;
    9923             :     }
    9924          32 :     case ARM::LDCL_POST:
    9925             :     case ARM::LDC_POST:
    9926             :     case ARM::STCL_POST:
    9927             :     case ARM::STC_POST: {
    9928             :       // op: p
    9929          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9930          32 :       Value |= (op & UINT64_C(15)) << 28;
    9931             :       // op: offset
    9932          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9933          32 :       Value |= (op & UINT64_C(256)) << 15;
    9934          32 :       Value |= op & UINT64_C(255);
    9935             :       // op: addr
    9936          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9937          32 :       Value |= (op & UINT64_C(15)) << 16;
    9938             :       // op: cop
    9939          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9940          32 :       Value |= (op & UINT64_C(15)) << 8;
    9941             :       // op: CRd
    9942          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9943          32 :       Value |= (op & UINT64_C(15)) << 12;
    9944          32 :       break;
    9945             :     }
    9946           6 :     case ARM::LDCL_OPTION:
    9947             :     case ARM::LDC_OPTION:
    9948             :     case ARM::STCL_OPTION:
    9949             :     case ARM::STC_OPTION: {
    9950             :       // op: p
    9951           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9952           6 :       Value |= (op & UINT64_C(15)) << 28;
    9953             :       // op: option
    9954           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9955           6 :       Value |= op & UINT64_C(255);
    9956             :       // op: addr
    9957           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9958           6 :       Value |= (op & UINT64_C(15)) << 16;
    9959             :       // op: cop
    9960           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9961           6 :       Value |= (op & UINT64_C(15)) << 8;
    9962             :       // op: CRd
    9963           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9964           6 :       Value |= (op & UINT64_C(15)) << 12;
    9965           6 :       break;
    9966             :     }
    9967         291 :     case ARM::ADCrsi:
    9968             :     case ARM::ADDrsi:
    9969             :     case ARM::ANDrsi:
    9970             :     case ARM::BICrsi:
    9971             :     case ARM::EORrsi:
    9972             :     case ARM::ORRrsi:
    9973             :     case ARM::RSBrsi:
    9974             :     case ARM::RSCrsi:
    9975             :     case ARM::SBCrsi:
    9976             :     case ARM::SUBrsi: {
    9977             :       // op: p
    9978         291 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9979         291 :       Value |= (op & UINT64_C(15)) << 28;
    9980             :       // op: s
    9981         582 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
    9982         291 :       Value |= (op & UINT64_C(1)) << 20;
    9983             :       // op: Rd
    9984         291 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9985         291 :       Value |= (op & UINT64_C(15)) << 12;
    9986             :       // op: Rn
    9987         291 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9988         291 :       Value |= (op & UINT64_C(15)) << 16;
    9989             :       // op: shift
    9990         291 :       op = getSORegImmOpValue(MI, 2, Fixups, STI);
    9991         291 :       Value |= op & UINT64_C(4064);
    9992         291 :       Value |= op & UINT64_C(15);
    9993         291 :       break;
    9994             :     }
    9995           8 :     case ARM::MVNsr: {
    9996             :       // op: p
    9997           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9998           8 :       Value |= (op & UINT64_C(15)) << 28;
    9999             :       // op: s
   10000          16 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10001           8 :       Value |= (op & UINT64_C(1)) << 20;
   10002             :       // op: Rd
   10003           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10004           8 :       Value |= (op & UINT64_C(15)) << 12;
   10005             :       // op: shift
   10006           8 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10007           8 :       Value |= op & UINT64_C(3840);
   10008           8 :       Value |= op & UINT64_C(96);
   10009           8 :       Value |= op & UINT64_C(15);
   10010           8 :       break;
   10011             :     }
   10012           0 :     case ARM::MOVsr: {
   10013             :       // op: p
   10014           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10015           0 :       Value |= (op & UINT64_C(15)) << 28;
   10016             :       // op: s
   10017           0 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10018           0 :       Value |= (op & UINT64_C(1)) << 20;
   10019             :       // op: Rd
   10020           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10021           0 :       Value |= (op & UINT64_C(15)) << 12;
   10022             :       // op: src
   10023           0 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10024           0 :       Value |= op & UINT64_C(3840);
   10025           0 :       Value |= op & UINT64_C(96);
   10026           0 :       Value |= op & UINT64_C(15);
   10027           0 :       break;
   10028             :     }
   10029          13 :     case ARM::MLA: {
   10030             :       // op: p
   10031          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10032          13 :       Value |= (op & UINT64_C(15)) << 28;
   10033             :       // op: s
   10034          26 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10035          13 :       Value |= (op & UINT64_C(1)) << 20;
   10036             :       // op: Rd
   10037          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10038          13 :       Value |= (op & UINT64_C(15)) << 16;
   10039             :       // op: Rm
   10040          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10041          13 :       Value |= (op & UINT64_C(15)) << 8;
   10042             :       // op: Rn
   10043          13 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10044          13 :       Value |= op & UINT64_C(15);
   10045             :       // op: Ra
   10046          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10047          13 :       Value |= (op & UINT64_C(15)) << 12;
   10048          13 :       break;
   10049             :     }
   10050          18 :     case ARM::SMULL:
   10051             :     case ARM::UMULL: {
   10052             :       // op: p
   10053          18 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10054          18 :       Value |= (op & UINT64_C(15)) << 28;
   10055             :       // op: s
   10056          36 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10057          18 :       Value |= (op & UINT64_C(1)) << 20;
   10058             :       // op: RdLo
   10059          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10060          18 :       Value |= (op & UINT64_C(15)) << 12;
   10061             :       // op: RdHi
   10062          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10063          18 :       Value |= (op & UINT64_C(15)) << 16;
   10064             :       // op: Rm
   10065          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10066          18 :       Value |= (op & UINT64_C(15)) << 8;
   10067             :       // op: Rn
   10068          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10069          18 :       Value |= op & UINT64_C(15);
   10070          18 :       break;
   10071             :     }
   10072           2 :     case ARM::VMOVRRS: {
   10073             :       // op: p
   10074           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10075           2 :       Value |= (op & UINT64_C(15)) << 28;
   10076             :       // op: src1
   10077           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10078           2 :       Value |= (op & UINT64_C(1)) << 5;
   10079           2 :       Value |= (op & UINT64_C(30)) >> 1;
   10080             :       // op: Rt
   10081           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10082           2 :       Value |= (op & UINT64_C(15)) << 12;
   10083             :       // op: Rt2
   10084           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10085           2 :       Value |= (op & UINT64_C(15)) << 16;
   10086           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10087           2 :       break;
   10088             :     }
   10089           7 :     case ARM::MRRC: {
   10090             :       // op: p
   10091           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10092           7 :       Value |= (op & UINT64_C(15)) << 28;
   10093             :       // op: Rt
   10094           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10095           7 :       Value |= (op & UINT64_C(15)) << 12;
   10096             :       // op: Rt2
   10097           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10098           7 :       Value |= (op & UINT64_C(15)) << 16;
   10099             :       // op: cop
   10100           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10101           7 :       Value |= (op & UINT64_C(15)) << 8;
   10102             :       // op: opc1
   10103           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10104           7 :       Value |= (op & UINT64_C(15)) << 4;
   10105             :       // op: CRm
   10106           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10107           7 :       Value |= op & UINT64_C(15);
   10108           7 :       break;
   10109             :     }
   10110           9 :     case ARM::LDRH_PRE:
   10111             :     case ARM::LDRSB_PRE:
   10112             :     case ARM::LDRSH_PRE: {
   10113             :       // op: p
   10114           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10115           9 :       Value |= (op & UINT64_C(15)) << 28;
   10116             :       // op: Rt
   10117           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10118           9 :       Value |= (op & UINT64_C(15)) << 12;
   10119             :       // op: addr
   10120           9 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10121           9 :       Value |= (op & UINT64_C(256)) << 15;
   10122           9 :       Value |= (op & UINT64_C(8192)) << 9;
   10123           9 :       Value |= (op & UINT64_C(7680)) << 7;
   10124           9 :       Value |= (op & UINT64_C(240)) << 4;
   10125           9 :       Value |= op & UINT64_C(15);
   10126           9 :       break;
   10127             :     }
   10128           7 :     case ARM::LDRB_PRE_REG:
   10129             :     case ARM::LDR_PRE_REG: {
   10130             :       // op: p
   10131           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10132           7 :       Value |= (op & UINT64_C(15)) << 28;
   10133             :       // op: Rt
   10134           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10135           7 :       Value |= (op & UINT64_C(15)) << 12;
   10136             :       // op: addr
   10137           7 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10138           7 :       Value |= (op & UINT64_C(4096)) << 11;
   10139           7 :       Value |= (op & UINT64_C(122880)) << 3;
   10140           7 :       Value |= op & UINT64_C(4064);
   10141           7 :       Value |= op & UINT64_C(15);
   10142           7 :       break;
   10143             :     }
   10144          14 :     case ARM::LDRBT_POST_REG:
   10145             :     case ARM::LDRB_POST_REG:
   10146             :     case ARM::LDRT_POST_REG:
   10147             :     case ARM::LDR_POST_REG: {
   10148             :       // op: p
   10149          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10150          14 :       Value |= (op & UINT64_C(15)) << 28;
   10151             :       // op: Rt
   10152          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10153          14 :       Value |= (op & UINT64_C(15)) << 12;
   10154             :       // op: offset
   10155          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10156          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10157          14 :       Value |= op & UINT64_C(4064);
   10158          14 :       Value |= op & UINT64_C(15);
   10159             :       // op: addr
   10160          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10161          14 :       Value |= (op & UINT64_C(15)) << 16;
   10162          14 :       break;
   10163             :     }
   10164         755 :     case ARM::LDRBT_POST_IMM:
   10165             :     case ARM::LDRB_POST_IMM:
   10166             :     case ARM::LDRT_POST_IMM:
   10167             :     case ARM::LDR_POST_IMM: {
   10168             :       // op: p
   10169         755 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10170         755 :       Value |= (op & UINT64_C(15)) << 28;
   10171             :       // op: Rt
   10172         755 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10173         755 :       Value |= (op & UINT64_C(15)) << 12;
   10174             :       // op: offset
   10175         755 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10176         755 :       Value |= (op & UINT64_C(4096)) << 11;
   10177         755 :       Value |= op & UINT64_C(4095);
   10178             :       // op: addr
   10179         755 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10180         755 :       Value |= (op & UINT64_C(15)) << 16;
   10181         755 :       break;
   10182             :     }
   10183         175 :     case ARM::LDRH_POST:
   10184             :     case ARM::LDRSB_POST:
   10185             :     case ARM::LDRSH_POST: {
   10186             :       // op: p
   10187         175 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10188         175 :       Value |= (op & UINT64_C(15)) << 28;
   10189             :       // op: Rt
   10190         175 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10191         175 :       Value |= (op & UINT64_C(15)) << 12;
   10192             :       // op: offset
   10193         175 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10194         175 :       Value |= (op & UINT64_C(256)) << 15;
   10195         175 :       Value |= (op & UINT64_C(512)) << 13;
   10196         175 :       Value |= (op & UINT64_C(240)) << 4;
   10197         175 :       Value |= op & UINT64_C(15);
   10198             :       // op: addr
   10199         175 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10200         175 :       Value |= (op & UINT64_C(15)) << 16;
   10201         175 :       break;
   10202             :     }
   10203           3 :     case ARM::STRH_PRE: {
   10204             :       // op: p
   10205           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10206           3 :       Value |= (op & UINT64_C(15)) << 28;
   10207             :       // op: Rt
   10208           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10209           3 :       Value |= (op & UINT64_C(15)) << 12;
   10210             :       // op: addr
   10211           3 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10212           3 :       Value |= (op & UINT64_C(256)) << 15;
   10213           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10214           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10215           3 :       Value |= (op & UINT64_C(240)) << 4;
   10216           3 :       Value |= op & UINT64_C(15);
   10217           3 :       break;
   10218             :     }
   10219           4 :     case ARM::STRB_PRE_REG:
   10220             :     case ARM::STR_PRE_REG: {
   10221             :       // op: p
   10222           4 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10223           4 :       Value |= (op & UINT64_C(15)) << 28;
   10224             :       // op: Rt
   10225           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10226           4 :       Value |= (op & UINT64_C(15)) << 12;
   10227             :       // op: addr
   10228           4 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10229           4 :       Value |= (op & UINT64_C(4096)) << 11;
   10230           4 :       Value |= (op & UINT64_C(122880)) << 3;
   10231           4 :       Value |= op & UINT64_C(4064);
   10232           4 :       Value |= op & UINT64_C(15);
   10233           4 :       break;
   10234             :     }
   10235          14 :     case ARM::STRBT_POST_REG:
   10236             :     case ARM::STRB_POST_REG:
   10237             :     case ARM::STRT_POST_REG:
   10238             :     case ARM::STR_POST_REG: {
   10239             :       // op: p
   10240          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10241          14 :       Value |= (op & UINT64_C(15)) << 28;
   10242             :       // op: Rt
   10243          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10244          14 :       Value |= (op & UINT64_C(15)) << 12;
   10245             :       // op: offset
   10246          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10247          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10248          14 :       Value |= op & UINT64_C(4064);
   10249          14 :       Value |= op & UINT64_C(15);
   10250             :       // op: addr
   10251          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10252          14 :       Value |= (op & UINT64_C(15)) << 16;
   10253          14 :       break;
   10254             :     }
   10255         747 :     case ARM::STRBT_POST_IMM:
   10256             :     case ARM::STRB_POST_IMM:
   10257             :     case ARM::STRT_POST_IMM:
   10258             :     case ARM::STR_POST_IMM: {
   10259             :       // op: p
   10260         747 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10261         747 :       Value |= (op & UINT64_C(15)) << 28;
   10262             :       // op: Rt
   10263         747 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10264         747 :       Value |= (op & UINT64_C(15)) << 12;
   10265             :       // op: offset
   10266         747 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10267         747 :       Value |= (op & UINT64_C(4096)) << 11;
   10268         747 :       Value |= op & UINT64_C(4095);
   10269             :       // op: addr
   10270         747 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10271         747 :       Value |= (op & UINT64_C(15)) << 16;
   10272         747 :       break;
   10273             :     }
   10274         169 :     case ARM::STRH_POST: {
   10275             :       // op: p
   10276         169 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10277         169 :       Value |= (op & UINT64_C(15)) << 28;
   10278             :       // op: Rt
   10279         169 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10280         169 :       Value |= (op & UINT64_C(15)) << 12;
   10281             :       // op: offset
   10282         169 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10283         169 :       Value |= (op & UINT64_C(256)) << 15;
   10284         169 :       Value |= (op & UINT64_C(512)) << 13;
   10285         169 :       Value |= (op & UINT64_C(240)) << 4;
   10286         169 :       Value |= op & UINT64_C(15);
   10287             :       // op: addr
   10288         169 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10289         169 :       Value |= (op & UINT64_C(15)) << 16;
   10290         169 :       break;
   10291             :     }
   10292           7 :     case ARM::MCRR: {
   10293             :       // op: p
   10294           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10295           7 :       Value |= (op & UINT64_C(15)) << 28;
   10296             :       // op: Rt
   10297           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10298           7 :       Value |= (op & UINT64_C(15)) << 12;
   10299             :       // op: Rt2
   10300           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10301           7 :       Value |= (op & UINT64_C(15)) << 16;
   10302             :       // op: cop
   10303           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10304           7 :       Value |= (op & UINT64_C(15)) << 8;
   10305             :       // op: opc1
   10306           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10307           7 :       Value |= (op & UINT64_C(15)) << 4;
   10308             :       // op: CRm
   10309           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10310           7 :       Value |= op & UINT64_C(15);
   10311           7 :       break;
   10312             :     }
   10313          22 :     case ARM::LDRD:
   10314             :     case ARM::STRD: {
   10315             :       // op: p
   10316          22 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10317          22 :       Value |= (op & UINT64_C(15)) << 28;
   10318             :       // op: addr
   10319          22 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10320          22 :       Value |= (op & UINT64_C(256)) << 15;
   10321          22 :       Value |= (op & UINT64_C(8192)) << 9;
   10322          22 :       Value |= (op & UINT64_C(7680)) << 7;
   10323          22 :       Value |= (op & UINT64_C(240)) << 4;
   10324          22 :       Value |= op & UINT64_C(15);
   10325             :       // op: Rt
   10326          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10327          22 :       Value |= (op & UINT64_C(15)) << 12;
   10328          22 :       break;
   10329             :     }
   10330           9 :     case ARM::LDRHTr:
   10331             :     case ARM::LDRSBTr:
   10332             :     case ARM::LDRSHTr: {
   10333             :       // op: p
   10334           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10335           9 :       Value |= (op & UINT64_C(15)) << 28;
   10336             :       // op: addr
   10337           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10338           9 :       Value |= (op & UINT64_C(15)) << 16;
   10339             :       // op: Rt
   10340           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10341           9 :       Value |= (op & UINT64_C(15)) << 12;
   10342             :       // op: Rm
   10343          18 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10344           9 :       Value |= (op & UINT64_C(16)) << 19;
   10345           9 :       Value |= op & UINT64_C(15);
   10346           9 :       break;
   10347             :     }
   10348           3 :     case ARM::STRHTr: {
   10349             :       // op: p
   10350           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10351           3 :       Value |= (op & UINT64_C(15)) << 28;
   10352             :       // op: addr
   10353           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10354           3 :       Value |= (op & UINT64_C(15)) << 16;
   10355             :       // op: Rt
   10356           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10357           3 :       Value |= (op & UINT64_C(15)) << 12;
   10358             :       // op: Rm
   10359           6 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10360           3 :       Value |= (op & UINT64_C(16)) << 19;
   10361           3 :       Value |= op & UINT64_C(15);
   10362           3 :       break;
   10363             :     }
   10364         171 :     case ARM::ADCrsr:
   10365             :     case ARM::ADDrsr:
   10366             :     case ARM::ANDrsr:
   10367             :     case ARM::BICrsr:
   10368             :     case ARM::EORrsr:
   10369             :     case ARM::ORRrsr:
   10370             :     case ARM::RSBrsr:
   10371             :     case ARM::RSCrsr:
   10372             :     case ARM::SBCrsr:
   10373             :     case ARM::SUBrsr: {
   10374             :       // op: p
   10375         171 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10376         171 :       Value |= (op & UINT64_C(15)) << 28;
   10377             :       // op: s
   10378         342 :       op = getCCOutOpValue(MI, 7, Fixups, STI);
   10379         171 :       Value |= (op & UINT64_C(1)) << 20;
   10380             :       // op: Rd
   10381         171 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10382         171 :       Value |= (op & UINT64_C(15)) << 12;
   10383             :       // op: Rn
   10384         171 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10385         171 :       Value |= (op & UINT64_C(15)) << 16;
   10386             :       // op: shift
   10387         171 :       op = getSORegRegOpValue(MI, 2, Fixups, STI);
   10388         171 :       Value |= op & UINT64_C(3840);
   10389         171 :       Value |= op & UINT64_C(96);
   10390         171 :       Value |= op & UINT64_C(15);
   10391         171 :       break;
   10392             :     }
   10393           5 :     case ARM::UMAAL: {
   10394             :       // op: p
   10395           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10396           5 :       Value |= (op & UINT64_C(15)) << 28;
   10397             :       // op: RdLo
   10398           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10399           5 :       Value |= (op & UINT64_C(15)) << 12;
   10400             :       // op: RdHi
   10401           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10402           5 :       Value |= (op & UINT64_C(15)) << 16;
   10403             :       // op: Rm
   10404           5 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10405           5 :       Value |= (op & UINT64_C(15)) << 8;
   10406             :       // op: Rn
   10407           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10408           5 :       Value |= op & UINT64_C(15);
   10409           5 :       break;
   10410             :     }
   10411          32 :     case ARM::SMLALBB:
   10412             :     case ARM::SMLALBT:
   10413             :     case ARM::SMLALD:
   10414             :     case ARM::SMLALDX:
   10415             :     case ARM::SMLALTB:
   10416             :     case ARM::SMLALTT:
   10417             :     case ARM::SMLSLD:
   10418             :     case ARM::SMLSLDX: {
   10419             :       // op: p
   10420          32 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10421          32 :       Value |= (op & UINT64_C(15)) << 28;
   10422             :       // op: Rn
   10423          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10424          32 :       Value |= op & UINT64_C(15);
   10425             :       // op: Rm
   10426          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10427          32 :       Value |= (op & UINT64_C(15)) << 8;
   10428             :       // op: RdLo
   10429          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10430          32 :       Value |= (op & UINT64_C(15)) << 12;
   10431             :       // op: RdHi
   10432          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10433          32 :       Value |= (op & UINT64_C(15)) << 16;
   10434          32 :       break;
   10435             :     }
   10436           3 :     case ARM::LDRD_PRE: {
   10437             :       // op: p
   10438           3 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10439           3 :       Value |= (op & UINT64_C(15)) << 28;
   10440             :       // op: Rt
   10441           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10442           3 :       Value |= (op & UINT64_C(15)) << 12;
   10443             :       // op: addr
   10444           3 :       op = getAddrMode3OpValue(MI, 3, Fixups, STI);
   10445           3 :       Value |= (op & UINT64_C(256)) << 15;
   10446           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10447           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10448           3 :       Value |= (op & UINT64_C(240)) << 4;
   10449           3 :       Value |= op & UINT64_C(15);
   10450           3 :       break;
   10451             :     }
   10452          23 :     case ARM::MRC: {
   10453             :       // op: p
   10454          23 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10455          23 :       Value |= (op & UINT64_C(15)) << 28;
   10456             :       // op: Rt
   10457          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10458          23 :       Value |= (op & UINT64_C(15)) << 12;
   10459             :       // op: cop
   10460          23 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10461          23 :       Value |= (op & UINT64_C(15)) << 8;
   10462             :       // op: opc1
   10463          23 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10464          23 :       Value |= (op & UINT64_C(7)) << 21;
   10465             :       // op: opc2
   10466          23 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10467          23 :       Value |= (op & UINT64_C(7)) << 5;
   10468             :       // op: CRm
   10469          23 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10470          23 :       Value |= op & UINT64_C(15);
   10471             :       // op: CRn
   10472          23 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10473          23 :       Value |= (op & UINT64_C(15)) << 16;
   10474          23 :       break;
   10475             :     }
   10476           7 :     case ARM::LDRD_POST: {
   10477             :       // op: p
   10478           7 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10479           7 :       Value |= (op & UINT64_C(15)) << 28;
   10480             :       // op: Rt
   10481           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10482           7 :       Value |= (op & UINT64_C(15)) << 12;
   10483             :       // op: offset
   10484           7 :       op = getAddrMode3OffsetOpValue(MI, 4, Fixups, STI);
   10485           7 :       Value |= (op & UINT64_C(256)) << 15;
   10486           7 :       Value |= (op & UINT64_C(512)) << 13;
   10487           7 :       Value |= (op & UINT64_C(240)) << 4;
   10488           7 :       Value |= op & UINT64_C(15);
   10489             :       // op: addr
   10490           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10491           7 :       Value |= (op & UINT64_C(15)) << 16;
   10492           7 :       break;
   10493             :     }
   10494           3 :     case ARM::STRD_PRE: {
   10495             :       // op: p
   10496           3 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10497           3 :       Value |= (op & UINT64_C(15)) << 28;
   10498             :       // op: Rt
   10499           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10500           3 :       Value |= (op & UINT64_C(15)) << 12;
   10501             :       // op: addr
   10502           3 :       op = getAddrMode3OpValue(MI, 3, Fixups, STI);
   10503           3 :       Value |= (op & UINT64_C(256)) << 15;
   10504           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10505           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10506           3 :       Value |= (op & UINT64_C(240)) << 4;
   10507           3 :       Value |= op & UINT64_C(15);
   10508           3 :       break;
   10509             :     }
   10510           7 :     case ARM::STRD_POST: {
   10511             :       // op: p
   10512           7 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10513           7 :       Value |= (op & UINT64_C(15)) << 28;
   10514             :       // op: Rt
   10515           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10516           7 :       Value |= (op & UINT64_C(15)) << 12;
   10517             :       // op: offset
   10518           7 :       op = getAddrMode3OffsetOpValue(MI, 4, Fixups, STI);
   10519           7 :       Value |= (op & UINT64_C(256)) << 15;
   10520           7 :       Value |= (op & UINT64_C(512)) << 13;
   10521           7 :       Value |= (op & UINT64_C(240)) << 4;
   10522           7 :       Value |= op & UINT64_C(15);
   10523             :       // op: addr
   10524           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10525           7 :       Value |= (op & UINT64_C(15)) << 16;
   10526           7 :       break;
   10527             :     }
   10528          16 :     case ARM::MCR: {
   10529             :       // op: p
   10530          16 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10531          16 :       Value |= (op & UINT64_C(15)) << 28;
   10532             :       // op: Rt
   10533          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10534          16 :       Value |= (op & UINT64_C(15)) << 12;
   10535             :       // op: cop
   10536          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10537          16 :       Value |= (op & UINT64_C(15)) << 8;
   10538             :       // op: opc1
   10539          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10540          16 :       Value |= (op & UINT64_C(7)) << 21;
   10541             :       // op: opc2
   10542          16 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10543          16 :       Value |= (op & UINT64_C(7)) << 5;
   10544             :       // op: CRm
   10545          16 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10546          16 :       Value |= op & UINT64_C(15);
   10547             :       // op: CRn
   10548          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10549          16 :       Value |= (op & UINT64_C(15)) << 16;
   10550          16 :       break;
   10551             :     }
   10552          10 :     case ARM::CDP: {
   10553             :       // op: p
   10554          10 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10555          10 :       Value |= (op & UINT64_C(15)) << 28;
   10556             :       // op: opc1
   10557          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10558          10 :       Value |= (op & UINT64_C(15)) << 20;
   10559             :       // op: CRn
   10560          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10561          10 :       Value |= (op & UINT64_C(15)) << 16;
   10562             :       // op: CRd
   10563          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10564          10 :       Value |= (op & UINT64_C(15)) << 12;
   10565             :       // op: cop
   10566          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10567          10 :       Value |= (op & UINT64_C(15)) << 8;
   10568             :       // op: opc2
   10569          10 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10570          10 :       Value |= (op & UINT64_C(7)) << 5;
   10571             :       // op: CRm
   10572          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10573          10 :       Value |= op & UINT64_C(15);
   10574          10 :       break;
   10575             :     }
   10576          26 :     case ARM::SMLAL:
   10577             :     case ARM::UMLAL: {
   10578             :       // op: p
   10579          26 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10580          26 :       Value |= (op & UINT64_C(15)) << 28;
   10581             :       // op: s
   10582          52 :       op = getCCOutOpValue(MI, 8, Fixups, STI);
   10583          26 :       Value |= (op & UINT64_C(1)) << 20;
   10584             :       // op: RdLo
   10585          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10586          26 :       Value |= (op & UINT64_C(15)) << 12;
   10587             :       // op: RdHi
   10588          26 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10589          26 :       Value |= (op & UINT64_C(15)) << 16;
   10590             :       // op: Rm
   10591          26 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10592          26 :       Value |= (op & UINT64_C(15)) << 8;
   10593             :       // op: Rn
   10594          26 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10595          26 :       Value |= op & UINT64_C(15);
   10596          26 :       break;
   10597             :     }
   10598         282 :     case ARM::tPUSH: {
   10599             :       // op: regs
   10600         282 :       op = getRegisterListOpValue(MI, 2, Fixups, STI);
   10601         282 :       Value |= (op & UINT64_C(16384)) >> 6;
   10602         282 :       Value |= op & UINT64_C(255);
   10603         282 :       break;
   10604             :     }
   10605         302 :     case ARM::tPOP: {
   10606             :       // op: regs
   10607         302 :       op = getRegisterListOpValue(MI, 2, Fixups, STI);
   10608         302 :       Value |= (op & UINT64_C(32768)) >> 7;
   10609         302 :       Value |= op & UINT64_C(255);
   10610         302 :       break;
   10611             :     }
   10612             :     case ARM::t2MOVr:
   10613             :     case ARM::t2MVNr:
   10614             :     case ARM::t2RRX: {
   10615             :       // op: s
   10616         116 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
   10617          58 :       Value |= (op & UINT64_C(1)) << 20;
   10618             :       // op: Rd
   10619          58 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10620          58 :       Value |= (op & UINT64_C(15)) << 8;
   10621             :       // op: Rm
   10622          58 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10623          58 :       Value |= op & UINT64_C(15);
   10624          58 :       break;
   10625             :     }
   10626             :     case ARM::t2MOVi:
   10627             :     case ARM::t2MVNi: {
   10628             :       // op: s
   10629         500 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
   10630         250 :       Value |= (op & UINT64_C(1)) << 20;
   10631             :       // op: Rd
   10632         250 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10633         250 :       Value |= (op & UINT64_C(15)) << 8;
   10634             :       // op: imm
   10635         250 :       op = getT2SOImmOpValue(MI, 1, Fixups, STI);
   10636         250 :       Value |= (op & UINT64_C(2048)) << 15;
   10637         250 :       Value |= (op & UINT64_C(1792)) << 4;
   10638         250 :       Value |= op & UINT64_C(255);
   10639         250 :       break;
   10640             :     }
   10641             :     case ARM::t2ASRri:
   10642             :     case ARM::t2LSLri:
   10643             :     case ARM::t2LSRri:
   10644             :     case ARM::t2RORri: {
   10645             :       // op: s
   10646         200 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
   10647         100 :       Value |= (op & UINT64_C(1)) << 20;
   10648             :       // op: Rd
   10649         100 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10650         100 :       Value |= (op & UINT64_C(15)) << 8;
   10651             :       // op: Rm
   10652         100 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10653         100 :       Value |= op & UINT64_C(15);
   10654             :       // op: imm
   10655         100 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10656