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: 3445 3509 98.2 %
Date: 2018-06-17 00:07:59 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       41626 : 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(0),
     123             :     UINT64_C(0),
     124             :     UINT64_C(0),
     125             :     UINT64_C(0),
     126             :     UINT64_C(0),
     127             :     UINT64_C(0),
     128             :     UINT64_C(0),
     129             :     UINT64_C(0),
     130             :     UINT64_C(0),
     131             :     UINT64_C(0),
     132             :     UINT64_C(0),
     133             :     UINT64_C(0),
     134             :     UINT64_C(0),
     135             :     UINT64_C(0),
     136             :     UINT64_C(0),
     137             :     UINT64_C(0),
     138             :     UINT64_C(0),
     139             :     UINT64_C(0),
     140             :     UINT64_C(0),
     141             :     UINT64_C(0),
     142             :     UINT64_C(0),
     143             :     UINT64_C(0),
     144             :     UINT64_C(0),
     145             :     UINT64_C(0),
     146             :     UINT64_C(0),
     147             :     UINT64_C(0),
     148             :     UINT64_C(0),
     149             :     UINT64_C(0),
     150             :     UINT64_C(0),
     151             :     UINT64_C(0),
     152             :     UINT64_C(0),
     153             :     UINT64_C(0),
     154             :     UINT64_C(0),
     155             :     UINT64_C(0),
     156             :     UINT64_C(0),
     157             :     UINT64_C(0),
     158             :     UINT64_C(0),
     159             :     UINT64_C(0),
     160             :     UINT64_C(0),
     161             :     UINT64_C(0),
     162             :     UINT64_C(0),
     163             :     UINT64_C(0),
     164             :     UINT64_C(0),
     165             :     UINT64_C(0),
     166             :     UINT64_C(0),
     167             :     UINT64_C(0),
     168             :     UINT64_C(0),
     169             :     UINT64_C(0),
     170             :     UINT64_C(0),
     171             :     UINT64_C(0),
     172             :     UINT64_C(0),
     173             :     UINT64_C(0),
     174             :     UINT64_C(0),
     175             :     UINT64_C(0),
     176             :     UINT64_C(0),
     177             :     UINT64_C(0),
     178             :     UINT64_C(0),
     179             :     UINT64_C(0),
     180             :     UINT64_C(0),
     181             :     UINT64_C(0),
     182             :     UINT64_C(0),
     183             :     UINT64_C(0),
     184             :     UINT64_C(0),
     185             :     UINT64_C(0),
     186             :     UINT64_C(0),
     187             :     UINT64_C(0),
     188             :     UINT64_C(0),
     189             :     UINT64_C(0),
     190             :     UINT64_C(0),
     191             :     UINT64_C(0),
     192             :     UINT64_C(0),
     193             :     UINT64_C(0),
     194             :     UINT64_C(0),
     195             :     UINT64_C(0),
     196             :     UINT64_C(0),
     197             :     UINT64_C(0),
     198             :     UINT64_C(0),
     199             :     UINT64_C(0),
     200             :     UINT64_C(0),
     201             :     UINT64_C(0),
     202             :     UINT64_C(0),
     203             :     UINT64_C(0),
     204             :     UINT64_C(0),
     205             :     UINT64_C(0),
     206             :     UINT64_C(0),
     207             :     UINT64_C(0),
     208             :     UINT64_C(0),
     209             :     UINT64_C(0),
     210             :     UINT64_C(0),
     211             :     UINT64_C(0),
     212             :     UINT64_C(0),
     213             :     UINT64_C(0),
     214             :     UINT64_C(0),
     215             :     UINT64_C(0),
     216             :     UINT64_C(0),
     217             :     UINT64_C(0),
     218             :     UINT64_C(0),
     219             :     UINT64_C(0),
     220             :     UINT64_C(0),
     221             :     UINT64_C(0),
     222             :     UINT64_C(0),
     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(0),
     234             :     UINT64_C(0),
     235             :     UINT64_C(0),
     236             :     UINT64_C(0),
     237             :     UINT64_C(0),
     238             :     UINT64_C(0),
     239             :     UINT64_C(0),
     240             :     UINT64_C(0),
     241             :     UINT64_C(0),
     242             :     UINT64_C(0),
     243             :     UINT64_C(0),
     244             :     UINT64_C(0),
     245             :     UINT64_C(0),
     246             :     UINT64_C(0),
     247             :     UINT64_C(0),
     248             :     UINT64_C(0),
     249             :     UINT64_C(0),
     250             :     UINT64_C(0),
     251             :     UINT64_C(0),
     252             :     UINT64_C(0),
     253             :     UINT64_C(0),
     254             :     UINT64_C(0),
     255             :     UINT64_C(0),
     256             :     UINT64_C(0),
     257             :     UINT64_C(0),
     258             :     UINT64_C(0),
     259             :     UINT64_C(0),
     260             :     UINT64_C(0),
     261             :     UINT64_C(0),
     262             :     UINT64_C(0),
     263             :     UINT64_C(0),
     264             :     UINT64_C(0),
     265             :     UINT64_C(0),
     266             :     UINT64_C(0),
     267             :     UINT64_C(0),
     268             :     UINT64_C(0),
     269             :     UINT64_C(0),
     270             :     UINT64_C(0),
     271             :     UINT64_C(0),
     272             :     UINT64_C(0),
     273             :     UINT64_C(0),
     274             :     UINT64_C(0),
     275             :     UINT64_C(0),
     276             :     UINT64_C(0),
     277             :     UINT64_C(0),
     278             :     UINT64_C(0),
     279             :     UINT64_C(0),
     280             :     UINT64_C(0),
     281             :     UINT64_C(0),
     282             :     UINT64_C(0),
     283             :     UINT64_C(0),
     284             :     UINT64_C(0),
     285             :     UINT64_C(0),
     286             :     UINT64_C(0),
     287             :     UINT64_C(0),
     288             :     UINT64_C(0),
     289             :     UINT64_C(0),
     290             :     UINT64_C(0),
     291             :     UINT64_C(0),
     292             :     UINT64_C(0),
     293             :     UINT64_C(0),
     294             :     UINT64_C(0),
     295             :     UINT64_C(0),
     296             :     UINT64_C(0),
     297             :     UINT64_C(0),
     298             :     UINT64_C(0),
     299             :     UINT64_C(0),
     300             :     UINT64_C(0),
     301             :     UINT64_C(0),
     302             :     UINT64_C(0),
     303             :     UINT64_C(0),
     304             :     UINT64_C(0),
     305             :     UINT64_C(0),
     306             :     UINT64_C(0),
     307             :     UINT64_C(0),
     308             :     UINT64_C(0),
     309             :     UINT64_C(0),
     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(0),
     317             :     UINT64_C(0),
     318             :     UINT64_C(0),
     319             :     UINT64_C(0),
     320             :     UINT64_C(0),
     321             :     UINT64_C(0),
     322             :     UINT64_C(0),
     323             :     UINT64_C(0),
     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(0),
     331             :     UINT64_C(0),
     332             :     UINT64_C(0),
     333             :     UINT64_C(0),
     334             :     UINT64_C(0),
     335             :     UINT64_C(0),
     336             :     UINT64_C(0),
     337             :     UINT64_C(0),
     338             :     UINT64_C(0),
     339             :     UINT64_C(0),
     340             :     UINT64_C(0),
     341             :     UINT64_C(0),
     342             :     UINT64_C(0),
     343             :     UINT64_C(0),
     344             :     UINT64_C(0),
     345             :     UINT64_C(0),
     346             :     UINT64_C(0),
     347             :     UINT64_C(0),
     348             :     UINT64_C(0),
     349             :     UINT64_C(0),
     350             :     UINT64_C(0),
     351             :     UINT64_C(0),
     352             :     UINT64_C(0),
     353             :     UINT64_C(0),
     354             :     UINT64_C(0),
     355             :     UINT64_C(0),
     356             :     UINT64_C(0),
     357             :     UINT64_C(0),
     358             :     UINT64_C(0),
     359             :     UINT64_C(0),
     360             :     UINT64_C(0),
     361             :     UINT64_C(0),
     362             :     UINT64_C(0),
     363             :     UINT64_C(0),
     364             :     UINT64_C(0),
     365             :     UINT64_C(0),
     366             :     UINT64_C(0),
     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(0),
     377             :     UINT64_C(0),
     378             :     UINT64_C(0),
     379             :     UINT64_C(0),
     380             :     UINT64_C(0),
     381             :     UINT64_C(0),
     382             :     UINT64_C(0),
     383             :     UINT64_C(0),
     384             :     UINT64_C(0),
     385             :     UINT64_C(0),
     386             :     UINT64_C(0),
     387             :     UINT64_C(0),
     388             :     UINT64_C(0),
     389             :     UINT64_C(0),
     390             :     UINT64_C(0),
     391             :     UINT64_C(0),
     392             :     UINT64_C(0),
     393             :     UINT64_C(0),
     394             :     UINT64_C(0),
     395             :     UINT64_C(0),
     396             :     UINT64_C(0),
     397             :     UINT64_C(0),
     398             :     UINT64_C(0),
     399             :     UINT64_C(0),
     400             :     UINT64_C(0),
     401             :     UINT64_C(0),
     402             :     UINT64_C(0),
     403             :     UINT64_C(0),
     404             :     UINT64_C(0),
     405             :     UINT64_C(0),
     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(0),
     414             :     UINT64_C(0),
     415             :     UINT64_C(0),
     416             :     UINT64_C(0),
     417             :     UINT64_C(0),
     418             :     UINT64_C(0),
     419             :     UINT64_C(0),
     420             :     UINT64_C(0),
     421             :     UINT64_C(0),
     422             :     UINT64_C(0),
     423             :     UINT64_C(0),
     424             :     UINT64_C(0),
     425             :     UINT64_C(0),
     426             :     UINT64_C(0),
     427             :     UINT64_C(0),
     428             :     UINT64_C(0),
     429             :     UINT64_C(0),
     430             :     UINT64_C(0),
     431             :     UINT64_C(0),
     432             :     UINT64_C(0),
     433             :     UINT64_C(0),
     434             :     UINT64_C(0),
     435             :     UINT64_C(0),
     436             :     UINT64_C(0),
     437             :     UINT64_C(0),
     438             :     UINT64_C(0),
     439             :     UINT64_C(0),
     440             :     UINT64_C(0),
     441             :     UINT64_C(0),
     442             :     UINT64_C(0),
     443             :     UINT64_C(0),
     444             :     UINT64_C(0),
     445             :     UINT64_C(0),
     446             :     UINT64_C(0),
     447             :     UINT64_C(0),
     448             :     UINT64_C(0),
     449             :     UINT64_C(0),
     450             :     UINT64_C(0),
     451             :     UINT64_C(0),
     452             :     UINT64_C(0),
     453             :     UINT64_C(0),
     454             :     UINT64_C(0),
     455             :     UINT64_C(0),
     456             :     UINT64_C(0),
     457             :     UINT64_C(0),
     458             :     UINT64_C(0),
     459             :     UINT64_C(0),
     460             :     UINT64_C(0),
     461             :     UINT64_C(0),
     462             :     UINT64_C(0),
     463             :     UINT64_C(0),
     464             :     UINT64_C(0),
     465             :     UINT64_C(0),
     466             :     UINT64_C(0),
     467             :     UINT64_C(0),
     468             :     UINT64_C(0),
     469             :     UINT64_C(0),
     470             :     UINT64_C(0),
     471             :     UINT64_C(0),
     472             :     UINT64_C(0),
     473             :     UINT64_C(0),
     474             :     UINT64_C(0),
     475             :     UINT64_C(0),
     476             :     UINT64_C(0),
     477             :     UINT64_C(0),
     478             :     UINT64_C(0),
     479             :     UINT64_C(0),
     480             :     UINT64_C(0),
     481             :     UINT64_C(0),
     482             :     UINT64_C(0),
     483             :     UINT64_C(0),
     484             :     UINT64_C(0),
     485             :     UINT64_C(0),
     486             :     UINT64_C(0),
     487             :     UINT64_C(0),
     488             :     UINT64_C(0),
     489             :     UINT64_C(0),
     490             :     UINT64_C(0),
     491             :     UINT64_C(0),
     492             :     UINT64_C(0),
     493             :     UINT64_C(0),
     494             :     UINT64_C(0),
     495             :     UINT64_C(0),
     496             :     UINT64_C(0),
     497             :     UINT64_C(0),
     498             :     UINT64_C(0),
     499             :     UINT64_C(0),
     500             :     UINT64_C(0),
     501             :     UINT64_C(0),
     502             :     UINT64_C(0),
     503             :     UINT64_C(0),
     504             :     UINT64_C(0),
     505             :     UINT64_C(0),
     506             :     UINT64_C(0),
     507             :     UINT64_C(0),
     508             :     UINT64_C(0),
     509             :     UINT64_C(0),
     510             :     UINT64_C(0),
     511             :     UINT64_C(0),
     512             :     UINT64_C(0),
     513             :     UINT64_C(0),
     514             :     UINT64_C(0),
     515             :     UINT64_C(0),
     516             :     UINT64_C(0),
     517             :     UINT64_C(0),
     518             :     UINT64_C(0),
     519             :     UINT64_C(0),
     520             :     UINT64_C(0),
     521             :     UINT64_C(0),
     522             :     UINT64_C(0),
     523             :     UINT64_C(0),
     524             :     UINT64_C(0),
     525             :     UINT64_C(0),
     526             :     UINT64_C(0),
     527             :     UINT64_C(0),
     528             :     UINT64_C(0),
     529             :     UINT64_C(0),
     530             :     UINT64_C(0),
     531             :     UINT64_C(0),
     532             :     UINT64_C(0),
     533             :     UINT64_C(0),
     534             :     UINT64_C(0),
     535             :     UINT64_C(0),
     536             :     UINT64_C(0),
     537             :     UINT64_C(0),
     538             :     UINT64_C(0),
     539             :     UINT64_C(0),
     540             :     UINT64_C(0),
     541             :     UINT64_C(0),
     542             :     UINT64_C(0),
     543             :     UINT64_C(0),
     544             :     UINT64_C(44040192), // ADCri
     545             :     UINT64_C(10485760), // ADCrr
     546             :     UINT64_C(10485760), // ADCrsi
     547             :     UINT64_C(10485776), // ADCrsr
     548             :     UINT64_C(41943040), // ADDri
     549             :     UINT64_C(8388608),  // ADDrr
     550             :     UINT64_C(8388608),  // ADDrsi
     551             :     UINT64_C(8388624),  // ADDrsr
     552             :     UINT64_C(34537472), // ADR
     553             :     UINT64_C(4088398656),       // AESD
     554             :     UINT64_C(4088398592),       // AESE
     555             :     UINT64_C(4088398784),       // AESIMC
     556             :     UINT64_C(4088398720),       // AESMC
     557             :     UINT64_C(33554432), // ANDri
     558             :     UINT64_C(0),        // ANDrr
     559             :     UINT64_C(0),        // ANDrsi
     560             :     UINT64_C(16),       // ANDrsr
     561             :     UINT64_C(130023455),        // BFC
     562             :     UINT64_C(130023440),        // BFI
     563             :     UINT64_C(62914560), // BICri
     564             :     UINT64_C(29360128), // BICrr
     565             :     UINT64_C(29360128), // BICrsi
     566             :     UINT64_C(29360144), // BICrsr
     567             :     UINT64_C(3776970864),       // BKPT
     568             :     UINT64_C(3942645760),       // BL
     569             :     UINT64_C(3778019120),       // BLX
     570             :     UINT64_C(19922736), // BLX_pred
     571             :     UINT64_C(4194304000),       // BLXi
     572             :     UINT64_C(184549376),        // BL_pred
     573             :     UINT64_C(3778019088),       // BX
     574             :     UINT64_C(19922720), // BXJ
     575             :     UINT64_C(19922718), // BX_RET
     576             :     UINT64_C(19922704), // BX_pred
     577             :     UINT64_C(167772160),        // Bcc
     578             :     UINT64_C(234881024),        // CDP
     579             :     UINT64_C(4261412864),       // CDP2
     580             :     UINT64_C(4118802463),       // CLREX
     581             :     UINT64_C(24055568), // CLZ
     582             :     UINT64_C(57671680), // CMNri
     583             :     UINT64_C(24117248), // CMNzrr
     584             :     UINT64_C(24117248), // CMNzrsi
     585             :     UINT64_C(24117264), // CMNzrsr
     586             :     UINT64_C(55574528), // CMPri
     587             :     UINT64_C(22020096), // CMPrr
     588             :     UINT64_C(22020096), // CMPrsi
     589             :     UINT64_C(22020112), // CMPrsr
     590             :     UINT64_C(4043440128),       // CPS1p
     591             :     UINT64_C(4043309056),       // CPS2p
     592             :     UINT64_C(4043440128),       // CPS3p
     593             :     UINT64_C(3774873664),       // CRC32B
     594             :     UINT64_C(3774874176),       // CRC32CB
     595             :     UINT64_C(3776971328),       // CRC32CH
     596             :     UINT64_C(3779068480),       // CRC32CW
     597             :     UINT64_C(3776970816),       // CRC32H
     598             :     UINT64_C(3779067968),       // CRC32W
     599             :     UINT64_C(52490480), // DBG
     600             :     UINT64_C(4118802512),       // DMB
     601             :     UINT64_C(4118802496),       // DSB
     602             :     UINT64_C(35651584), // EORri
     603             :     UINT64_C(2097152),  // EORrr
     604             :     UINT64_C(2097152),  // EORrsi
     605             :     UINT64_C(2097168),  // EORrsr
     606             :     UINT64_C(23068782), // ERET
     607             :     UINT64_C(246418176),        // FCONSTD
     608             :     UINT64_C(246417664),        // FCONSTH
     609             :     UINT64_C(246417920),        // FCONSTS
     610             :     UINT64_C(221252353),        // FLDMXDB_UPD
     611             :     UINT64_C(210766593),        // FLDMXIA
     612             :     UINT64_C(212863745),        // FLDMXIA_UPD
     613             :     UINT64_C(250739216),        // FMSTAT
     614             :     UINT64_C(220203777),        // FSTMXDB_UPD
     615             :     UINT64_C(209718017),        // FSTMXIA
     616             :     UINT64_C(211815169),        // FSTMXIA_UPD
     617             :     UINT64_C(52490240), // HINT
     618             :     UINT64_C(3774873712),       // HLT
     619             :     UINT64_C(3779068016),       // HVC
     620             :     UINT64_C(4118802528),       // ISB
     621             :     UINT64_C(26217631), // LDA
     622             :     UINT64_C(30411935), // LDAB
     623             :     UINT64_C(26218143), // LDAEX
     624             :     UINT64_C(30412447), // LDAEXB
     625             :     UINT64_C(28315295), // LDAEXD
     626             :     UINT64_C(32509599), // LDAEXH
     627             :     UINT64_C(32509087), // LDAH
     628             :     UINT64_C(4249878528),       // LDC2L_OFFSET
     629             :     UINT64_C(4241489920),       // LDC2L_OPTION
     630             :     UINT64_C(4235198464),       // LDC2L_POST
     631             :     UINT64_C(4251975680),       // LDC2L_PRE
     632             :     UINT64_C(4245684224),       // LDC2_OFFSET
     633             :     UINT64_C(4237295616),       // LDC2_OPTION
     634             :     UINT64_C(4231004160),       // LDC2_POST
     635             :     UINT64_C(4247781376),       // LDC2_PRE
     636             :     UINT64_C(223346688),        // LDCL_OFFSET
     637             :     UINT64_C(214958080),        // LDCL_OPTION
     638             :     UINT64_C(208666624),        // LDCL_POST
     639             :     UINT64_C(225443840),        // LDCL_PRE
     640             :     UINT64_C(219152384),        // LDC_OFFSET
     641             :     UINT64_C(210763776),        // LDC_OPTION
     642             :     UINT64_C(204472320),        // LDC_POST
     643             :     UINT64_C(221249536),        // LDC_PRE
     644             :     UINT64_C(135266304),        // LDMDA
     645             :     UINT64_C(137363456),        // LDMDA_UPD
     646             :     UINT64_C(152043520),        // LDMDB
     647             :     UINT64_C(154140672),        // LDMDB_UPD
     648             :     UINT64_C(143654912),        // LDMIA
     649             :     UINT64_C(145752064),        // LDMIA_UPD
     650             :     UINT64_C(160432128),        // LDMIB
     651             :     UINT64_C(162529280),        // LDMIB_UPD
     652             :     UINT64_C(74448896), // LDRBT_POST_IMM
     653             :     UINT64_C(108003328),        // LDRBT_POST_REG
     654             :     UINT64_C(72351744), // LDRB_POST_IMM
     655             :     UINT64_C(105906176),        // LDRB_POST_REG
     656             :     UINT64_C(91226112), // LDRB_PRE_IMM
     657             :     UINT64_C(124780544),        // LDRB_PRE_REG
     658             :     UINT64_C(89128960), // LDRBi12
     659             :     UINT64_C(122683392),        // LDRBrs
     660             :     UINT64_C(16777424), // LDRD
     661             :     UINT64_C(208),      // LDRD_POST
     662             :     UINT64_C(18874576), // LDRD_PRE
     663             :     UINT64_C(26218399), // LDREX
     664             :     UINT64_C(30412703), // LDREXB
     665             :     UINT64_C(28315551), // LDREXD
     666             :     UINT64_C(32509855), // LDREXH
     667             :     UINT64_C(17825968), // LDRH
     668             :     UINT64_C(7340208),  // LDRHTi
     669             :     UINT64_C(3145904),  // LDRHTr
     670             :     UINT64_C(1048752),  // LDRH_POST
     671             :     UINT64_C(19923120), // LDRH_PRE
     672             :     UINT64_C(17826000), // LDRSB
     673             :     UINT64_C(7340240),  // LDRSBTi
     674             :     UINT64_C(3145936),  // LDRSBTr
     675             :     UINT64_C(1048784),  // LDRSB_POST
     676             :     UINT64_C(19923152), // LDRSB_PRE
     677             :     UINT64_C(17826032), // LDRSH
     678             :     UINT64_C(7340272),  // LDRSHTi
     679             :     UINT64_C(3145968),  // LDRSHTr
     680             :     UINT64_C(1048816),  // LDRSH_POST
     681             :     UINT64_C(19923184), // LDRSH_PRE
     682             :     UINT64_C(70254592), // LDRT_POST_IMM
     683             :     UINT64_C(103809024),        // LDRT_POST_REG
     684             :     UINT64_C(68157440), // LDR_POST_IMM
     685             :     UINT64_C(101711872),        // LDR_POST_REG
     686             :     UINT64_C(87031808), // LDR_PRE_IMM
     687             :     UINT64_C(120586240),        // LDR_PRE_REG
     688             :     UINT64_C(85917696), // LDRcp
     689             :     UINT64_C(84934656), // LDRi12
     690             :     UINT64_C(118489088),        // LDRrs
     691             :     UINT64_C(234881040),        // MCR
     692             :     UINT64_C(4261412880),       // MCR2
     693             :     UINT64_C(205520896),        // MCRR
     694             :     UINT64_C(4232052736),       // MCRR2
     695             :     UINT64_C(2097296),  // MLA
     696             :     UINT64_C(6291600),  // MLS
     697             :     UINT64_C(27324430), // MOVPCLR
     698             :     UINT64_C(54525952), // MOVTi16
     699             :     UINT64_C(60817408), // MOVi
     700             :     UINT64_C(50331648), // MOVi16
     701             :     UINT64_C(27262976), // MOVr
     702             :     UINT64_C(27262976), // MOVr_TC
     703             :     UINT64_C(27262976), // MOVsi
     704             :     UINT64_C(27262992), // MOVsr
     705             :     UINT64_C(235929616),        // MRC
     706             :     UINT64_C(4262461456),       // MRC2
     707             :     UINT64_C(206569472),        // MRRC
     708             :     UINT64_C(4233101312),       // MRRC2
     709             :     UINT64_C(17760256), // MRS
     710             :     UINT64_C(16777728), // MRSbanked
     711             :     UINT64_C(21954560), // MRSsys
     712             :     UINT64_C(18935808), // MSR
     713             :     UINT64_C(18936320), // MSRbanked
     714             :     UINT64_C(52490240), // MSRi
     715             :     UINT64_C(144),      // MUL
     716             :     UINT64_C(65011712), // MVNi
     717             :     UINT64_C(31457280), // MVNr
     718             :     UINT64_C(31457280), // MVNsi
     719             :     UINT64_C(31457296), // MVNsr
     720             :     UINT64_C(58720256), // ORRri
     721             :     UINT64_C(25165824), // ORRrr
     722             :     UINT64_C(25165824), // ORRrsi
     723             :     UINT64_C(25165840), // ORRrsr
     724             :     UINT64_C(109051920),        // PKHBT
     725             :     UINT64_C(109051984),        // PKHTB
     726             :     UINT64_C(4111527936),       // PLDWi12
     727             :     UINT64_C(4145082368),       // PLDWrs
     728             :     UINT64_C(4115722240),       // PLDi12
     729             :     UINT64_C(4149276672),       // PLDrs
     730             :     UINT64_C(4098945024),       // PLIi12
     731             :     UINT64_C(4132499456),       // PLIrs
     732             :     UINT64_C(16777296), // QADD
     733             :     UINT64_C(102764304),        // QADD16
     734             :     UINT64_C(102764432),        // QADD8
     735             :     UINT64_C(102764336),        // QASX
     736             :     UINT64_C(20971600), // QDADD
     737             :     UINT64_C(23068752), // QDSUB
     738             :     UINT64_C(102764368),        // QSAX
     739             :     UINT64_C(18874448), // QSUB
     740             :     UINT64_C(102764400),        // QSUB16
     741             :     UINT64_C(102764528),        // QSUB8
     742             :     UINT64_C(117378864),        // RBIT
     743             :     UINT64_C(113184560),        // REV
     744             :     UINT64_C(113184688),        // REV16
     745             :     UINT64_C(117378992),        // REVSH
     746             :     UINT64_C(4161800704),       // RFEDA
     747             :     UINT64_C(4163897856),       // RFEDA_UPD
     748             :     UINT64_C(4178577920),       // RFEDB
     749             :     UINT64_C(4180675072),       // RFEDB_UPD
     750             :     UINT64_C(4170189312),       // RFEIA
     751             :     UINT64_C(4172286464),       // RFEIA_UPD
     752             :     UINT64_C(4186966528),       // RFEIB
     753             :     UINT64_C(4189063680),       // RFEIB_UPD
     754             :     UINT64_C(39845888), // RSBri
     755             :     UINT64_C(6291456),  // RSBrr
     756             :     UINT64_C(6291456),  // RSBrsi
     757             :     UINT64_C(6291472),  // RSBrsr
     758             :     UINT64_C(48234496), // RSCri
     759             :     UINT64_C(14680064), // RSCrr
     760             :     UINT64_C(14680064), // RSCrsi
     761             :     UINT64_C(14680080), // RSCrsr
     762             :     UINT64_C(101715728),        // SADD16
     763             :     UINT64_C(101715856),        // SADD8
     764             :     UINT64_C(101715760),        // SASX
     765             :     UINT64_C(46137344), // SBCri
     766             :     UINT64_C(12582912), // SBCrr
     767             :     UINT64_C(12582912), // SBCrsi
     768             :     UINT64_C(12582928), // SBCrsr
     769             :     UINT64_C(127926352),        // SBFX
     770             :     UINT64_C(118550544),        // SDIV
     771             :     UINT64_C(109055920),        // SEL
     772             :     UINT64_C(4043374592),       // SETEND
     773             :     UINT64_C(4044357632),       // SETPAN
     774             :     UINT64_C(4060089408),       // SHA1C
     775             :     UINT64_C(4088988352),       // SHA1H
     776             :     UINT64_C(4062186560),       // SHA1M
     777             :     UINT64_C(4061137984),       // SHA1P
     778             :     UINT64_C(4063235136),       // SHA1SU0
     779             :     UINT64_C(4089054080),       // SHA1SU1
     780             :     UINT64_C(4076866624),       // SHA256H
     781             :     UINT64_C(4077915200),       // SHA256H2
     782             :     UINT64_C(4089054144),       // SHA256SU0
     783             :     UINT64_C(4078963776),       // SHA256SU1
     784             :     UINT64_C(103812880),        // SHADD16
     785             :     UINT64_C(103813008),        // SHADD8
     786             :     UINT64_C(103812912),        // SHASX
     787             :     UINT64_C(103812944),        // SHSAX
     788             :     UINT64_C(103812976),        // SHSUB16
     789             :     UINT64_C(103813104),        // SHSUB8
     790             :     UINT64_C(23068784), // SMC
     791             :     UINT64_C(16777344), // SMLABB
     792             :     UINT64_C(16777408), // SMLABT
     793             :     UINT64_C(117440528),        // SMLAD
     794             :     UINT64_C(117440560),        // SMLADX
     795             :     UINT64_C(14680208), // SMLAL
     796             :     UINT64_C(20971648), // SMLALBB
     797             :     UINT64_C(20971712), // SMLALBT
     798             :     UINT64_C(121634832),        // SMLALD
     799             :     UINT64_C(121634864),        // SMLALDX
     800             :     UINT64_C(20971680), // SMLALTB
     801             :     UINT64_C(20971744), // SMLALTT
     802             :     UINT64_C(16777376), // SMLATB
     803             :     UINT64_C(16777440), // SMLATT
     804             :     UINT64_C(18874496), // SMLAWB
     805             :     UINT64_C(18874560), // SMLAWT
     806             :     UINT64_C(117440592),        // SMLSD
     807             :     UINT64_C(117440624),        // SMLSDX
     808             :     UINT64_C(121634896),        // SMLSLD
     809             :     UINT64_C(121634928),        // SMLSLDX
     810             :     UINT64_C(122683408),        // SMMLA
     811             :     UINT64_C(122683440),        // SMMLAR
     812             :     UINT64_C(122683600),        // SMMLS
     813             :     UINT64_C(122683632),        // SMMLSR
     814             :     UINT64_C(122744848),        // SMMUL
     815             :     UINT64_C(122744880),        // SMMULR
     816             :     UINT64_C(117501968),        // SMUAD
     817             :     UINT64_C(117502000),        // SMUADX
     818             :     UINT64_C(23068800), // SMULBB
     819             :     UINT64_C(23068864), // SMULBT
     820             :     UINT64_C(12583056), // SMULL
     821             :     UINT64_C(23068832), // SMULTB
     822             :     UINT64_C(23068896), // SMULTT
     823             :     UINT64_C(18874528), // SMULWB
     824             :     UINT64_C(18874592), // SMULWT
     825             :     UINT64_C(117502032),        // SMUSD
     826             :     UINT64_C(117502064),        // SMUSDX
     827             :     UINT64_C(4165797120),       // SRSDA
     828             :     UINT64_C(4167894272),       // SRSDA_UPD
     829             :     UINT64_C(4182574336),       // SRSDB
     830             :     UINT64_C(4184671488),       // SRSDB_UPD
     831             :     UINT64_C(4174185728),       // SRSIA
     832             :     UINT64_C(4176282880),       // SRSIA_UPD
     833             :     UINT64_C(4190962944),       // SRSIB
     834             :     UINT64_C(4193060096),       // SRSIB_UPD
     835             :     UINT64_C(111149072),        // SSAT
     836             :     UINT64_C(111152944),        // SSAT16
     837             :     UINT64_C(101715792),        // SSAX
     838             :     UINT64_C(101715824),        // SSUB16
     839             :     UINT64_C(101715952),        // SSUB8
     840             :     UINT64_C(4248829952),       // STC2L_OFFSET
     841             :     UINT64_C(4240441344),       // STC2L_OPTION
     842             :     UINT64_C(4234149888),       // STC2L_POST
     843             :     UINT64_C(4250927104),       // STC2L_PRE
     844             :     UINT64_C(4244635648),       // STC2_OFFSET
     845             :     UINT64_C(4236247040),       // STC2_OPTION
     846             :     UINT64_C(4229955584),       // STC2_POST
     847             :     UINT64_C(4246732800),       // STC2_PRE
     848             :     UINT64_C(222298112),        // STCL_OFFSET
     849             :     UINT64_C(213909504),        // STCL_OPTION
     850             :     UINT64_C(207618048),        // STCL_POST
     851             :     UINT64_C(224395264),        // STCL_PRE
     852             :     UINT64_C(218103808),        // STC_OFFSET
     853             :     UINT64_C(209715200),        // STC_OPTION
     854             :     UINT64_C(203423744),        // STC_POST
     855             :     UINT64_C(220200960),        // STC_PRE
     856             :     UINT64_C(25230480), // STL
     857             :     UINT64_C(29424784), // STLB
     858             :     UINT64_C(25169552), // STLEX
     859             :     UINT64_C(29363856), // STLEXB
     860             :     UINT64_C(27266704), // STLEXD
     861             :     UINT64_C(31461008), // STLEXH
     862             :     UINT64_C(31521936), // STLH
     863             :     UINT64_C(134217728),        // STMDA
     864             :     UINT64_C(136314880),        // STMDA_UPD
     865             :     UINT64_C(150994944),        // STMDB
     866             :     UINT64_C(153092096),        // STMDB_UPD
     867             :     UINT64_C(142606336),        // STMIA
     868             :     UINT64_C(144703488),        // STMIA_UPD
     869             :     UINT64_C(159383552),        // STMIB
     870             :     UINT64_C(161480704),        // STMIB_UPD
     871             :     UINT64_C(73400320), // STRBT_POST_IMM
     872             :     UINT64_C(106954752),        // STRBT_POST_REG
     873             :     UINT64_C(71303168), // STRB_POST_IMM
     874             :     UINT64_C(104857600),        // STRB_POST_REG
     875             :     UINT64_C(90177536), // STRB_PRE_IMM
     876             :     UINT64_C(123731968),        // STRB_PRE_REG
     877             :     UINT64_C(88080384), // STRBi12
     878             :     UINT64_C(121634816),        // STRBrs
     879             :     UINT64_C(16777456), // STRD
     880             :     UINT64_C(240),      // STRD_POST
     881             :     UINT64_C(18874608), // STRD_PRE
     882             :     UINT64_C(25169808), // STREX
     883             :     UINT64_C(29364112), // STREXB
     884             :     UINT64_C(27266960), // STREXD
     885             :     UINT64_C(31461264), // STREXH
     886             :     UINT64_C(16777392), // STRH
     887             :     UINT64_C(6291632),  // STRHTi
     888             :     UINT64_C(2097328),  // STRHTr
     889             :     UINT64_C(176),      // STRH_POST
     890             :     UINT64_C(18874544), // STRH_PRE
     891             :     UINT64_C(69206016), // STRT_POST_IMM
     892             :     UINT64_C(102760448),        // STRT_POST_REG
     893             :     UINT64_C(67108864), // STR_POST_IMM
     894             :     UINT64_C(100663296),        // STR_POST_REG
     895             :     UINT64_C(85983232), // STR_PRE_IMM
     896             :     UINT64_C(119537664),        // STR_PRE_REG
     897             :     UINT64_C(83886080), // STRi12
     898             :     UINT64_C(117440512),        // STRrs
     899             :     UINT64_C(37748736), // SUBri
     900             :     UINT64_C(4194304),  // SUBrr
     901             :     UINT64_C(4194304),  // SUBrsi
     902             :     UINT64_C(4194320),  // SUBrsr
     903             :     UINT64_C(251658240),        // SVC
     904             :     UINT64_C(16777360), // SWP
     905             :     UINT64_C(20971664), // SWPB
     906             :     UINT64_C(111149168),        // SXTAB
     907             :     UINT64_C(109052016),        // SXTAB16
     908             :     UINT64_C(112197744),        // SXTAH
     909             :     UINT64_C(112132208),        // SXTB
     910             :     UINT64_C(110035056),        // SXTB16
     911             :     UINT64_C(113180784),        // SXTH
     912             :     UINT64_C(53477376), // TEQri
     913             :     UINT64_C(19922944), // TEQrr
     914             :     UINT64_C(19922944), // TEQrsi
     915             :     UINT64_C(19922960), // TEQrsr
     916             :     UINT64_C(3892305662),       // TRAP
     917             :     UINT64_C(3892240112),       // TRAPNaCl
     918             :     UINT64_C(51380224), // TSTri
     919             :     UINT64_C(17825792), // TSTrr
     920             :     UINT64_C(17825792), // TSTrsi
     921             :     UINT64_C(17825808), // TSTrsr
     922             :     UINT64_C(105910032),        // UADD16
     923             :     UINT64_C(105910160),        // UADD8
     924             :     UINT64_C(105910064),        // UASX
     925             :     UINT64_C(132120656),        // UBFX
     926             :     UINT64_C(3891265776),       // UDF
     927             :     UINT64_C(120647696),        // UDIV
     928             :     UINT64_C(108007184),        // UHADD16
     929             :     UINT64_C(108007312),        // UHADD8
     930             :     UINT64_C(108007216),        // UHASX
     931             :     UINT64_C(108007248),        // UHSAX
     932             :     UINT64_C(108007280),        // UHSUB16
     933             :     UINT64_C(108007408),        // UHSUB8
     934             :     UINT64_C(4194448),  // UMAAL
     935             :     UINT64_C(10485904), // UMLAL
     936             :     UINT64_C(8388752),  // UMULL
     937             :     UINT64_C(106958608),        // UQADD16
     938             :     UINT64_C(106958736),        // UQADD8
     939             :     UINT64_C(106958640),        // UQASX
     940             :     UINT64_C(106958672),        // UQSAX
     941             :     UINT64_C(106958704),        // UQSUB16
     942             :     UINT64_C(106958832),        // UQSUB8
     943             :     UINT64_C(125890576),        // USAD8
     944             :     UINT64_C(125829136),        // USADA8
     945             :     UINT64_C(115343376),        // USAT
     946             :     UINT64_C(115347248),        // USAT16
     947             :     UINT64_C(105910096),        // USAX
     948             :     UINT64_C(105910128),        // USUB16
     949             :     UINT64_C(105910256),        // USUB8
     950             :     UINT64_C(115343472),        // UXTAB
     951             :     UINT64_C(113246320),        // UXTAB16
     952             :     UINT64_C(116392048),        // UXTAH
     953             :     UINT64_C(116326512),        // UXTB
     954             :     UINT64_C(114229360),        // UXTB16
     955             :     UINT64_C(117375088),        // UXTH
     956             :     UINT64_C(4070573312),       // VABALsv2i64
     957             :     UINT64_C(4069524736),       // VABALsv4i32
     958             :     UINT64_C(4068476160),       // VABALsv8i16
     959             :     UINT64_C(4087350528),       // VABALuv2i64
     960             :     UINT64_C(4086301952),       // VABALuv4i32
     961             :     UINT64_C(4085253376),       // VABALuv8i16
     962             :     UINT64_C(4060088144),       // VABAsv16i8
     963             :     UINT64_C(4062185232),       // VABAsv2i32
     964             :     UINT64_C(4061136656),       // VABAsv4i16
     965             :     UINT64_C(4062185296),       // VABAsv4i32
     966             :     UINT64_C(4061136720),       // VABAsv8i16
     967             :     UINT64_C(4060088080),       // VABAsv8i8
     968             :     UINT64_C(4076865360),       // VABAuv16i8
     969             :     UINT64_C(4078962448),       // VABAuv2i32
     970             :     UINT64_C(4077913872),       // VABAuv4i16
     971             :     UINT64_C(4078962512),       // VABAuv4i32
     972             :     UINT64_C(4077913936),       // VABAuv8i16
     973             :     UINT64_C(4076865296),       // VABAuv8i8
     974             :     UINT64_C(4070573824),       // VABDLsv2i64
     975             :     UINT64_C(4069525248),       // VABDLsv4i32
     976             :     UINT64_C(4068476672),       // VABDLsv8i16
     977             :     UINT64_C(4087351040),       // VABDLuv2i64
     978             :     UINT64_C(4086302464),       // VABDLuv4i32
     979             :     UINT64_C(4085253888),       // VABDLuv8i16
     980             :     UINT64_C(4078963968),       // VABDfd
     981             :     UINT64_C(4078964032),       // VABDfq
     982             :     UINT64_C(4080012544),       // VABDhd
     983             :     UINT64_C(4080012608),       // VABDhq
     984             :     UINT64_C(4060088128),       // VABDsv16i8
     985             :     UINT64_C(4062185216),       // VABDsv2i32
     986             :     UINT64_C(4061136640),       // VABDsv4i16
     987             :     UINT64_C(4062185280),       // VABDsv4i32
     988             :     UINT64_C(4061136704),       // VABDsv8i16
     989             :     UINT64_C(4060088064),       // VABDsv8i8
     990             :     UINT64_C(4076865344),       // VABDuv16i8
     991             :     UINT64_C(4078962432),       // VABDuv2i32
     992             :     UINT64_C(4077913856),       // VABDuv4i16
     993             :     UINT64_C(4078962496),       // VABDuv4i32
     994             :     UINT64_C(4077913920),       // VABDuv8i16
     995             :     UINT64_C(4076865280),       // VABDuv8i8
     996             :     UINT64_C(246418368),        // VABSD
     997             :     UINT64_C(246417856),        // VABSH
     998             :     UINT64_C(246418112),        // VABSS
     999             :     UINT64_C(4088989440),       // VABSfd
    1000             :     UINT64_C(4088989504),       // VABSfq
    1001             :     UINT64_C(4088727296),       // VABShd
    1002             :     UINT64_C(4088727360),       // VABShq
    1003             :     UINT64_C(4088464192),       // VABSv16i8
    1004             :     UINT64_C(4088988416),       // VABSv2i32
    1005             :     UINT64_C(4088726272),       // VABSv4i16
    1006             :     UINT64_C(4088988480),       // VABSv4i32
    1007             :     UINT64_C(4088726336),       // VABSv8i16
    1008             :     UINT64_C(4088464128),       // VABSv8i8
    1009             :     UINT64_C(4076867088),       // VACGEfd
    1010             :     UINT64_C(4076867152),       // VACGEfq
    1011             :     UINT64_C(4077915664),       // VACGEhd
    1012             :     UINT64_C(4077915728),       // VACGEhq
    1013             :     UINT64_C(4078964240),       // VACGTfd
    1014             :     UINT64_C(4078964304),       // VACGTfq
    1015             :     UINT64_C(4080012816),       // VACGThd
    1016             :     UINT64_C(4080012880),       // VACGThq
    1017             :     UINT64_C(238029568),        // VADDD
    1018             :     UINT64_C(238029056),        // VADDH
    1019             :     UINT64_C(4070573056),       // VADDHNv2i32
    1020             :     UINT64_C(4069524480),       // VADDHNv4i16
    1021             :     UINT64_C(4068475904),       // VADDHNv8i8
    1022             :     UINT64_C(4070572032),       // VADDLsv2i64
    1023             :     UINT64_C(4069523456),       // VADDLsv4i32
    1024             :     UINT64_C(4068474880),       // VADDLsv8i16
    1025             :     UINT64_C(4087349248),       // VADDLuv2i64
    1026             :     UINT64_C(4086300672),       // VADDLuv4i32
    1027             :     UINT64_C(4085252096),       // VADDLuv8i16
    1028             :     UINT64_C(238029312),        // VADDS
    1029             :     UINT64_C(4070572288),       // VADDWsv2i64
    1030             :     UINT64_C(4069523712),       // VADDWsv4i32
    1031             :     UINT64_C(4068475136),       // VADDWsv8i16
    1032             :     UINT64_C(4087349504),       // VADDWuv2i64
    1033             :     UINT64_C(4086300928),       // VADDWuv4i32
    1034             :     UINT64_C(4085252352),       // VADDWuv8i16
    1035             :     UINT64_C(4060089600),       // VADDfd
    1036             :     UINT64_C(4060089664),       // VADDfq
    1037             :     UINT64_C(4061138176),       // VADDhd
    1038             :     UINT64_C(4061138240),       // VADDhq
    1039             :     UINT64_C(4060088384),       // VADDv16i8
    1040             :     UINT64_C(4063234048),       // VADDv1i64
    1041             :     UINT64_C(4062185472),       // VADDv2i32
    1042             :     UINT64_C(4063234112),       // VADDv2i64
    1043             :     UINT64_C(4061136896),       // VADDv4i16
    1044             :     UINT64_C(4062185536),       // VADDv4i32
    1045             :     UINT64_C(4061136960),       // VADDv8i16
    1046             :     UINT64_C(4060088320),       // VADDv8i8
    1047             :     UINT64_C(4060086544),       // VANDd
    1048             :     UINT64_C(4060086608),       // VANDq
    1049             :     UINT64_C(4061135120),       // VBICd
    1050             :     UINT64_C(4068475184),       // VBICiv2i32
    1051             :     UINT64_C(4068477232),       // VBICiv4i16
    1052             :     UINT64_C(4068475248),       // VBICiv4i32
    1053             :     UINT64_C(4068477296),       // VBICiv8i16
    1054             :     UINT64_C(4061135184),       // VBICq
    1055             :     UINT64_C(4080009488),       // VBIFd
    1056             :     UINT64_C(4080009552),       // VBIFq
    1057             :     UINT64_C(4078960912),       // VBITd
    1058             :     UINT64_C(4078960976),       // VBITq
    1059             :     UINT64_C(4077912336),       // VBSLd
    1060             :     UINT64_C(4077912400),       // VBSLq
    1061             :     UINT64_C(4237297664),       // VCADDv2f32
    1062             :     UINT64_C(4236249088),       // VCADDv4f16
    1063             :     UINT64_C(4237297728),       // VCADDv4f32
    1064             :     UINT64_C(4236249152),       // VCADDv8f16
    1065             :     UINT64_C(4060089856),       // VCEQfd
    1066             :     UINT64_C(4060089920),       // VCEQfq
    1067             :     UINT64_C(4061138432),       // VCEQhd
    1068             :     UINT64_C(4061138496),       // VCEQhq
    1069             :     UINT64_C(4076865616),       // VCEQv16i8
    1070             :     UINT64_C(4078962704),       // VCEQv2i32
    1071             :     UINT64_C(4077914128),       // VCEQv4i16
    1072             :     UINT64_C(4078962768),       // VCEQv4i32
    1073             :     UINT64_C(4077914192),       // VCEQv8i16
    1074             :     UINT64_C(4076865552),       // VCEQv8i8
    1075             :     UINT64_C(4088463680),       // VCEQzv16i8
    1076             :     UINT64_C(4088988928),       // VCEQzv2f32
    1077             :     UINT64_C(4088987904),       // VCEQzv2i32
    1078             :     UINT64_C(4088726784),       // VCEQzv4f16
    1079             :     UINT64_C(4088988992),       // VCEQzv4f32
    1080             :     UINT64_C(4088725760),       // VCEQzv4i16
    1081             :     UINT64_C(4088987968),       // VCEQzv4i32
    1082             :     UINT64_C(4088726848),       // VCEQzv8f16
    1083             :     UINT64_C(4088725824),       // VCEQzv8i16
    1084             :     UINT64_C(4088463616),       // VCEQzv8i8
    1085             :     UINT64_C(4076867072),       // VCGEfd
    1086             :     UINT64_C(4076867136),       // VCGEfq
    1087             :     UINT64_C(4077915648),       // VCGEhd
    1088             :     UINT64_C(4077915712),       // VCGEhq
    1089             :     UINT64_C(4060087120),       // VCGEsv16i8
    1090             :     UINT64_C(4062184208),       // VCGEsv2i32
    1091             :     UINT64_C(4061135632),       // VCGEsv4i16
    1092             :     UINT64_C(4062184272),       // VCGEsv4i32
    1093             :     UINT64_C(4061135696),       // VCGEsv8i16
    1094             :     UINT64_C(4060087056),       // VCGEsv8i8
    1095             :     UINT64_C(4076864336),       // VCGEuv16i8
    1096             :     UINT64_C(4078961424),       // VCGEuv2i32
    1097             :     UINT64_C(4077912848),       // VCGEuv4i16
    1098             :     UINT64_C(4078961488),       // VCGEuv4i32
    1099             :     UINT64_C(4077912912),       // VCGEuv8i16
    1100             :     UINT64_C(4076864272),       // VCGEuv8i8
    1101             :     UINT64_C(4088463552),       // VCGEzv16i8
    1102             :     UINT64_C(4088988800),       // VCGEzv2f32
    1103             :     UINT64_C(4088987776),       // VCGEzv2i32
    1104             :     UINT64_C(4088726656),       // VCGEzv4f16
    1105             :     UINT64_C(4088988864),       // VCGEzv4f32
    1106             :     UINT64_C(4088725632),       // VCGEzv4i16
    1107             :     UINT64_C(4088987840),       // VCGEzv4i32
    1108             :     UINT64_C(4088726720),       // VCGEzv8f16
    1109             :     UINT64_C(4088725696),       // VCGEzv8i16
    1110             :     UINT64_C(4088463488),       // VCGEzv8i8
    1111             :     UINT64_C(4078964224),       // VCGTfd
    1112             :     UINT64_C(4078964288),       // VCGTfq
    1113             :     UINT64_C(4080012800),       // VCGThd
    1114             :     UINT64_C(4080012864),       // VCGThq
    1115             :     UINT64_C(4060087104),       // VCGTsv16i8
    1116             :     UINT64_C(4062184192),       // VCGTsv2i32
    1117             :     UINT64_C(4061135616),       // VCGTsv4i16
    1118             :     UINT64_C(4062184256),       // VCGTsv4i32
    1119             :     UINT64_C(4061135680),       // VCGTsv8i16
    1120             :     UINT64_C(4060087040),       // VCGTsv8i8
    1121             :     UINT64_C(4076864320),       // VCGTuv16i8
    1122             :     UINT64_C(4078961408),       // VCGTuv2i32
    1123             :     UINT64_C(4077912832),       // VCGTuv4i16
    1124             :     UINT64_C(4078961472),       // VCGTuv4i32
    1125             :     UINT64_C(4077912896),       // VCGTuv8i16
    1126             :     UINT64_C(4076864256),       // VCGTuv8i8
    1127             :     UINT64_C(4088463424),       // VCGTzv16i8
    1128             :     UINT64_C(4088988672),       // VCGTzv2f32
    1129             :     UINT64_C(4088987648),       // VCGTzv2i32
    1130             :     UINT64_C(4088726528),       // VCGTzv4f16
    1131             :     UINT64_C(4088988736),       // VCGTzv4f32
    1132             :     UINT64_C(4088725504),       // VCGTzv4i16
    1133             :     UINT64_C(4088987712),       // VCGTzv4i32
    1134             :     UINT64_C(4088726592),       // VCGTzv8f16
    1135             :     UINT64_C(4088725568),       // VCGTzv8i16
    1136             :     UINT64_C(4088463360),       // VCGTzv8i8
    1137             :     UINT64_C(4088463808),       // VCLEzv16i8
    1138             :     UINT64_C(4088989056),       // VCLEzv2f32
    1139             :     UINT64_C(4088988032),       // VCLEzv2i32
    1140             :     UINT64_C(4088726912),       // VCLEzv4f16
    1141             :     UINT64_C(4088989120),       // VCLEzv4f32
    1142             :     UINT64_C(4088725888),       // VCLEzv4i16
    1143             :     UINT64_C(4088988096),       // VCLEzv4i32
    1144             :     UINT64_C(4088726976),       // VCLEzv8f16
    1145             :     UINT64_C(4088725952),       // VCLEzv8i16
    1146             :     UINT64_C(4088463744),       // VCLEzv8i8
    1147             :     UINT64_C(4088398912),       // VCLSv16i8
    1148             :     UINT64_C(4088923136),       // VCLSv2i32
    1149             :     UINT64_C(4088660992),       // VCLSv4i16
    1150             :     UINT64_C(4088923200),       // VCLSv4i32
    1151             :     UINT64_C(4088661056),       // VCLSv8i16
    1152             :     UINT64_C(4088398848),       // VCLSv8i8
    1153             :     UINT64_C(4088463936),       // VCLTzv16i8
    1154             :     UINT64_C(4088989184),       // VCLTzv2f32
    1155             :     UINT64_C(4088988160),       // VCLTzv2i32
    1156             :     UINT64_C(4088727040),       // VCLTzv4f16
    1157             :     UINT64_C(4088989248),       // VCLTzv4f32
    1158             :     UINT64_C(4088726016),       // VCLTzv4i16
    1159             :     UINT64_C(4088988224),       // VCLTzv4i32
    1160             :     UINT64_C(4088727104),       // VCLTzv8f16
    1161             :     UINT64_C(4088726080),       // VCLTzv8i16
    1162             :     UINT64_C(4088463872),       // VCLTzv8i8
    1163             :     UINT64_C(4088399040),       // VCLZv16i8
    1164             :     UINT64_C(4088923264),       // VCLZv2i32
    1165             :     UINT64_C(4088661120),       // VCLZv4i16
    1166             :     UINT64_C(4088923328),       // VCLZv4i32
    1167             :     UINT64_C(4088661184),       // VCLZv8i16
    1168             :     UINT64_C(4088398976),       // VCLZv8i8
    1169             :     UINT64_C(4231006208),       // VCMLAv2f32
    1170             :     UINT64_C(4269803520),       // VCMLAv2f32_indexed
    1171             :     UINT64_C(4229957632),       // VCMLAv4f16
    1172             :     UINT64_C(4261414912),       // VCMLAv4f16_indexed
    1173             :     UINT64_C(4231006272),       // VCMLAv4f32
    1174             :     UINT64_C(4269803584),       // VCMLAv4f32_indexed
    1175             :     UINT64_C(4229957696),       // VCMLAv8f16
    1176             :     UINT64_C(4261414976),       // VCMLAv8f16_indexed
    1177             :     UINT64_C(246680384),        // VCMPD
    1178             :     UINT64_C(246680512),        // VCMPED
    1179             :     UINT64_C(246680000),        // VCMPEH
    1180             :     UINT64_C(246680256),        // VCMPES
    1181             :     UINT64_C(246746048),        // VCMPEZD
    1182             :     UINT64_C(246745536),        // VCMPEZH
    1183             :     UINT64_C(246745792),        // VCMPEZS
    1184             :     UINT64_C(246679872),        // VCMPH
    1185             :     UINT64_C(246680128),        // VCMPS
    1186             :     UINT64_C(246745920),        // VCMPZD
    1187             :     UINT64_C(246745408),        // VCMPZH
    1188             :     UINT64_C(246745664),        // VCMPZS
    1189             :     UINT64_C(4088399104),       // VCNTd
    1190             :     UINT64_C(4088399168),       // VCNTq
    1191             :     UINT64_C(4089118720),       // VCVTANSDf
    1192             :     UINT64_C(4088856576),       // VCVTANSDh
    1193             :     UINT64_C(4089118784),       // VCVTANSQf
    1194             :     UINT64_C(4088856640),       // VCVTANSQh
    1195             :     UINT64_C(4089118848),       // VCVTANUDf
    1196             :     UINT64_C(4088856704),       // VCVTANUDh
    1197             :     UINT64_C(4089118912),       // VCVTANUQf
    1198             :     UINT64_C(4088856768),       // VCVTANUQh
    1199             :     UINT64_C(4273736640),       // VCVTASD
    1200             :     UINT64_C(4273736128),       // VCVTASH
    1201             :     UINT64_C(4273736384),       // VCVTASS
    1202             :     UINT64_C(4273736512),       // VCVTAUD
    1203             :     UINT64_C(4273736000),       // VCVTAUH
    1204             :     UINT64_C(4273736256),       // VCVTAUS
    1205             :     UINT64_C(246614848),        // VCVTBDH
    1206             :     UINT64_C(246549312),        // VCVTBHD
    1207             :     UINT64_C(246549056),        // VCVTBHS
    1208             :     UINT64_C(246614592),        // VCVTBSH
    1209             :     UINT64_C(246876864),        // VCVTDS
    1210             :     UINT64_C(4089119488),       // VCVTMNSDf
    1211             :     UINT64_C(4088857344),       // VCVTMNSDh
    1212             :     UINT64_C(4089119552),       // VCVTMNSQf
    1213             :     UINT64_C(4088857408),       // VCVTMNSQh
    1214             :     UINT64_C(4089119616),       // VCVTMNUDf
    1215             :     UINT64_C(4088857472),       // VCVTMNUDh
    1216             :     UINT64_C(4089119680),       // VCVTMNUQf
    1217             :     UINT64_C(4088857536),       // VCVTMNUQh
    1218             :     UINT64_C(4273933248),       // VCVTMSD
    1219             :     UINT64_C(4273932736),       // VCVTMSH
    1220             :     UINT64_C(4273932992),       // VCVTMSS
    1221             :     UINT64_C(4273933120),       // VCVTMUD
    1222             :     UINT64_C(4273932608),       // VCVTMUH
    1223             :     UINT64_C(4273932864),       // VCVTMUS
    1224             :     UINT64_C(4089118976),       // VCVTNNSDf
    1225             :     UINT64_C(4088856832),       // VCVTNNSDh
    1226             :     UINT64_C(4089119040),       // VCVTNNSQf
    1227             :     UINT64_C(4088856896),       // VCVTNNSQh
    1228             :     UINT64_C(4089119104),       // VCVTNNUDf
    1229             :     UINT64_C(4088856960),       // VCVTNNUDh
    1230             :     UINT64_C(4089119168),       // VCVTNNUQf
    1231             :     UINT64_C(4088857024),       // VCVTNNUQh
    1232             :     UINT64_C(4273802176),       // VCVTNSD
    1233             :     UINT64_C(4273801664),       // VCVTNSH
    1234             :     UINT64_C(4273801920),       // VCVTNSS
    1235             :     UINT64_C(4273802048),       // VCVTNUD
    1236             :     UINT64_C(4273801536),       // VCVTNUH
    1237             :     UINT64_C(4273801792),       // VCVTNUS
    1238             :     UINT64_C(4089119232),       // VCVTPNSDf
    1239             :     UINT64_C(4088857088),       // VCVTPNSDh
    1240             :     UINT64_C(4089119296),       // VCVTPNSQf
    1241             :     UINT64_C(4088857152),       // VCVTPNSQh
    1242             :     UINT64_C(4089119360),       // VCVTPNUDf
    1243             :     UINT64_C(4088857216),       // VCVTPNUDh
    1244             :     UINT64_C(4089119424),       // VCVTPNUQf
    1245             :     UINT64_C(4088857280),       // VCVTPNUQh
    1246             :     UINT64_C(4273867712),       // VCVTPSD
    1247             :     UINT64_C(4273867200),       // VCVTPSH
    1248             :     UINT64_C(4273867456),       // VCVTPSS
    1249             :     UINT64_C(4273867584),       // VCVTPUD
    1250             :     UINT64_C(4273867072),       // VCVTPUH
    1251             :     UINT64_C(4273867328),       // VCVTPUS
    1252             :     UINT64_C(246877120),        // VCVTSD
    1253             :     UINT64_C(246614976),        // VCVTTDH
    1254             :     UINT64_C(246549440),        // VCVTTHD
    1255             :     UINT64_C(246549184),        // VCVTTHS
    1256             :     UINT64_C(246614720),        // VCVTTSH
    1257             :     UINT64_C(4088792576),       // VCVTf2h
    1258             :     UINT64_C(4089120512),       // VCVTf2sd
    1259             :     UINT64_C(4089120576),       // VCVTf2sq
    1260             :     UINT64_C(4089120640),       // VCVTf2ud
    1261             :     UINT64_C(4089120704),       // VCVTf2uq
    1262             :     UINT64_C(4068478736),       // VCVTf2xsd
    1263             :     UINT64_C(4068478800),       // VCVTf2xsq
    1264             :     UINT64_C(4085255952),       // VCVTf2xud
    1265             :     UINT64_C(4085256016),       // VCVTf2xuq
    1266             :     UINT64_C(4088792832),       // VCVTh2f
    1267             :     UINT64_C(4088858368),       // VCVTh2sd
    1268             :     UINT64_C(4088858432),       // VCVTh2sq
    1269             :     UINT64_C(4088858496),       // VCVTh2ud
    1270             :     UINT64_C(4088858560),       // VCVTh2uq
    1271             :     UINT64_C(4068478224),       // VCVTh2xsd
    1272             :     UINT64_C(4068478288),       // VCVTh2xsq
    1273             :     UINT64_C(4085255440),       // VCVTh2xud
    1274             :     UINT64_C(4085255504),       // VCVTh2xuq
    1275             :     UINT64_C(4089120256),       // VCVTs2fd
    1276             :     UINT64_C(4089120320),       // VCVTs2fq
    1277             :     UINT64_C(4088858112),       // VCVTs2hd
    1278             :     UINT64_C(4088858176),       // VCVTs2hq
    1279             :     UINT64_C(4089120384),       // VCVTu2fd
    1280             :     UINT64_C(4089120448),       // VCVTu2fq
    1281             :     UINT64_C(4088858240),       // VCVTu2hd
    1282             :     UINT64_C(4088858304),       // VCVTu2hq
    1283             :     UINT64_C(4068478480),       // VCVTxs2fd
    1284             :     UINT64_C(4068478544),       // VCVTxs2fq
    1285             :     UINT64_C(4068477968),       // VCVTxs2hd
    1286             :     UINT64_C(4068478032),       // VCVTxs2hq
    1287             :     UINT64_C(4085255696),       // VCVTxu2fd
    1288             :     UINT64_C(4085255760),       // VCVTxu2fq
    1289             :     UINT64_C(4085255184),       // VCVTxu2hd
    1290             :     UINT64_C(4085255248),       // VCVTxu2hq
    1291             :     UINT64_C(243272448),        // VDIVD
    1292             :     UINT64_C(243271936),        // VDIVH
    1293             :     UINT64_C(243272192),        // VDIVS
    1294             :     UINT64_C(243272496),        // VDUP16d
    1295             :     UINT64_C(245369648),        // VDUP16q
    1296             :     UINT64_C(243272464),        // VDUP32d
    1297             :     UINT64_C(245369616),        // VDUP32q
    1298             :     UINT64_C(247466768),        // VDUP8d
    1299             :     UINT64_C(249563920),        // VDUP8q
    1300             :     UINT64_C(4088531968),       // VDUPLN16d
    1301             :     UINT64_C(4088532032),       // VDUPLN16q
    1302             :     UINT64_C(4088663040),       // VDUPLN32d
    1303             :     UINT64_C(4088663104),       // VDUPLN32q
    1304             :     UINT64_C(4088466432),       // VDUPLN8d
    1305             :     UINT64_C(4088466496),       // VDUPLN8q
    1306             :     UINT64_C(4076863760),       // VEORd
    1307             :     UINT64_C(4076863824),       // VEORq
    1308             :     UINT64_C(4071620608),       // VEXTd16
    1309             :     UINT64_C(4071620608),       // VEXTd32
    1310             :     UINT64_C(4071620608),       // VEXTd8
    1311             :     UINT64_C(4071620672),       // VEXTq16
    1312             :     UINT64_C(4071620672),       // VEXTq32
    1313             :     UINT64_C(4071620672),       // VEXTq64
    1314             :     UINT64_C(4071620672),       // VEXTq8
    1315             :     UINT64_C(245369600),        // VFMAD
    1316             :     UINT64_C(245369088),        // VFMAH
    1317             :     UINT64_C(245369344),        // VFMAS
    1318             :     UINT64_C(4060089360),       // VFMAfd
    1319             :     UINT64_C(4060089424),       // VFMAfq
    1320             :     UINT64_C(4061137936),       // VFMAhd
    1321             :     UINT64_C(4061138000),       // VFMAhq
    1322             :     UINT64_C(245369664),        // VFMSD
    1323             :     UINT64_C(245369152),        // VFMSH
    1324             :     UINT64_C(245369408),        // VFMSS
    1325             :     UINT64_C(4062186512),       // VFMSfd
    1326             :     UINT64_C(4062186576),       // VFMSfq
    1327             :     UINT64_C(4063235088),       // VFMShd
    1328             :     UINT64_C(4063235152),       // VFMShq
    1329             :     UINT64_C(244321088),        // VFNMAD
    1330             :     UINT64_C(244320576),        // VFNMAH
    1331             :     UINT64_C(244320832),        // VFNMAS
    1332             :     UINT64_C(244321024),        // VFNMSD
    1333             :     UINT64_C(244320512),        // VFNMSH
    1334             :     UINT64_C(244320768),        // VFNMSS
    1335             :     UINT64_C(235932432),        // VGETLNi32
    1336             :     UINT64_C(235932464),        // VGETLNs16
    1337             :     UINT64_C(240126736),        // VGETLNs8
    1338             :     UINT64_C(244321072),        // VGETLNu16
    1339             :     UINT64_C(248515344),        // VGETLNu8
    1340             :     UINT64_C(4060086336),       // VHADDsv16i8
    1341             :     UINT64_C(4062183424),       // VHADDsv2i32
    1342             :     UINT64_C(4061134848),       // VHADDsv4i16
    1343             :     UINT64_C(4062183488),       // VHADDsv4i32
    1344             :     UINT64_C(4061134912),       // VHADDsv8i16
    1345             :     UINT64_C(4060086272),       // VHADDsv8i8
    1346             :     UINT64_C(4076863552),       // VHADDuv16i8
    1347             :     UINT64_C(4078960640),       // VHADDuv2i32
    1348             :     UINT64_C(4077912064),       // VHADDuv4i16
    1349             :     UINT64_C(4078960704),       // VHADDuv4i32
    1350             :     UINT64_C(4077912128),       // VHADDuv8i16
    1351             :     UINT64_C(4076863488),       // VHADDuv8i8
    1352             :     UINT64_C(4060086848),       // VHSUBsv16i8
    1353             :     UINT64_C(4062183936),       // VHSUBsv2i32
    1354             :     UINT64_C(4061135360),       // VHSUBsv4i16
    1355             :     UINT64_C(4062184000),       // VHSUBsv4i32
    1356             :     UINT64_C(4061135424),       // VHSUBsv8i16
    1357             :     UINT64_C(4060086784),       // VHSUBsv8i8
    1358             :     UINT64_C(4076864064),       // VHSUBuv16i8
    1359             :     UINT64_C(4078961152),       // VHSUBuv2i32
    1360             :     UINT64_C(4077912576),       // VHSUBuv4i16
    1361             :     UINT64_C(4078961216),       // VHSUBuv4i32
    1362             :     UINT64_C(4077912640),       // VHSUBuv8i16
    1363             :     UINT64_C(4076864000),       // VHSUBuv8i8
    1364             :     UINT64_C(4272949952),       // VINSH
    1365             :     UINT64_C(247008192),        // VJCVT
    1366             :     UINT64_C(4104129615),       // VLD1DUPd16
    1367             :     UINT64_C(4104129613),       // VLD1DUPd16wb_fixed
    1368             :     UINT64_C(4104129600),       // VLD1DUPd16wb_register
    1369             :     UINT64_C(4104129679),       // VLD1DUPd32
    1370             :     UINT64_C(4104129677),       // VLD1DUPd32wb_fixed
    1371             :     UINT64_C(4104129664),       // VLD1DUPd32wb_register
    1372             :     UINT64_C(4104129551),       // VLD1DUPd8
    1373             :     UINT64_C(4104129549),       // VLD1DUPd8wb_fixed
    1374             :     UINT64_C(4104129536),       // VLD1DUPd8wb_register
    1375             :     UINT64_C(4104129647),       // VLD1DUPq16
    1376             :     UINT64_C(4104129645),       // VLD1DUPq16wb_fixed
    1377             :     UINT64_C(4104129632),       // VLD1DUPq16wb_register
    1378             :     UINT64_C(4104129711),       // VLD1DUPq32
    1379             :     UINT64_C(4104129709),       // VLD1DUPq32wb_fixed
    1380             :     UINT64_C(4104129696),       // VLD1DUPq32wb_register
    1381             :     UINT64_C(4104129583),       // VLD1DUPq8
    1382             :     UINT64_C(4104129581),       // VLD1DUPq8wb_fixed
    1383             :     UINT64_C(4104129568),       // VLD1DUPq8wb_register
    1384             :     UINT64_C(4104127503),       // VLD1LNd16
    1385             :     UINT64_C(4104127488),       // VLD1LNd16_UPD
    1386             :     UINT64_C(4104128527),       // VLD1LNd32
    1387             :     UINT64_C(4104128512),       // VLD1LNd32_UPD
    1388             :     UINT64_C(4104126479),       // VLD1LNd8
    1389             :     UINT64_C(4104126464),       // VLD1LNd8_UPD
    1390             :     UINT64_C(0),        // VLD1LNq16Pseudo
    1391             :     UINT64_C(0),        // VLD1LNq16Pseudo_UPD
    1392             :     UINT64_C(0),        // VLD1LNq32Pseudo
    1393             :     UINT64_C(0),        // VLD1LNq32Pseudo_UPD
    1394             :     UINT64_C(0),        // VLD1LNq8Pseudo
    1395             :     UINT64_C(0),        // VLD1LNq8Pseudo_UPD
    1396             :     UINT64_C(4095739727),       // VLD1d16
    1397             :     UINT64_C(4095738447),       // VLD1d16Q
    1398             :     UINT64_C(0),        // VLD1d16QPseudo
    1399             :     UINT64_C(4095738445),       // VLD1d16Qwb_fixed
    1400             :     UINT64_C(4095738432),       // VLD1d16Qwb_register
    1401             :     UINT64_C(4095739471),       // VLD1d16T
    1402             :     UINT64_C(0),        // VLD1d16TPseudo
    1403             :     UINT64_C(4095739469),       // VLD1d16Twb_fixed
    1404             :     UINT64_C(4095739456),       // VLD1d16Twb_register
    1405             :     UINT64_C(4095739725),       // VLD1d16wb_fixed
    1406             :     UINT64_C(4095739712),       // VLD1d16wb_register
    1407             :     UINT64_C(4095739791),       // VLD1d32
    1408             :     UINT64_C(4095738511),       // VLD1d32Q
    1409             :     UINT64_C(0),        // VLD1d32QPseudo
    1410             :     UINT64_C(4095738509),       // VLD1d32Qwb_fixed
    1411             :     UINT64_C(4095738496),       // VLD1d32Qwb_register
    1412             :     UINT64_C(4095739535),       // VLD1d32T
    1413             :     UINT64_C(0),        // VLD1d32TPseudo
    1414             :     UINT64_C(4095739533),       // VLD1d32Twb_fixed
    1415             :     UINT64_C(4095739520),       // VLD1d32Twb_register
    1416             :     UINT64_C(4095739789),       // VLD1d32wb_fixed
    1417             :     UINT64_C(4095739776),       // VLD1d32wb_register
    1418             :     UINT64_C(4095739855),       // VLD1d64
    1419             :     UINT64_C(4095738575),       // VLD1d64Q
    1420             :     UINT64_C(0),        // VLD1d64QPseudo
    1421             :     UINT64_C(0),        // VLD1d64QPseudoWB_fixed
    1422             :     UINT64_C(0),        // VLD1d64QPseudoWB_register
    1423             :     UINT64_C(4095738573),       // VLD1d64Qwb_fixed
    1424             :     UINT64_C(4095738560),       // VLD1d64Qwb_register
    1425             :     UINT64_C(4095739599),       // VLD1d64T
    1426             :     UINT64_C(0),        // VLD1d64TPseudo
    1427             :     UINT64_C(0),        // VLD1d64TPseudoWB_fixed
    1428             :     UINT64_C(0),        // VLD1d64TPseudoWB_register
    1429             :     UINT64_C(4095739597),       // VLD1d64Twb_fixed
    1430             :     UINT64_C(4095739584),       // VLD1d64Twb_register
    1431             :     UINT64_C(4095739853),       // VLD1d64wb_fixed
    1432             :     UINT64_C(4095739840),       // VLD1d64wb_register
    1433             :     UINT64_C(4095739663),       // VLD1d8
    1434             :     UINT64_C(4095738383),       // VLD1d8Q
    1435             :     UINT64_C(0),        // VLD1d8QPseudo
    1436             :     UINT64_C(4095738381),       // VLD1d8Qwb_fixed
    1437             :     UINT64_C(4095738368),       // VLD1d8Qwb_register
    1438             :     UINT64_C(4095739407),       // VLD1d8T
    1439             :     UINT64_C(0),        // VLD1d8TPseudo
    1440             :     UINT64_C(4095739405),       // VLD1d8Twb_fixed
    1441             :     UINT64_C(4095739392),       // VLD1d8Twb_register
    1442             :     UINT64_C(4095739661),       // VLD1d8wb_fixed
    1443             :     UINT64_C(4095739648),       // VLD1d8wb_register
    1444             :     UINT64_C(4095740495),       // VLD1q16
    1445             :     UINT64_C(0),        // VLD1q16HighQPseudo
    1446             :     UINT64_C(0),        // VLD1q16HighTPseudo
    1447             :     UINT64_C(0),        // VLD1q16LowQPseudo_UPD
    1448             :     UINT64_C(0),        // VLD1q16LowTPseudo_UPD
    1449             :     UINT64_C(4095740493),       // VLD1q16wb_fixed
    1450             :     UINT64_C(4095740480),       // VLD1q16wb_register
    1451             :     UINT64_C(4095740559),       // VLD1q32
    1452             :     UINT64_C(0),        // VLD1q32HighQPseudo
    1453             :     UINT64_C(0),        // VLD1q32HighTPseudo
    1454             :     UINT64_C(0),        // VLD1q32LowQPseudo_UPD
    1455             :     UINT64_C(0),        // VLD1q32LowTPseudo_UPD
    1456             :     UINT64_C(4095740557),       // VLD1q32wb_fixed
    1457             :     UINT64_C(4095740544),       // VLD1q32wb_register
    1458             :     UINT64_C(4095740623),       // VLD1q64
    1459             :     UINT64_C(0),        // VLD1q64HighQPseudo
    1460             :     UINT64_C(0),        // VLD1q64HighTPseudo
    1461             :     UINT64_C(0),        // VLD1q64LowQPseudo_UPD
    1462             :     UINT64_C(0),        // VLD1q64LowTPseudo_UPD
    1463             :     UINT64_C(4095740621),       // VLD1q64wb_fixed
    1464             :     UINT64_C(4095740608),       // VLD1q64wb_register
    1465             :     UINT64_C(4095740431),       // VLD1q8
    1466             :     UINT64_C(0),        // VLD1q8HighQPseudo
    1467             :     UINT64_C(0),        // VLD1q8HighTPseudo
    1468             :     UINT64_C(0),        // VLD1q8LowQPseudo_UPD
    1469             :     UINT64_C(0),        // VLD1q8LowTPseudo_UPD
    1470             :     UINT64_C(4095740429),       // VLD1q8wb_fixed
    1471             :     UINT64_C(4095740416),       // VLD1q8wb_register
    1472             :     UINT64_C(4104129871),       // VLD2DUPd16
    1473             :     UINT64_C(4104129869),       // VLD2DUPd16wb_fixed
    1474             :     UINT64_C(4104129856),       // VLD2DUPd16wb_register
    1475             :     UINT64_C(4104129903),       // VLD2DUPd16x2
    1476             :     UINT64_C(4104129901),       // VLD2DUPd16x2wb_fixed
    1477             :     UINT64_C(4104129888),       // VLD2DUPd16x2wb_register
    1478             :     UINT64_C(4104129935),       // VLD2DUPd32
    1479             :     UINT64_C(4104129933),       // VLD2DUPd32wb_fixed
    1480             :     UINT64_C(4104129920),       // VLD2DUPd32wb_register
    1481             :     UINT64_C(4104129967),       // VLD2DUPd32x2
    1482             :     UINT64_C(4104129965),       // VLD2DUPd32x2wb_fixed
    1483             :     UINT64_C(4104129952),       // VLD2DUPd32x2wb_register
    1484             :     UINT64_C(4104129807),       // VLD2DUPd8
    1485             :     UINT64_C(4104129805),       // VLD2DUPd8wb_fixed
    1486             :     UINT64_C(4104129792),       // VLD2DUPd8wb_register
    1487             :     UINT64_C(4104129839),       // VLD2DUPd8x2
    1488             :     UINT64_C(4104129837),       // VLD2DUPd8x2wb_fixed
    1489             :     UINT64_C(4104129824),       // VLD2DUPd8x2wb_register
    1490             :     UINT64_C(4104127759),       // VLD2LNd16
    1491             :     UINT64_C(0),        // VLD2LNd16Pseudo
    1492             :     UINT64_C(0),        // VLD2LNd16Pseudo_UPD
    1493             :     UINT64_C(4104127744),       // VLD2LNd16_UPD
    1494             :     UINT64_C(4104128783),       // VLD2LNd32
    1495             :     UINT64_C(0),        // VLD2LNd32Pseudo
    1496             :     UINT64_C(0),        // VLD2LNd32Pseudo_UPD
    1497             :     UINT64_C(4104128768),       // VLD2LNd32_UPD
    1498             :     UINT64_C(4104126735),       // VLD2LNd8
    1499             :     UINT64_C(0),        // VLD2LNd8Pseudo
    1500             :     UINT64_C(0),        // VLD2LNd8Pseudo_UPD
    1501             :     UINT64_C(4104126720),       // VLD2LNd8_UPD
    1502             :     UINT64_C(4104127791),       // VLD2LNq16
    1503             :     UINT64_C(0),        // VLD2LNq16Pseudo
    1504             :     UINT64_C(0),        // VLD2LNq16Pseudo_UPD
    1505             :     UINT64_C(4104127776),       // VLD2LNq16_UPD
    1506             :     UINT64_C(4104128847),       // VLD2LNq32
    1507             :     UINT64_C(0),        // VLD2LNq32Pseudo
    1508             :     UINT64_C(0),        // VLD2LNq32Pseudo_UPD
    1509             :     UINT64_C(4104128832),       // VLD2LNq32_UPD
    1510             :     UINT64_C(4095740239),       // VLD2b16
    1511             :     UINT64_C(4095740237),       // VLD2b16wb_fixed
    1512             :     UINT64_C(4095740224),       // VLD2b16wb_register
    1513             :     UINT64_C(4095740303),       // VLD2b32
    1514             :     UINT64_C(4095740301),       // VLD2b32wb_fixed
    1515             :     UINT64_C(4095740288),       // VLD2b32wb_register
    1516             :     UINT64_C(4095740175),       // VLD2b8
    1517             :     UINT64_C(4095740173),       // VLD2b8wb_fixed
    1518             :     UINT64_C(4095740160),       // VLD2b8wb_register
    1519             :     UINT64_C(4095739983),       // VLD2d16
    1520             :     UINT64_C(4095739981),       // VLD2d16wb_fixed
    1521             :     UINT64_C(4095739968),       // VLD2d16wb_register
    1522             :     UINT64_C(4095740047),       // VLD2d32
    1523             :     UINT64_C(4095740045),       // VLD2d32wb_fixed
    1524             :     UINT64_C(4095740032),       // VLD2d32wb_register
    1525             :     UINT64_C(4095739919),       // VLD2d8
    1526             :     UINT64_C(4095739917),       // VLD2d8wb_fixed
    1527             :     UINT64_C(4095739904),       // VLD2d8wb_register
    1528             :     UINT64_C(4095738703),       // VLD2q16
    1529             :     UINT64_C(0),        // VLD2q16Pseudo
    1530             :     UINT64_C(0),        // VLD2q16PseudoWB_fixed
    1531             :     UINT64_C(0),        // VLD2q16PseudoWB_register
    1532             :     UINT64_C(4095738701),       // VLD2q16wb_fixed
    1533             :     UINT64_C(4095738688),       // VLD2q16wb_register
    1534             :     UINT64_C(4095738767),       // VLD2q32
    1535             :     UINT64_C(0),        // VLD2q32Pseudo
    1536             :     UINT64_C(0),        // VLD2q32PseudoWB_fixed
    1537             :     UINT64_C(0),        // VLD2q32PseudoWB_register
    1538             :     UINT64_C(4095738765),       // VLD2q32wb_fixed
    1539             :     UINT64_C(4095738752),       // VLD2q32wb_register
    1540             :     UINT64_C(4095738639),       // VLD2q8
    1541             :     UINT64_C(0),        // VLD2q8Pseudo
    1542             :     UINT64_C(0),        // VLD2q8PseudoWB_fixed
    1543             :     UINT64_C(0),        // VLD2q8PseudoWB_register
    1544             :     UINT64_C(4095738637),       // VLD2q8wb_fixed
    1545             :     UINT64_C(4095738624),       // VLD2q8wb_register
    1546             :     UINT64_C(4104130127),       // VLD3DUPd16
    1547             :     UINT64_C(0),        // VLD3DUPd16Pseudo
    1548             :     UINT64_C(0),        // VLD3DUPd16Pseudo_UPD
    1549             :     UINT64_C(4104130112),       // VLD3DUPd16_UPD
    1550             :     UINT64_C(4104130191),       // VLD3DUPd32
    1551             :     UINT64_C(0),        // VLD3DUPd32Pseudo
    1552             :     UINT64_C(0),        // VLD3DUPd32Pseudo_UPD
    1553             :     UINT64_C(4104130176),       // VLD3DUPd32_UPD
    1554             :     UINT64_C(4104130063),       // VLD3DUPd8
    1555             :     UINT64_C(0),        // VLD3DUPd8Pseudo
    1556             :     UINT64_C(0),        // VLD3DUPd8Pseudo_UPD
    1557             :     UINT64_C(4104130048),       // VLD3DUPd8_UPD
    1558             :     UINT64_C(4104130159),       // VLD3DUPq16
    1559             :     UINT64_C(4104130144),       // VLD3DUPq16_UPD
    1560             :     UINT64_C(4104130223),       // VLD3DUPq32
    1561             :     UINT64_C(4104130208),       // VLD3DUPq32_UPD
    1562             :     UINT64_C(4104130095),       // VLD3DUPq8
    1563             :     UINT64_C(4104130080),       // VLD3DUPq8_UPD
    1564             :     UINT64_C(4104128015),       // VLD3LNd16
    1565             :     UINT64_C(0),        // VLD3LNd16Pseudo
    1566             :     UINT64_C(0),        // VLD3LNd16Pseudo_UPD
    1567             :     UINT64_C(4104128000),       // VLD3LNd16_UPD
    1568             :     UINT64_C(4104129039),       // VLD3LNd32
    1569             :     UINT64_C(0),        // VLD3LNd32Pseudo
    1570             :     UINT64_C(0),        // VLD3LNd32Pseudo_UPD
    1571             :     UINT64_C(4104129024),       // VLD3LNd32_UPD
    1572             :     UINT64_C(4104126991),       // VLD3LNd8
    1573             :     UINT64_C(0),        // VLD3LNd8Pseudo
    1574             :     UINT64_C(0),        // VLD3LNd8Pseudo_UPD
    1575             :     UINT64_C(4104126976),       // VLD3LNd8_UPD
    1576             :     UINT64_C(4104128047),       // VLD3LNq16
    1577             :     UINT64_C(0),        // VLD3LNq16Pseudo
    1578             :     UINT64_C(0),        // VLD3LNq16Pseudo_UPD
    1579             :     UINT64_C(4104128032),       // VLD3LNq16_UPD
    1580             :     UINT64_C(4104129103),       // VLD3LNq32
    1581             :     UINT64_C(0),        // VLD3LNq32Pseudo
    1582             :     UINT64_C(0),        // VLD3LNq32Pseudo_UPD
    1583             :     UINT64_C(4104129088),       // VLD3LNq32_UPD
    1584             :     UINT64_C(4095738959),       // VLD3d16
    1585             :     UINT64_C(0),        // VLD3d16Pseudo
    1586             :     UINT64_C(0),        // VLD3d16Pseudo_UPD
    1587             :     UINT64_C(4095738944),       // VLD3d16_UPD
    1588             :     UINT64_C(4095739023),       // VLD3d32
    1589             :     UINT64_C(0),        // VLD3d32Pseudo
    1590             :     UINT64_C(0),        // VLD3d32Pseudo_UPD
    1591             :     UINT64_C(4095739008),       // VLD3d32_UPD
    1592             :     UINT64_C(4095738895),       // VLD3d8
    1593             :     UINT64_C(0),        // VLD3d8Pseudo
    1594             :     UINT64_C(0),        // VLD3d8Pseudo_UPD
    1595             :     UINT64_C(4095738880),       // VLD3d8_UPD
    1596             :     UINT64_C(4095739215),       // VLD3q16
    1597             :     UINT64_C(0),        // VLD3q16Pseudo_UPD
    1598             :     UINT64_C(4095739200),       // VLD3q16_UPD
    1599             :     UINT64_C(0),        // VLD3q16oddPseudo
    1600             :     UINT64_C(0),        // VLD3q16oddPseudo_UPD
    1601             :     UINT64_C(4095739279),       // VLD3q32
    1602             :     UINT64_C(0),        // VLD3q32Pseudo_UPD
    1603             :     UINT64_C(4095739264),       // VLD3q32_UPD
    1604             :     UINT64_C(0),        // VLD3q32oddPseudo
    1605             :     UINT64_C(0),        // VLD3q32oddPseudo_UPD
    1606             :     UINT64_C(4095739151),       // VLD3q8
    1607             :     UINT64_C(0),        // VLD3q8Pseudo_UPD
    1608             :     UINT64_C(4095739136),       // VLD3q8_UPD
    1609             :     UINT64_C(0),        // VLD3q8oddPseudo
    1610             :     UINT64_C(0),        // VLD3q8oddPseudo_UPD
    1611             :     UINT64_C(4104130383),       // VLD4DUPd16
    1612             :     UINT64_C(0),        // VLD4DUPd16Pseudo
    1613             :     UINT64_C(0),        // VLD4DUPd16Pseudo_UPD
    1614             :     UINT64_C(4104130368),       // VLD4DUPd16_UPD
    1615             :     UINT64_C(4104130447),       // VLD4DUPd32
    1616             :     UINT64_C(0),        // VLD4DUPd32Pseudo
    1617             :     UINT64_C(0),        // VLD4DUPd32Pseudo_UPD
    1618             :     UINT64_C(4104130432),       // VLD4DUPd32_UPD
    1619             :     UINT64_C(4104130319),       // VLD4DUPd8
    1620             :     UINT64_C(0),        // VLD4DUPd8Pseudo
    1621             :     UINT64_C(0),        // VLD4DUPd8Pseudo_UPD
    1622             :     UINT64_C(4104130304),       // VLD4DUPd8_UPD
    1623             :     UINT64_C(4104130415),       // VLD4DUPq16
    1624             :     UINT64_C(4104130400),       // VLD4DUPq16_UPD
    1625             :     UINT64_C(4104130479),       // VLD4DUPq32
    1626             :     UINT64_C(4104130464),       // VLD4DUPq32_UPD
    1627             :     UINT64_C(4104130351),       // VLD4DUPq8
    1628             :     UINT64_C(4104130336),       // VLD4DUPq8_UPD
    1629             :     UINT64_C(4104128271),       // VLD4LNd16
    1630             :     UINT64_C(0),        // VLD4LNd16Pseudo
    1631             :     UINT64_C(0),        // VLD4LNd16Pseudo_UPD
    1632             :     UINT64_C(4104128256),       // VLD4LNd16_UPD
    1633             :     UINT64_C(4104129295),       // VLD4LNd32
    1634             :     UINT64_C(0),        // VLD4LNd32Pseudo
    1635             :     UINT64_C(0),        // VLD4LNd32Pseudo_UPD
    1636             :     UINT64_C(4104129280),       // VLD4LNd32_UPD
    1637             :     UINT64_C(4104127247),       // VLD4LNd8
    1638             :     UINT64_C(0),        // VLD4LNd8Pseudo
    1639             :     UINT64_C(0),        // VLD4LNd8Pseudo_UPD
    1640             :     UINT64_C(4104127232),       // VLD4LNd8_UPD
    1641             :     UINT64_C(4104128303),       // VLD4LNq16
    1642             :     UINT64_C(0),        // VLD4LNq16Pseudo
    1643             :     UINT64_C(0),        // VLD4LNq16Pseudo_UPD
    1644             :     UINT64_C(4104128288),       // VLD4LNq16_UPD
    1645             :     UINT64_C(4104129359),       // VLD4LNq32
    1646             :     UINT64_C(0),        // VLD4LNq32Pseudo
    1647             :     UINT64_C(0),        // VLD4LNq32Pseudo_UPD
    1648             :     UINT64_C(4104129344),       // VLD4LNq32_UPD
    1649             :     UINT64_C(4095737935),       // VLD4d16
    1650             :     UINT64_C(0),        // VLD4d16Pseudo
    1651             :     UINT64_C(0),        // VLD4d16Pseudo_UPD
    1652             :     UINT64_C(4095737920),       // VLD4d16_UPD
    1653             :     UINT64_C(4095737999),       // VLD4d32
    1654             :     UINT64_C(0),        // VLD4d32Pseudo
    1655             :     UINT64_C(0),        // VLD4d32Pseudo_UPD
    1656             :     UINT64_C(4095737984),       // VLD4d32_UPD
    1657             :     UINT64_C(4095737871),       // VLD4d8
    1658             :     UINT64_C(0),        // VLD4d8Pseudo
    1659             :     UINT64_C(0),        // VLD4d8Pseudo_UPD
    1660             :     UINT64_C(4095737856),       // VLD4d8_UPD
    1661             :     UINT64_C(4095738191),       // VLD4q16
    1662             :     UINT64_C(0),        // VLD4q16Pseudo_UPD
    1663             :     UINT64_C(4095738176),       // VLD4q16_UPD
    1664             :     UINT64_C(0),        // VLD4q16oddPseudo
    1665             :     UINT64_C(0),        // VLD4q16oddPseudo_UPD
    1666             :     UINT64_C(4095738255),       // VLD4q32
    1667             :     UINT64_C(0),        // VLD4q32Pseudo_UPD
    1668             :     UINT64_C(4095738240),       // VLD4q32_UPD
    1669             :     UINT64_C(0),        // VLD4q32oddPseudo
    1670             :     UINT64_C(0),        // VLD4q32oddPseudo_UPD
    1671             :     UINT64_C(4095738127),       // VLD4q8
    1672             :     UINT64_C(0),        // VLD4q8Pseudo_UPD
    1673             :     UINT64_C(4095738112),       // VLD4q8_UPD
    1674             :     UINT64_C(0),        // VLD4q8oddPseudo
    1675             :     UINT64_C(0),        // VLD4q8oddPseudo_UPD
    1676             :     UINT64_C(221252352),        // VLDMDDB_UPD
    1677             :     UINT64_C(210766592),        // VLDMDIA
    1678             :     UINT64_C(212863744),        // VLDMDIA_UPD
    1679             :     UINT64_C(0),        // VLDMQIA
    1680             :     UINT64_C(221252096),        // VLDMSDB_UPD
    1681             :     UINT64_C(210766336),        // VLDMSIA
    1682             :     UINT64_C(212863488),        // VLDMSIA_UPD
    1683             :     UINT64_C(219155200),        // VLDRD
    1684             :     UINT64_C(219154688),        // VLDRH
    1685             :     UINT64_C(219154944),        // VLDRS
    1686             :     UINT64_C(204474880),        // VLLDM
    1687             :     UINT64_C(203426304),        // VLSTM
    1688             :     UINT64_C(4269804288),       // VMAXNMD
    1689             :     UINT64_C(4269803776),       // VMAXNMH
    1690             :     UINT64_C(4076867344),       // VMAXNMNDf
    1691             :     UINT64_C(4077915920),       // VMAXNMNDh
    1692             :     UINT64_C(4076867408),       // VMAXNMNQf
    1693             :     UINT64_C(4077915984),       // VMAXNMNQh
    1694             :     UINT64_C(4269804032),       // VMAXNMS
    1695             :     UINT64_C(4060090112),       // VMAXfd
    1696             :     UINT64_C(4060090176),       // VMAXfq
    1697             :     UINT64_C(4061138688),       // VMAXhd
    1698             :     UINT64_C(4061138752),       // VMAXhq
    1699             :     UINT64_C(4060087872),       // VMAXsv16i8
    1700             :     UINT64_C(4062184960),       // VMAXsv2i32
    1701             :     UINT64_C(4061136384),       // VMAXsv4i16
    1702             :     UINT64_C(4062185024),       // VMAXsv4i32
    1703             :     UINT64_C(4061136448),       // VMAXsv8i16
    1704             :     UINT64_C(4060087808),       // VMAXsv8i8
    1705             :     UINT64_C(4076865088),       // VMAXuv16i8
    1706             :     UINT64_C(4078962176),       // VMAXuv2i32
    1707             :     UINT64_C(4077913600),       // VMAXuv4i16
    1708             :     UINT64_C(4078962240),       // VMAXuv4i32
    1709             :     UINT64_C(4077913664),       // VMAXuv8i16
    1710             :     UINT64_C(4076865024),       // VMAXuv8i8
    1711             :     UINT64_C(4269804352),       // VMINNMD
    1712             :     UINT64_C(4269803840),       // VMINNMH
    1713             :     UINT64_C(4078964496),       // VMINNMNDf
    1714             :     UINT64_C(4080013072),       // VMINNMNDh
    1715             :     UINT64_C(4078964560),       // VMINNMNQf
    1716             :     UINT64_C(4080013136),       // VMINNMNQh
    1717             :     UINT64_C(4269804096),       // VMINNMS
    1718             :     UINT64_C(4062187264),       // VMINfd
    1719             :     UINT64_C(4062187328),       // VMINfq
    1720             :     UINT64_C(4063235840),       // VMINhd
    1721             :     UINT64_C(4063235904),       // VMINhq
    1722             :     UINT64_C(4060087888),       // VMINsv16i8
    1723             :     UINT64_C(4062184976),       // VMINsv2i32
    1724             :     UINT64_C(4061136400),       // VMINsv4i16
    1725             :     UINT64_C(4062185040),       // VMINsv4i32
    1726             :     UINT64_C(4061136464),       // VMINsv8i16
    1727             :     UINT64_C(4060087824),       // VMINsv8i8
    1728             :     UINT64_C(4076865104),       // VMINuv16i8
    1729             :     UINT64_C(4078962192),       // VMINuv2i32
    1730             :     UINT64_C(4077913616),       // VMINuv4i16
    1731             :     UINT64_C(4078962256),       // VMINuv4i32
    1732             :     UINT64_C(4077913680),       // VMINuv8i16
    1733             :     UINT64_C(4076865040),       // VMINuv8i8
    1734             :     UINT64_C(234883840),        // VMLAD
    1735             :     UINT64_C(234883328),        // VMLAH
    1736             :     UINT64_C(4070572608),       // VMLALslsv2i32
    1737             :     UINT64_C(4069524032),       // VMLALslsv4i16
    1738             :     UINT64_C(4087349824),       // VMLALsluv2i32
    1739             :     UINT64_C(4086301248),       // VMLALsluv4i16
    1740             :     UINT64_C(4070574080),       // VMLALsv2i64
    1741             :     UINT64_C(4069525504),       // VMLALsv4i32
    1742             :     UINT64_C(4068476928),       // VMLALsv8i16
    1743             :     UINT64_C(4087351296),       // VMLALuv2i64
    1744             :     UINT64_C(4086302720),       // VMLALuv4i32
    1745             :     UINT64_C(4085254144),       // VMLALuv8i16
    1746             :     UINT64_C(234883584),        // VMLAS
    1747             :     UINT64_C(4060089616),       // VMLAfd
    1748             :     UINT64_C(4060089680),       // VMLAfq
    1749             :     UINT64_C(4061138192),       // VMLAhd
    1750             :     UINT64_C(4061138256),       // VMLAhq
    1751             :     UINT64_C(4070572352),       // VMLAslfd
    1752             :     UINT64_C(4087349568),       // VMLAslfq
    1753             :     UINT64_C(4069523776),       // VMLAslhd
    1754             :     UINT64_C(4086300992),       // VMLAslhq
    1755             :     UINT64_C(4070572096),       // VMLAslv2i32
    1756             :     UINT64_C(4069523520),       // VMLAslv4i16
    1757             :     UINT64_C(4087349312),       // VMLAslv4i32
    1758             :     UINT64_C(4086300736),       // VMLAslv8i16
    1759             :     UINT64_C(4060088640),       // VMLAv16i8
    1760             :     UINT64_C(4062185728),       // VMLAv2i32
    1761             :     UINT64_C(4061137152),       // VMLAv4i16
    1762             :     UINT64_C(4062185792),       // VMLAv4i32
    1763             :     UINT64_C(4061137216),       // VMLAv8i16
    1764             :     UINT64_C(4060088576),       // VMLAv8i8
    1765             :     UINT64_C(234883904),        // VMLSD
    1766             :     UINT64_C(234883392),        // VMLSH
    1767             :     UINT64_C(4070573632),       // VMLSLslsv2i32
    1768             :     UINT64_C(4069525056),       // VMLSLslsv4i16
    1769             :     UINT64_C(4087350848),       // VMLSLsluv2i32
    1770             :     UINT64_C(4086302272),       // VMLSLsluv4i16
    1771             :     UINT64_C(4070574592),       // VMLSLsv2i64
    1772             :     UINT64_C(4069526016),       // VMLSLsv4i32
    1773             :     UINT64_C(4068477440),       // VMLSLsv8i16
    1774             :     UINT64_C(4087351808),       // VMLSLuv2i64
    1775             :     UINT64_C(4086303232),       // VMLSLuv4i32
    1776             :     UINT64_C(4085254656),       // VMLSLuv8i16
    1777             :     UINT64_C(234883648),        // VMLSS
    1778             :     UINT64_C(4062186768),       // VMLSfd
    1779             :     UINT64_C(4062186832),       // VMLSfq
    1780             :     UINT64_C(4063235344),       // VMLShd
    1781             :     UINT64_C(4063235408),       // VMLShq
    1782             :     UINT64_C(4070573376),       // VMLSslfd
    1783             :     UINT64_C(4087350592),       // VMLSslfq
    1784             :     UINT64_C(4069524800),       // VMLSslhd
    1785             :     UINT64_C(4086302016),       // VMLSslhq
    1786             :     UINT64_C(4070573120),       // VMLSslv2i32
    1787             :     UINT64_C(4069524544),       // VMLSslv4i16
    1788             :     UINT64_C(4087350336),       // VMLSslv4i32
    1789             :     UINT64_C(4086301760),       // VMLSslv8i16
    1790             :     UINT64_C(4076865856),       // VMLSv16i8
    1791             :     UINT64_C(4078962944),       // VMLSv2i32
    1792             :     UINT64_C(4077914368),       // VMLSv4i16
    1793             :     UINT64_C(4078963008),       // VMLSv4i32
    1794             :     UINT64_C(4077914432),       // VMLSv8i16
    1795             :     UINT64_C(4076865792),       // VMLSv8i8
    1796             :     UINT64_C(246418240),        // VMOVD
    1797             :     UINT64_C(205523728),        // VMOVDRR
    1798             :     UINT64_C(4272949824),       // VMOVH
    1799             :     UINT64_C(234883344),        // VMOVHR
    1800             :     UINT64_C(4070574608),       // VMOVLsv2i64
    1801             :     UINT64_C(4069526032),       // VMOVLsv4i32
    1802             :     UINT64_C(4069001744),       // VMOVLsv8i16
    1803             :     UINT64_C(4087351824),       // VMOVLuv2i64
    1804             :     UINT64_C(4086303248),       // VMOVLuv4i32
    1805             :     UINT64_C(4085778960),       // VMOVLuv8i16
    1806             :     UINT64_C(4089053696),       // VMOVNv2i32
    1807             :     UINT64_C(4088791552),       // VMOVNv4i16
    1808             :     UINT64_C(4088529408),       // VMOVNv8i8
    1809             :     UINT64_C(235931920),        // VMOVRH
    1810             :     UINT64_C(206572304),        // VMOVRRD
    1811             :     UINT64_C(206572048),        // VMOVRRS
    1812             :     UINT64_C(235932176),        // VMOVRS
    1813             :     UINT64_C(246417984),        // VMOVS
    1814             :     UINT64_C(234883600),        // VMOVSR
    1815             :     UINT64_C(205523472),        // VMOVSRR
    1816             :     UINT64_C(4068478544),       // VMOVv16i8
    1817             :     UINT64_C(4068478512),       // VMOVv1i64
    1818             :     UINT64_C(4068478736),       // VMOVv2f32
    1819             :     UINT64_C(4068474896),       // VMOVv2i32
    1820             :     UINT64_C(4068478576),       // VMOVv2i64
    1821             :     UINT64_C(4068478800),       // VMOVv4f32
    1822             :     UINT64_C(4068476944),       // VMOVv4i16
    1823             :     UINT64_C(4068474960),       // VMOVv4i32
    1824             :     UINT64_C(4068477008),       // VMOVv8i16
    1825             :     UINT64_C(4068478480),       // VMOVv8i8
    1826             :     UINT64_C(250677776),        // VMRS
    1827             :     UINT64_C(251136528),        // VMRS_FPEXC
    1828             :     UINT64_C(251202064),        // VMRS_FPINST
    1829             :     UINT64_C(251267600),        // VMRS_FPINST2
    1830             :     UINT64_C(250612240),        // VMRS_FPSID
    1831             :     UINT64_C(251070992),        // VMRS_MVFR0
    1832             :     UINT64_C(251005456),        // VMRS_MVFR1
    1833             :     UINT64_C(250939920),        // VMRS_MVFR2
    1834             :     UINT64_C(249629200),        // VMSR
    1835             :     UINT64_C(250087952),        // VMSR_FPEXC
    1836             :     UINT64_C(250153488),        // VMSR_FPINST
    1837             :     UINT64_C(250219024),        // VMSR_FPINST2
    1838             :     UINT64_C(249563664),        // VMSR_FPSID
    1839             :     UINT64_C(236980992),        // VMULD
    1840             :     UINT64_C(236980480),        // VMULH
    1841             :     UINT64_C(4070575616),       // VMULLp64
    1842             :     UINT64_C(4068478464),       // VMULLp8
    1843             :     UINT64_C(4070574656),       // VMULLslsv2i32
    1844             :     UINT64_C(4069526080),       // VMULLslsv4i16
    1845             :     UINT64_C(4087351872),       // VMULLsluv2i32
    1846             :     UINT64_C(4086303296),       // VMULLsluv4i16
    1847             :     UINT64_C(4070575104),       // VMULLsv2i64
    1848             :     UINT64_C(4069526528),       // VMULLsv4i32
    1849             :     UINT64_C(4068477952),       // VMULLsv8i16
    1850             :     UINT64_C(4087352320),       // VMULLuv2i64
    1851             :     UINT64_C(4086303744),       // VMULLuv4i32
    1852             :     UINT64_C(4085255168),       // VMULLuv8i16
    1853             :     UINT64_C(236980736),        // VMULS
    1854             :     UINT64_C(4076866832),       // VMULfd
    1855             :     UINT64_C(4076866896),       // VMULfq
    1856             :     UINT64_C(4077915408),       // VMULhd
    1857             :     UINT64_C(4077915472),       // VMULhq
    1858             :     UINT64_C(4076865808),       // VMULpd
    1859             :     UINT64_C(4076865872),       // VMULpq
    1860             :     UINT64_C(4070574400),       // VMULslfd
    1861             :     UINT64_C(4087351616),       // VMULslfq
    1862             :     UINT64_C(4069525824),       // VMULslhd
    1863             :     UINT64_C(4086303040),       // VMULslhq
    1864             :     UINT64_C(4070574144),       // VMULslv2i32
    1865             :     UINT64_C(4069525568),       // VMULslv4i16
    1866             :     UINT64_C(4087351360),       // VMULslv4i32
    1867             :     UINT64_C(4086302784),       // VMULslv8i16
    1868             :     UINT64_C(4060088656),       // VMULv16i8
    1869             :     UINT64_C(4062185744),       // VMULv2i32
    1870             :     UINT64_C(4061137168),       // VMULv4i16
    1871             :     UINT64_C(4062185808),       // VMULv4i32
    1872             :     UINT64_C(4061137232),       // VMULv8i16
    1873             :     UINT64_C(4060088592),       // VMULv8i8
    1874             :     UINT64_C(4088399232),       // VMVNd
    1875             :     UINT64_C(4088399296),       // VMVNq
    1876             :     UINT64_C(4068474928),       // VMVNv2i32
    1877             :     UINT64_C(4068476976),       // VMVNv4i16
    1878             :     UINT64_C(4068474992),       // VMVNv4i32
    1879             :     UINT64_C(4068477040),       // VMVNv8i16
    1880             :     UINT64_C(246483776),        // VNEGD
    1881             :     UINT64_C(246483264),        // VNEGH
    1882             :     UINT64_C(246483520),        // VNEGS
    1883             :     UINT64_C(4088989632),       // VNEGf32q
    1884             :     UINT64_C(4088989568),       // VNEGfd
    1885             :     UINT64_C(4088727424),       // VNEGhd
    1886             :     UINT64_C(4088727488),       // VNEGhq
    1887             :     UINT64_C(4088726400),       // VNEGs16d
    1888             :     UINT64_C(4088726464),       // VNEGs16q
    1889             :     UINT64_C(4088988544),       // VNEGs32d
    1890             :     UINT64_C(4088988608),       // VNEGs32q
    1891             :     UINT64_C(4088464256),       // VNEGs8d
    1892             :     UINT64_C(4088464320),       // VNEGs8q
    1893             :     UINT64_C(235932480),        // VNMLAD
    1894             :     UINT64_C(235931968),        // VNMLAH
    1895             :     UINT64_C(235932224),        // VNMLAS
    1896             :     UINT64_C(235932416),        // VNMLSD
    1897             :     UINT64_C(235931904),        // VNMLSH
    1898             :     UINT64_C(235932160),        // VNMLSS
    1899             :     UINT64_C(236981056),        // VNMULD
    1900             :     UINT64_C(236980544),        // VNMULH
    1901             :     UINT64_C(236980800),        // VNMULS
    1902             :     UINT64_C(4063232272),       // VORNd
    1903             :     UINT64_C(4063232336),       // VORNq
    1904             :     UINT64_C(4062183696),       // VORRd
    1905             :     UINT64_C(4068475152),       // VORRiv2i32
    1906             :     UINT64_C(4068477200),       // VORRiv4i16
    1907             :     UINT64_C(4068475216),       // VORRiv4i32
    1908             :     UINT64_C(4068477264),       // VORRiv8i16
    1909             :     UINT64_C(4062183760),       // VORRq
    1910             :     UINT64_C(4088399424),       // VPADALsv16i8
    1911             :     UINT64_C(4088923648),       // VPADALsv2i32
    1912             :     UINT64_C(4088661504),       // VPADALsv4i16
    1913             :     UINT64_C(4088923712),       // VPADALsv4i32
    1914             :     UINT64_C(4088661568),       // VPADALsv8i16
    1915             :     UINT64_C(4088399360),       // VPADALsv8i8
    1916             :     UINT64_C(4088399552),       // VPADALuv16i8
    1917             :     UINT64_C(4088923776),       // VPADALuv2i32
    1918             :     UINT64_C(4088661632),       // VPADALuv4i16
    1919             :     UINT64_C(4088923840),       // VPADALuv4i32
    1920             :     UINT64_C(4088661696),       // VPADALuv8i16
    1921             :     UINT64_C(4088399488),       // VPADALuv8i8
    1922             :     UINT64_C(4088398400),       // VPADDLsv16i8
    1923             :     UINT64_C(4088922624),       // VPADDLsv2i32
    1924             :     UINT64_C(4088660480),       // VPADDLsv4i16
    1925             :     UINT64_C(4088922688),       // VPADDLsv4i32
    1926             :     UINT64_C(4088660544),       // VPADDLsv8i16
    1927             :     UINT64_C(4088398336),       // VPADDLsv8i8
    1928             :     UINT64_C(4088398528),       // VPADDLuv16i8
    1929             :     UINT64_C(4088922752),       // VPADDLuv2i32
    1930             :     UINT64_C(4088660608),       // VPADDLuv4i16
    1931             :     UINT64_C(4088922816),       // VPADDLuv4i32
    1932             :     UINT64_C(4088660672),       // VPADDLuv8i16
    1933             :     UINT64_C(4088398464),       // VPADDLuv8i8
    1934             :     UINT64_C(4076866816),       // VPADDf
    1935             :     UINT64_C(4077915392),       // VPADDh
    1936             :     UINT64_C(4061137680),       // VPADDi16
    1937             :     UINT64_C(4062186256),       // VPADDi32
    1938             :     UINT64_C(4060089104),       // VPADDi8
    1939             :     UINT64_C(4076867328),       // VPMAXf
    1940             :     UINT64_C(4077915904),       // VPMAXh
    1941             :     UINT64_C(4061137408),       // VPMAXs16
    1942             :     UINT64_C(4062185984),       // VPMAXs32
    1943             :     UINT64_C(4060088832),       // VPMAXs8
    1944             :     UINT64_C(4077914624),       // VPMAXu16
    1945             :     UINT64_C(4078963200),       // VPMAXu32
    1946             :     UINT64_C(4076866048),       // VPMAXu8
    1947             :     UINT64_C(4078964480),       // VPMINf
    1948             :     UINT64_C(4080013056),       // VPMINh
    1949             :     UINT64_C(4061137424),       // VPMINs16
    1950             :     UINT64_C(4062186000),       // VPMINs32
    1951             :     UINT64_C(4060088848),       // VPMINs8
    1952             :     UINT64_C(4077914640),       // VPMINu16
    1953             :     UINT64_C(4078963216),       // VPMINu32
    1954             :     UINT64_C(4076866064),       // VPMINu8
    1955             :     UINT64_C(4088399680),       // VQABSv16i8
    1956             :     UINT64_C(4088923904),       // VQABSv2i32
    1957             :     UINT64_C(4088661760),       // VQABSv4i16
    1958             :     UINT64_C(4088923968),       // VQABSv4i32
    1959             :     UINT64_C(4088661824),       // VQABSv8i16
    1960             :     UINT64_C(4088399616),       // VQABSv8i8
    1961             :     UINT64_C(4060086352),       // VQADDsv16i8
    1962             :     UINT64_C(4063232016),       // VQADDsv1i64
    1963             :     UINT64_C(4062183440),       // VQADDsv2i32
    1964             :     UINT64_C(4063232080),       // VQADDsv2i64
    1965             :     UINT64_C(4061134864),       // VQADDsv4i16
    1966             :     UINT64_C(4062183504),       // VQADDsv4i32
    1967             :     UINT64_C(4061134928),       // VQADDsv8i16
    1968             :     UINT64_C(4060086288),       // VQADDsv8i8
    1969             :     UINT64_C(4076863568),       // VQADDuv16i8
    1970             :     UINT64_C(4080009232),       // VQADDuv1i64
    1971             :     UINT64_C(4078960656),       // VQADDuv2i32
    1972             :     UINT64_C(4080009296),       // VQADDuv2i64
    1973             :     UINT64_C(4077912080),       // VQADDuv4i16
    1974             :     UINT64_C(4078960720),       // VQADDuv4i32
    1975             :     UINT64_C(4077912144),       // VQADDuv8i16
    1976             :     UINT64_C(4076863504),       // VQADDuv8i8
    1977             :     UINT64_C(4070572864),       // VQDMLALslv2i32
    1978             :     UINT64_C(4069524288),       // VQDMLALslv4i16
    1979             :     UINT64_C(4070574336),       // VQDMLALv2i64
    1980             :     UINT64_C(4069525760),       // VQDMLALv4i32
    1981             :     UINT64_C(4070573888),       // VQDMLSLslv2i32
    1982             :     UINT64_C(4069525312),       // VQDMLSLslv4i16
    1983             :     UINT64_C(4070574848),       // VQDMLSLv2i64
    1984             :     UINT64_C(4069526272),       // VQDMLSLv4i32
    1985             :     UINT64_C(4070575168),       // VQDMULHslv2i32
    1986             :     UINT64_C(4069526592),       // VQDMULHslv4i16
    1987             :     UINT64_C(4087352384),       // VQDMULHslv4i32
    1988             :     UINT64_C(4086303808),       // VQDMULHslv8i16
    1989             :     UINT64_C(4062186240),       // VQDMULHv2i32
    1990             :     UINT64_C(4061137664),       // VQDMULHv4i16
    1991             :     UINT64_C(4062186304),       // VQDMULHv4i32
    1992             :     UINT64_C(4061137728),       // VQDMULHv8i16
    1993             :     UINT64_C(4070574912),       // VQDMULLslv2i32
    1994             :     UINT64_C(4069526336),       // VQDMULLslv4i16
    1995             :     UINT64_C(4070575360),       // VQDMULLv2i64
    1996             :     UINT64_C(4069526784),       // VQDMULLv4i32
    1997             :     UINT64_C(4089053760),       // VQMOVNsuv2i32
    1998             :     UINT64_C(4088791616),       // VQMOVNsuv4i16
    1999             :     UINT64_C(4088529472),       // VQMOVNsuv8i8
    2000             :     UINT64_C(4089053824),       // VQMOVNsv2i32
    2001             :     UINT64_C(4088791680),       // VQMOVNsv4i16
    2002             :     UINT64_C(4088529536),       // VQMOVNsv8i8
    2003             :     UINT64_C(4089053888),       // VQMOVNuv2i32
    2004             :     UINT64_C(4088791744),       // VQMOVNuv4i16
    2005             :     UINT64_C(4088529600),       // VQMOVNuv8i8
    2006             :     UINT64_C(4088399808),       // VQNEGv16i8
    2007             :     UINT64_C(4088924032),       // VQNEGv2i32
    2008             :     UINT64_C(4088661888),       // VQNEGv4i16
    2009             :     UINT64_C(4088924096),       // VQNEGv4i32
    2010             :     UINT64_C(4088661952),       // VQNEGv8i16
    2011             :     UINT64_C(4088399744),       // VQNEGv8i8
    2012             :     UINT64_C(4070575680),       // VQRDMLAHslv2i32
    2013             :     UINT64_C(4069527104),       // VQRDMLAHslv4i16
    2014             :     UINT64_C(4087352896),       // VQRDMLAHslv4i32
    2015             :     UINT64_C(4086304320),       // VQRDMLAHslv8i16
    2016             :     UINT64_C(4078963472),       // VQRDMLAHv2i32
    2017             :     UINT64_C(4077914896),       // VQRDMLAHv4i16
    2018             :     UINT64_C(4078963536),       // VQRDMLAHv4i32
    2019             :     UINT64_C(4077914960),       // VQRDMLAHv8i16
    2020             :     UINT64_C(4070575936),       // VQRDMLSHslv2i32
    2021             :     UINT64_C(4069527360),       // VQRDMLSHslv4i16
    2022             :     UINT64_C(4087353152),       // VQRDMLSHslv4i32
    2023             :     UINT64_C(4086304576),       // VQRDMLSHslv8i16
    2024             :     UINT64_C(4078963728),       // VQRDMLSHv2i32
    2025             :     UINT64_C(4077915152),       // VQRDMLSHv4i16
    2026             :     UINT64_C(4078963792),       // VQRDMLSHv4i32
    2027             :     UINT64_C(4077915216),       // VQRDMLSHv8i16
    2028             :     UINT64_C(4070575424),       // VQRDMULHslv2i32
    2029             :     UINT64_C(4069526848),       // VQRDMULHslv4i16
    2030             :     UINT64_C(4087352640),       // VQRDMULHslv4i32
    2031             :     UINT64_C(4086304064),       // VQRDMULHslv8i16
    2032             :     UINT64_C(4078963456),       // VQRDMULHv2i32
    2033             :     UINT64_C(4077914880),       // VQRDMULHv4i16
    2034             :     UINT64_C(4078963520),       // VQRDMULHv4i32
    2035             :     UINT64_C(4077914944),       // VQRDMULHv8i16
    2036             :     UINT64_C(4060087632),       // VQRSHLsv16i8
    2037             :     UINT64_C(4063233296),       // VQRSHLsv1i64
    2038             :     UINT64_C(4062184720),       // VQRSHLsv2i32
    2039             :     UINT64_C(4063233360),       // VQRSHLsv2i64
    2040             :     UINT64_C(4061136144),       // VQRSHLsv4i16
    2041             :     UINT64_C(4062184784),       // VQRSHLsv4i32
    2042             :     UINT64_C(4061136208),       // VQRSHLsv8i16
    2043             :     UINT64_C(4060087568),       // VQRSHLsv8i8
    2044             :     UINT64_C(4076864848),       // VQRSHLuv16i8
    2045             :     UINT64_C(4080010512),       // VQRSHLuv1i64
    2046             :     UINT64_C(4078961936),       // VQRSHLuv2i32
    2047             :     UINT64_C(4080010576),       // VQRSHLuv2i64
    2048             :     UINT64_C(4077913360),       // VQRSHLuv4i16
    2049             :     UINT64_C(4078962000),       // VQRSHLuv4i32
    2050             :     UINT64_C(4077913424),       // VQRSHLuv8i16
    2051             :     UINT64_C(4076864784),       // VQRSHLuv8i8
    2052             :     UINT64_C(4070574416),       // VQRSHRNsv2i32
    2053             :     UINT64_C(4069525840),       // VQRSHRNsv4i16
    2054             :     UINT64_C(4069001552),       // VQRSHRNsv8i8
    2055             :     UINT64_C(4087351632),       // VQRSHRNuv2i32
    2056             :     UINT64_C(4086303056),       // VQRSHRNuv4i16
    2057             :     UINT64_C(4085778768),       // VQRSHRNuv8i8
    2058             :     UINT64_C(4087351376),       // VQRSHRUNv2i32
    2059             :     UINT64_C(4086302800),       // VQRSHRUNv4i16
    2060             :     UINT64_C(4085778512),       // VQRSHRUNv8i8
    2061             :     UINT64_C(4069001040),       // VQSHLsiv16i8
    2062             :     UINT64_C(4068476816),       // VQSHLsiv1i64
    2063             :     UINT64_C(4070573840),       // VQSHLsiv2i32
    2064             :     UINT64_C(4068476880),       // VQSHLsiv2i64
    2065             :     UINT64_C(4069525264),       // VQSHLsiv4i16
    2066             :     UINT64_C(4070573904),       // VQSHLsiv4i32
    2067             :     UINT64_C(4069525328),       // VQSHLsiv8i16
    2068             :     UINT64_C(4069000976),       // VQSHLsiv8i8
    2069             :     UINT64_C(4085778000),       // VQSHLsuv16i8
    2070             :     UINT64_C(4085253776),       // VQSHLsuv1i64
    2071             :     UINT64_C(4087350800),       // VQSHLsuv2i32
    2072             :     UINT64_C(4085253840),       // VQSHLsuv2i64
    2073             :     UINT64_C(4086302224),       // VQSHLsuv4i16
    2074             :     UINT64_C(4087350864),       // VQSHLsuv4i32
    2075             :     UINT64_C(4086302288),       // VQSHLsuv8i16
    2076             :     UINT64_C(4085777936),       // VQSHLsuv8i8
    2077             :     UINT64_C(4060087376),       // VQSHLsv16i8
    2078             :     UINT64_C(4063233040),       // VQSHLsv1i64
    2079             :     UINT64_C(4062184464),       // VQSHLsv2i32
    2080             :     UINT64_C(4063233104),       // VQSHLsv2i64
    2081             :     UINT64_C(4061135888),       // VQSHLsv4i16
    2082             :     UINT64_C(4062184528),       // VQSHLsv4i32
    2083             :     UINT64_C(4061135952),       // VQSHLsv8i16
    2084             :     UINT64_C(4060087312),       // VQSHLsv8i8
    2085             :     UINT64_C(4085778256),       // VQSHLuiv16i8
    2086             :     UINT64_C(4085254032),       // VQSHLuiv1i64
    2087             :     UINT64_C(4087351056),       // VQSHLuiv2i32
    2088             :     UINT64_C(4085254096),       // VQSHLuiv2i64
    2089             :     UINT64_C(4086302480),       // VQSHLuiv4i16
    2090             :     UINT64_C(4087351120),       // VQSHLuiv4i32
    2091             :     UINT64_C(4086302544),       // VQSHLuiv8i16
    2092             :     UINT64_C(4085778192),       // VQSHLuiv8i8
    2093             :     UINT64_C(4076864592),       // VQSHLuv16i8
    2094             :     UINT64_C(4080010256),       // VQSHLuv1i64
    2095             :     UINT64_C(4078961680),       // VQSHLuv2i32
    2096             :     UINT64_C(4080010320),       // VQSHLuv2i64
    2097             :     UINT64_C(4077913104),       // VQSHLuv4i16
    2098             :     UINT64_C(4078961744),       // VQSHLuv4i32
    2099             :     UINT64_C(4077913168),       // VQSHLuv8i16
    2100             :     UINT64_C(4076864528),       // VQSHLuv8i8
    2101             :     UINT64_C(4070574352),       // VQSHRNsv2i32
    2102             :     UINT64_C(4069525776),       // VQSHRNsv4i16
    2103             :     UINT64_C(4069001488),       // VQSHRNsv8i8
    2104             :     UINT64_C(4087351568),       // VQSHRNuv2i32
    2105             :     UINT64_C(4086302992),       // VQSHRNuv4i16
    2106             :     UINT64_C(4085778704),       // VQSHRNuv8i8
    2107             :     UINT64_C(4087351312),       // VQSHRUNv2i32
    2108             :     UINT64_C(4086302736),       // VQSHRUNv4i16
    2109             :     UINT64_C(4085778448),       // VQSHRUNv8i8
    2110             :     UINT64_C(4060086864),       // VQSUBsv16i8
    2111             :     UINT64_C(4063232528),       // VQSUBsv1i64
    2112             :     UINT64_C(4062183952),       // VQSUBsv2i32
    2113             :     UINT64_C(4063232592),       // VQSUBsv2i64
    2114             :     UINT64_C(4061135376),       // VQSUBsv4i16
    2115             :     UINT64_C(4062184016),       // VQSUBsv4i32
    2116             :     UINT64_C(4061135440),       // VQSUBsv8i16
    2117             :     UINT64_C(4060086800),       // VQSUBsv8i8
    2118             :     UINT64_C(4076864080),       // VQSUBuv16i8
    2119             :     UINT64_C(4080009744),       // VQSUBuv1i64
    2120             :     UINT64_C(4078961168),       // VQSUBuv2i32
    2121             :     UINT64_C(4080009808),       // VQSUBuv2i64
    2122             :     UINT64_C(4077912592),       // VQSUBuv4i16
    2123             :     UINT64_C(4078961232),       // VQSUBuv4i32
    2124             :     UINT64_C(4077912656),       // VQSUBuv8i16
    2125             :     UINT64_C(4076864016),       // VQSUBuv8i8
    2126             :     UINT64_C(4087350272),       // VRADDHNv2i32
    2127             :     UINT64_C(4086301696),       // VRADDHNv4i16
    2128             :     UINT64_C(4085253120),       // VRADDHNv8i8
    2129             :     UINT64_C(4089119744),       // VRECPEd
    2130             :     UINT64_C(4089120000),       // VRECPEfd
    2131             :     UINT64_C(4089120064),       // VRECPEfq
    2132             :     UINT64_C(4088857856),       // VRECPEhd
    2133             :     UINT64_C(4088857920),       // VRECPEhq
    2134             :     UINT64_C(4089119808),       // VRECPEq
    2135             :     UINT64_C(4060090128),       // VRECPSfd
    2136             :     UINT64_C(4060090192),       // VRECPSfq
    2137             :     UINT64_C(4061138704),       // VRECPShd
    2138             :     UINT64_C(4061138768),       // VRECPShq
    2139             :     UINT64_C(4088398080),       // VREV16d8
    2140             :     UINT64_C(4088398144),       // VREV16q8
    2141             :     UINT64_C(4088660096),       // VREV32d16
    2142             :     UINT64_C(4088397952),       // VREV32d8
    2143             :     UINT64_C(4088660160),       // VREV32q16
    2144             :     UINT64_C(4088398016),       // VREV32q8
    2145             :     UINT64_C(4088659968),       // VREV64d16
    2146             :     UINT64_C(4088922112),       // VREV64d32
    2147             :     UINT64_C(4088397824),       // VREV64d8
    2148             :     UINT64_C(4088660032),       // VREV64q16
    2149             :     UINT64_C(4088922176),       // VREV64q32
    2150             :     UINT64_C(4088397888),       // VREV64q8
    2151             :     UINT64_C(4060086592),       // VRHADDsv16i8
    2152             :     UINT64_C(4062183680),       // VRHADDsv2i32
    2153             :     UINT64_C(4061135104),       // VRHADDsv4i16
    2154             :     UINT64_C(4062183744),       // VRHADDsv4i32
    2155             :     UINT64_C(4061135168),       // VRHADDsv8i16
    2156             :     UINT64_C(4060086528),       // VRHADDsv8i8
    2157             :     UINT64_C(4076863808),       // VRHADDuv16i8
    2158             :     UINT64_C(4078960896),       // VRHADDuv2i32
    2159             :     UINT64_C(4077912320),       // VRHADDuv4i16
    2160             :     UINT64_C(4078960960),       // VRHADDuv4i32
    2161             :     UINT64_C(4077912384),       // VRHADDuv8i16
    2162             :     UINT64_C(4076863744),       // VRHADDuv8i8
    2163             :     UINT64_C(4273474368),       // VRINTAD
    2164             :     UINT64_C(4273473856),       // VRINTAH
    2165             :     UINT64_C(4089054464),       // VRINTANDf
    2166             :     UINT64_C(4088792320),       // VRINTANDh
    2167             :     UINT64_C(4089054528),       // VRINTANQf
    2168             :     UINT64_C(4088792384),       // VRINTANQh
    2169             :     UINT64_C(4273474112),       // VRINTAS
    2170             :     UINT64_C(4273670976),       // VRINTMD
    2171             :     UINT64_C(4273670464),       // VRINTMH
    2172             :     UINT64_C(4089054848),       // VRINTMNDf
    2173             :     UINT64_C(4088792704),       // VRINTMNDh
    2174             :     UINT64_C(4089054912),       // VRINTMNQf
    2175             :     UINT64_C(4088792768),       // VRINTMNQh
    2176             :     UINT64_C(4273670720),       // VRINTMS
    2177             :     UINT64_C(4273539904),       // VRINTND
    2178             :     UINT64_C(4273539392),       // VRINTNH
    2179             :     UINT64_C(4089054208),       // VRINTNNDf
    2180             :     UINT64_C(4088792064),       // VRINTNNDh
    2181             :     UINT64_C(4089054272),       // VRINTNNQf
    2182             :     UINT64_C(4088792128),       // VRINTNNQh
    2183             :     UINT64_C(4273539648),       // VRINTNS
    2184             :     UINT64_C(4273605440),       // VRINTPD
    2185             :     UINT64_C(4273604928),       // VRINTPH
    2186             :     UINT64_C(4089055104),       // VRINTPNDf
    2187             :     UINT64_C(4088792960),       // VRINTPNDh
    2188             :     UINT64_C(4089055168),       // VRINTPNQf
    2189             :     UINT64_C(4088793024),       // VRINTPNQh
    2190             :     UINT64_C(4273605184),       // VRINTPS
    2191             :     UINT64_C(246811456),        // VRINTRD
    2192             :     UINT64_C(246810944),        // VRINTRH
    2193             :     UINT64_C(246811200),        // VRINTRS
    2194             :     UINT64_C(246876992),        // VRINTXD
    2195             :     UINT64_C(246876480),        // VRINTXH
    2196             :     UINT64_C(4089054336),       // VRINTXNDf
    2197             :     UINT64_C(4088792192),       // VRINTXNDh
    2198             :     UINT64_C(4089054400),       // VRINTXNQf
    2199             :     UINT64_C(4088792256),       // VRINTXNQh
    2200             :     UINT64_C(246876736),        // VRINTXS
    2201             :     UINT64_C(246811584),        // VRINTZD
    2202             :     UINT64_C(246811072),        // VRINTZH
    2203             :     UINT64_C(4089054592),       // VRINTZNDf
    2204             :     UINT64_C(4088792448),       // VRINTZNDh
    2205             :     UINT64_C(4089054656),       // VRINTZNQf
    2206             :     UINT64_C(4088792512),       // VRINTZNQh
    2207             :     UINT64_C(246811328),        // VRINTZS
    2208             :     UINT64_C(4060087616),       // VRSHLsv16i8
    2209             :     UINT64_C(4063233280),       // VRSHLsv1i64
    2210             :     UINT64_C(4062184704),       // VRSHLsv2i32
    2211             :     UINT64_C(4063233344),       // VRSHLsv2i64
    2212             :     UINT64_C(4061136128),       // VRSHLsv4i16
    2213             :     UINT64_C(4062184768),       // VRSHLsv4i32
    2214             :     UINT64_C(4061136192),       // VRSHLsv8i16
    2215             :     UINT64_C(4060087552),       // VRSHLsv8i8
    2216             :     UINT64_C(4076864832),       // VRSHLuv16i8
    2217             :     UINT64_C(4080010496),       // VRSHLuv1i64
    2218             :     UINT64_C(4078961920),       // VRSHLuv2i32
    2219             :     UINT64_C(4080010560),       // VRSHLuv2i64
    2220             :     UINT64_C(4077913344),       // VRSHLuv4i16
    2221             :     UINT64_C(4078961984),       // VRSHLuv4i32
    2222             :     UINT64_C(4077913408),       // VRSHLuv8i16
    2223             :     UINT64_C(4076864768),       // VRSHLuv8i8
    2224             :     UINT64_C(4070574160),       // VRSHRNv2i32
    2225             :     UINT64_C(4069525584),       // VRSHRNv4i16
    2226             :     UINT64_C(4069001296),       // VRSHRNv8i8
    2227             :     UINT64_C(4068999760),       // VRSHRsv16i8
    2228             :     UINT64_C(4068475536),       // VRSHRsv1i64
    2229             :     UINT64_C(4070572560),       // VRSHRsv2i32
    2230             :     UINT64_C(4068475600),       // VRSHRsv2i64
    2231             :     UINT64_C(4069523984),       // VRSHRsv4i16
    2232             :     UINT64_C(4070572624),       // VRSHRsv4i32
    2233             :     UINT64_C(4069524048),       // VRSHRsv8i16
    2234             :     UINT64_C(4068999696),       // VRSHRsv8i8
    2235             :     UINT64_C(4085776976),       // VRSHRuv16i8
    2236             :     UINT64_C(4085252752),       // VRSHRuv1i64
    2237             :     UINT64_C(4087349776),       // VRSHRuv2i32
    2238             :     UINT64_C(4085252816),       // VRSHRuv2i64
    2239             :     UINT64_C(4086301200),       // VRSHRuv4i16
    2240             :     UINT64_C(4087349840),       // VRSHRuv4i32
    2241             :     UINT64_C(4086301264),       // VRSHRuv8i16
    2242             :     UINT64_C(4085776912),       // VRSHRuv8i8
    2243             :     UINT64_C(4089119872),       // VRSQRTEd
    2244             :     UINT64_C(4089120128),       // VRSQRTEfd
    2245             :     UINT64_C(4089120192),       // VRSQRTEfq
    2246             :     UINT64_C(4088857984),       // VRSQRTEhd
    2247             :     UINT64_C(4088858048),       // VRSQRTEhq
    2248             :     UINT64_C(4089119936),       // VRSQRTEq
    2249             :     UINT64_C(4062187280),       // VRSQRTSfd
    2250             :     UINT64_C(4062187344),       // VRSQRTSfq
    2251             :     UINT64_C(4063235856),       // VRSQRTShd
    2252             :     UINT64_C(4063235920),       // VRSQRTShq
    2253             :     UINT64_C(4069000016),       // VRSRAsv16i8
    2254             :     UINT64_C(4068475792),       // VRSRAsv1i64
    2255             :     UINT64_C(4070572816),       // VRSRAsv2i32
    2256             :     UINT64_C(4068475856),       // VRSRAsv2i64
    2257             :     UINT64_C(4069524240),       // VRSRAsv4i16
    2258             :     UINT64_C(4070572880),       // VRSRAsv4i32
    2259             :     UINT64_C(4069524304),       // VRSRAsv8i16
    2260             :     UINT64_C(4068999952),       // VRSRAsv8i8
    2261             :     UINT64_C(4085777232),       // VRSRAuv16i8
    2262             :     UINT64_C(4085253008),       // VRSRAuv1i64
    2263             :     UINT64_C(4087350032),       // VRSRAuv2i32
    2264             :     UINT64_C(4085253072),       // VRSRAuv2i64
    2265             :     UINT64_C(4086301456),       // VRSRAuv4i16
    2266             :     UINT64_C(4087350096),       // VRSRAuv4i32
    2267             :     UINT64_C(4086301520),       // VRSRAuv8i16
    2268             :     UINT64_C(4085777168),       // VRSRAuv8i8
    2269             :     UINT64_C(4087350784),       // VRSUBHNv2i32
    2270             :     UINT64_C(4086302208),       // VRSUBHNv4i16
    2271             :     UINT64_C(4085253632),       // VRSUBHNv8i8
    2272             :     UINT64_C(4229958912),       // VSDOTD
    2273             :     UINT64_C(4263513344),       // VSDOTDI
    2274             :     UINT64_C(4229958976),       // VSDOTQ
    2275             :     UINT64_C(4263513408),       // VSDOTQI
    2276             :     UINT64_C(4261415680),       // VSELEQD
    2277             :     UINT64_C(4261415168),       // VSELEQH
    2278             :     UINT64_C(4261415424),       // VSELEQS
    2279             :     UINT64_C(4263512832),       // VSELGED
    2280             :     UINT64_C(4263512320),       // VSELGEH
    2281             :     UINT64_C(4263512576),       // VSELGES
    2282             :     UINT64_C(4264561408),       // VSELGTD
    2283             :     UINT64_C(4264560896),       // VSELGTH
    2284             :     UINT64_C(4264561152),       // VSELGTS
    2285             :     UINT64_C(4262464256),       // VSELVSD
    2286             :     UINT64_C(4262463744),       // VSELVSH
    2287             :     UINT64_C(4262464000),       // VSELVSS
    2288             :     UINT64_C(234883888),        // VSETLNi16
    2289             :     UINT64_C(234883856),        // VSETLNi32
    2290             :     UINT64_C(239078160),        // VSETLNi8
    2291             :     UINT64_C(4088791808),       // VSHLLi16
    2292             :     UINT64_C(4089053952),       // VSHLLi32
    2293             :     UINT64_C(4088529664),       // VSHLLi8
    2294             :     UINT64_C(4070574608),       // VSHLLsv2i64
    2295             :     UINT64_C(4069526032),       // VSHLLsv4i32
    2296             :     UINT64_C(4069001744),       // VSHLLsv8i16
    2297             :     UINT64_C(4087351824),       // VSHLLuv2i64
    2298             :     UINT64_C(4086303248),       // VSHLLuv4i32
    2299             :     UINT64_C(4085778960),       // VSHLLuv8i16
    2300             :     UINT64_C(4069000528),       // VSHLiv16i8
    2301             :     UINT64_C(4068476304),       // VSHLiv1i64
    2302             :     UINT64_C(4070573328),       // VSHLiv2i32
    2303             :     UINT64_C(4068476368),       // VSHLiv2i64
    2304             :     UINT64_C(4069524752),       // VSHLiv4i16
    2305             :     UINT64_C(4070573392),       // VSHLiv4i32
    2306             :     UINT64_C(4069524816),       // VSHLiv8i16
    2307             :     UINT64_C(4069000464),       // VSHLiv8i8
    2308             :     UINT64_C(4060087360),       // VSHLsv16i8
    2309             :     UINT64_C(4063233024),       // VSHLsv1i64
    2310             :     UINT64_C(4062184448),       // VSHLsv2i32
    2311             :     UINT64_C(4063233088),       // VSHLsv2i64
    2312             :     UINT64_C(4061135872),       // VSHLsv4i16
    2313             :     UINT64_C(4062184512),       // VSHLsv4i32
    2314             :     UINT64_C(4061135936),       // VSHLsv8i16
    2315             :     UINT64_C(4060087296),       // VSHLsv8i8
    2316             :     UINT64_C(4076864576),       // VSHLuv16i8
    2317             :     UINT64_C(4080010240),       // VSHLuv1i64
    2318             :     UINT64_C(4078961664),       // VSHLuv2i32
    2319             :     UINT64_C(4080010304),       // VSHLuv2i64
    2320             :     UINT64_C(4077913088),       // VSHLuv4i16
    2321             :     UINT64_C(4078961728),       // VSHLuv4i32
    2322             :     UINT64_C(4077913152),       // VSHLuv8i16
    2323             :     UINT64_C(4076864512),       // VSHLuv8i8
    2324             :     UINT64_C(4070574096),       // VSHRNv2i32
    2325             :     UINT64_C(4069525520),       // VSHRNv4i16
    2326             :     UINT64_C(4069001232),       // VSHRNv8i8
    2327             :     UINT64_C(4068999248),       // VSHRsv16i8
    2328             :     UINT64_C(4068475024),       // VSHRsv1i64
    2329             :     UINT64_C(4070572048),       // VSHRsv2i32
    2330             :     UINT64_C(4068475088),       // VSHRsv2i64
    2331             :     UINT64_C(4069523472),       // VSHRsv4i16
    2332             :     UINT64_C(4070572112),       // VSHRsv4i32
    2333             :     UINT64_C(4069523536),       // VSHRsv8i16
    2334             :     UINT64_C(4068999184),       // VSHRsv8i8
    2335             :     UINT64_C(4085776464),       // VSHRuv16i8
    2336             :     UINT64_C(4085252240),       // VSHRuv1i64
    2337             :     UINT64_C(4087349264),       // VSHRuv2i32
    2338             :     UINT64_C(4085252304),       // VSHRuv2i64
    2339             :     UINT64_C(4086300688),       // VSHRuv4i16
    2340             :     UINT64_C(4087349328),       // VSHRuv4i32
    2341             :     UINT64_C(4086300752),       // VSHRuv8i16
    2342             :     UINT64_C(4085776400),       // VSHRuv8i8
    2343             :     UINT64_C(247073600),        // VSHTOD
    2344             :     UINT64_C(247073088),        // VSHTOH
    2345             :     UINT64_C(247073344),        // VSHTOS
    2346             :     UINT64_C(246942656),        // VSITOD
    2347             :     UINT64_C(246942144),        // VSITOH
    2348             :     UINT64_C(246942400),        // VSITOS
    2349             :     UINT64_C(4085777744),       // VSLIv16i8
    2350             :     UINT64_C(4085253520),       // VSLIv1i64
    2351             :     UINT64_C(4087350544),       // VSLIv2i32
    2352             :     UINT64_C(4085253584),       // VSLIv2i64
    2353             :     UINT64_C(4086301968),       // VSLIv4i16
    2354             :     UINT64_C(4087350608),       // VSLIv4i32
    2355             :     UINT64_C(4086302032),       // VSLIv8i16
    2356             :     UINT64_C(4085777680),       // VSLIv8i8
    2357             :     UINT64_C(247073728),        // VSLTOD
    2358             :     UINT64_C(247073216),        // VSLTOH
    2359             :     UINT64_C(247073472),        // VSLTOS
    2360             :     UINT64_C(246483904),        // VSQRTD
    2361             :     UINT64_C(246483392),        // VSQRTH
    2362             :     UINT64_C(246483648),        // VSQRTS
    2363             :     UINT64_C(4068999504),       // VSRAsv16i8
    2364             :     UINT64_C(4068475280),       // VSRAsv1i64
    2365             :     UINT64_C(4070572304),       // VSRAsv2i32
    2366             :     UINT64_C(4068475344),       // VSRAsv2i64
    2367             :     UINT64_C(4069523728),       // VSRAsv4i16
    2368             :     UINT64_C(4070572368),       // VSRAsv4i32
    2369             :     UINT64_C(4069523792),       // VSRAsv8i16
    2370             :     UINT64_C(4068999440),       // VSRAsv8i8
    2371             :     UINT64_C(4085776720),       // VSRAuv16i8
    2372             :     UINT64_C(4085252496),       // VSRAuv1i64
    2373             :     UINT64_C(4087349520),       // VSRAuv2i32
    2374             :     UINT64_C(4085252560),       // VSRAuv2i64
    2375             :     UINT64_C(4086300944),       // VSRAuv4i16
    2376             :     UINT64_C(4087349584),       // VSRAuv4i32
    2377             :     UINT64_C(4086301008),       // VSRAuv8i16
    2378             :     UINT64_C(4085776656),       // VSRAuv8i8
    2379             :     UINT64_C(4085777488),       // VSRIv16i8
    2380             :     UINT64_C(4085253264),       // VSRIv1i64
    2381             :     UINT64_C(4087350288),       // VSRIv2i32
    2382             :     UINT64_C(4085253328),       // VSRIv2i64
    2383             :     UINT64_C(4086301712),       // VSRIv4i16
    2384             :     UINT64_C(4087350352),       // VSRIv4i32
    2385             :     UINT64_C(4086301776),       // VSRIv8i16
    2386             :     UINT64_C(4085777424),       // VSRIv8i8
    2387             :     UINT64_C(4102030351),       // VST1LNd16
    2388             :     UINT64_C(4102030336),       // VST1LNd16_UPD
    2389             :     UINT64_C(4102031375),       // VST1LNd32
    2390             :     UINT64_C(4102031360),       // VST1LNd32_UPD
    2391             :     UINT64_C(4102029327),       // VST1LNd8
    2392             :     UINT64_C(4102029312),       // VST1LNd8_UPD
    2393             :     UINT64_C(0),        // VST1LNq16Pseudo
    2394             :     UINT64_C(0),        // VST1LNq16Pseudo_UPD
    2395             :     UINT64_C(0),        // VST1LNq32Pseudo
    2396             :     UINT64_C(0),        // VST1LNq32Pseudo_UPD
    2397             :     UINT64_C(0),        // VST1LNq8Pseudo
    2398             :     UINT64_C(0),        // VST1LNq8Pseudo_UPD
    2399             :     UINT64_C(4093642575),       // VST1d16
    2400             :     UINT64_C(4093641295),       // VST1d16Q
    2401             :     UINT64_C(0),        // VST1d16QPseudo
    2402             :     UINT64_C(4093641293),       // VST1d16Qwb_fixed
    2403             :     UINT64_C(4093641280),       // VST1d16Qwb_register
    2404             :     UINT64_C(4093642319),       // VST1d16T
    2405             :     UINT64_C(0),        // VST1d16TPseudo
    2406             :     UINT64_C(4093642317),       // VST1d16Twb_fixed
    2407             :     UINT64_C(4093642304),       // VST1d16Twb_register
    2408             :     UINT64_C(4093642573),       // VST1d16wb_fixed
    2409             :     UINT64_C(4093642560),       // VST1d16wb_register
    2410             :     UINT64_C(4093642639),       // VST1d32
    2411             :     UINT64_C(4093641359),       // VST1d32Q
    2412             :     UINT64_C(0),        // VST1d32QPseudo
    2413             :     UINT64_C(4093641357),       // VST1d32Qwb_fixed
    2414             :     UINT64_C(4093641344),       // VST1d32Qwb_register
    2415             :     UINT64_C(4093642383),       // VST1d32T
    2416             :     UINT64_C(0),        // VST1d32TPseudo
    2417             :     UINT64_C(4093642381),       // VST1d32Twb_fixed
    2418             :     UINT64_C(4093642368),       // VST1d32Twb_register
    2419             :     UINT64_C(4093642637),       // VST1d32wb_fixed
    2420             :     UINT64_C(4093642624),       // VST1d32wb_register
    2421             :     UINT64_C(4093642703),       // VST1d64
    2422             :     UINT64_C(4093641423),       // VST1d64Q
    2423             :     UINT64_C(0),        // VST1d64QPseudo
    2424             :     UINT64_C(0),        // VST1d64QPseudoWB_fixed
    2425             :     UINT64_C(0),        // VST1d64QPseudoWB_register
    2426             :     UINT64_C(4093641421),       // VST1d64Qwb_fixed
    2427             :     UINT64_C(4093641408),       // VST1d64Qwb_register
    2428             :     UINT64_C(4093642447),       // VST1d64T
    2429             :     UINT64_C(0),        // VST1d64TPseudo
    2430             :     UINT64_C(0),        // VST1d64TPseudoWB_fixed
    2431             :     UINT64_C(0),        // VST1d64TPseudoWB_register
    2432             :     UINT64_C(4093642445),       // VST1d64Twb_fixed
    2433             :     UINT64_C(4093642432),       // VST1d64Twb_register
    2434             :     UINT64_C(4093642701),       // VST1d64wb_fixed
    2435             :     UINT64_C(4093642688),       // VST1d64wb_register
    2436             :     UINT64_C(4093642511),       // VST1d8
    2437             :     UINT64_C(4093641231),       // VST1d8Q
    2438             :     UINT64_C(0),        // VST1d8QPseudo
    2439             :     UINT64_C(4093641229),       // VST1d8Qwb_fixed
    2440             :     UINT64_C(4093641216),       // VST1d8Qwb_register
    2441             :     UINT64_C(4093642255),       // VST1d8T
    2442             :     UINT64_C(0),        // VST1d8TPseudo
    2443             :     UINT64_C(4093642253),       // VST1d8Twb_fixed
    2444             :     UINT64_C(4093642240),       // VST1d8Twb_register
    2445             :     UINT64_C(4093642509),       // VST1d8wb_fixed
    2446             :     UINT64_C(4093642496),       // VST1d8wb_register
    2447             :     UINT64_C(4093643343),       // VST1q16
    2448             :     UINT64_C(0),        // VST1q16HighQPseudo
    2449             :     UINT64_C(0),        // VST1q16HighTPseudo
    2450             :     UINT64_C(0),        // VST1q16LowQPseudo_UPD
    2451             :     UINT64_C(0),        // VST1q16LowTPseudo_UPD
    2452             :     UINT64_C(4093643341),       // VST1q16wb_fixed
    2453             :     UINT64_C(4093643328),       // VST1q16wb_register
    2454             :     UINT64_C(4093643407),       // VST1q32
    2455             :     UINT64_C(0),        // VST1q32HighQPseudo
    2456             :     UINT64_C(0),        // VST1q32HighTPseudo
    2457             :     UINT64_C(0),        // VST1q32LowQPseudo_UPD
    2458             :     UINT64_C(0),        // VST1q32LowTPseudo_UPD
    2459             :     UINT64_C(4093643405),       // VST1q32wb_fixed
    2460             :     UINT64_C(4093643392),       // VST1q32wb_register
    2461             :     UINT64_C(4093643471),       // VST1q64
    2462             :     UINT64_C(0),        // VST1q64HighQPseudo
    2463             :     UINT64_C(0),        // VST1q64HighTPseudo
    2464             :     UINT64_C(0),        // VST1q64LowQPseudo_UPD
    2465             :     UINT64_C(0),        // VST1q64LowTPseudo_UPD
    2466             :     UINT64_C(4093643469),       // VST1q64wb_fixed
    2467             :     UINT64_C(4093643456),       // VST1q64wb_register
    2468             :     UINT64_C(4093643279),       // VST1q8
    2469             :     UINT64_C(0),        // VST1q8HighQPseudo
    2470             :     UINT64_C(0),        // VST1q8HighTPseudo
    2471             :     UINT64_C(0),        // VST1q8LowQPseudo_UPD
    2472             :     UINT64_C(0),        // VST1q8LowTPseudo_UPD
    2473             :     UINT64_C(4093643277),       // VST1q8wb_fixed
    2474             :     UINT64_C(4093643264),       // VST1q8wb_register
    2475             :     UINT64_C(4102030607),       // VST2LNd16
    2476             :     UINT64_C(0),        // VST2LNd16Pseudo
    2477             :     UINT64_C(0),        // VST2LNd16Pseudo_UPD
    2478             :     UINT64_C(4102030592),       // VST2LNd16_UPD
    2479             :     UINT64_C(4102031631),       // VST2LNd32
    2480             :     UINT64_C(0),        // VST2LNd32Pseudo
    2481             :     UINT64_C(0),        // VST2LNd32Pseudo_UPD
    2482             :     UINT64_C(4102031616),       // VST2LNd32_UPD
    2483             :     UINT64_C(4102029583),       // VST2LNd8
    2484             :     UINT64_C(0),        // VST2LNd8Pseudo
    2485             :     UINT64_C(0),        // VST2LNd8Pseudo_UPD
    2486             :     UINT64_C(4102029568),       // VST2LNd8_UPD
    2487             :     UINT64_C(4102030639),       // VST2LNq16
    2488             :     UINT64_C(0),        // VST2LNq16Pseudo
    2489             :     UINT64_C(0),        // VST2LNq16Pseudo_UPD
    2490             :     UINT64_C(4102030624),       // VST2LNq16_UPD
    2491             :     UINT64_C(4102031695),       // VST2LNq32
    2492             :     UINT64_C(0),        // VST2LNq32Pseudo
    2493             :     UINT64_C(0),        // VST2LNq32Pseudo_UPD
    2494             :     UINT64_C(4102031680),       // VST2LNq32_UPD
    2495             :     UINT64_C(4093643087),       // VST2b16
    2496             :     UINT64_C(4093643085),       // VST2b16wb_fixed
    2497             :     UINT64_C(4093643072),       // VST2b16wb_register
    2498             :     UINT64_C(4093643151),       // VST2b32
    2499             :     UINT64_C(4093643149),       // VST2b32wb_fixed
    2500             :     UINT64_C(4093643136),       // VST2b32wb_register
    2501             :     UINT64_C(4093643023),       // VST2b8
    2502             :     UINT64_C(4093643021),       // VST2b8wb_fixed
    2503             :     UINT64_C(4093643008),       // VST2b8wb_register
    2504             :     UINT64_C(4093642831),       // VST2d16
    2505             :     UINT64_C(4093642829),       // VST2d16wb_fixed
    2506             :     UINT64_C(4093642816),       // VST2d16wb_register
    2507             :     UINT64_C(4093642895),       // VST2d32
    2508             :     UINT64_C(4093642893),       // VST2d32wb_fixed
    2509             :     UINT64_C(4093642880),       // VST2d32wb_register
    2510             :     UINT64_C(4093642767),       // VST2d8
    2511             :     UINT64_C(4093642765),       // VST2d8wb_fixed
    2512             :     UINT64_C(4093642752),       // VST2d8wb_register
    2513             :     UINT64_C(4093641551),       // VST2q16
    2514             :     UINT64_C(0),        // VST2q16Pseudo
    2515             :     UINT64_C(0),        // VST2q16PseudoWB_fixed
    2516             :     UINT64_C(0),        // VST2q16PseudoWB_register
    2517             :     UINT64_C(4093641549),       // VST2q16wb_fixed
    2518             :     UINT64_C(4093641536),       // VST2q16wb_register
    2519             :     UINT64_C(4093641615),       // VST2q32
    2520             :     UINT64_C(0),        // VST2q32Pseudo
    2521             :     UINT64_C(0),        // VST2q32PseudoWB_fixed
    2522             :     UINT64_C(0),        // VST2q32PseudoWB_register
    2523             :     UINT64_C(4093641613),       // VST2q32wb_fixed
    2524             :     UINT64_C(4093641600),       // VST2q32wb_register
    2525             :     UINT64_C(4093641487),       // VST2q8
    2526             :     UINT64_C(0),        // VST2q8Pseudo
    2527             :     UINT64_C(0),        // VST2q8PseudoWB_fixed
    2528             :     UINT64_C(0),        // VST2q8PseudoWB_register
    2529             :     UINT64_C(4093641485),       // VST2q8wb_fixed
    2530             :     UINT64_C(4093641472),       // VST2q8wb_register
    2531             :     UINT64_C(4102030863),       // VST3LNd16
    2532             :     UINT64_C(0),        // VST3LNd16Pseudo
    2533             :     UINT64_C(0),        // VST3LNd16Pseudo_UPD
    2534             :     UINT64_C(4102030848),       // VST3LNd16_UPD
    2535             :     UINT64_C(4102031887),       // VST3LNd32
    2536             :     UINT64_C(0),        // VST3LNd32Pseudo
    2537             :     UINT64_C(0),        // VST3LNd32Pseudo_UPD
    2538             :     UINT64_C(4102031872),       // VST3LNd32_UPD
    2539             :     UINT64_C(4102029839),       // VST3LNd8
    2540             :     UINT64_C(0),        // VST3LNd8Pseudo
    2541             :     UINT64_C(0),        // VST3LNd8Pseudo_UPD
    2542             :     UINT64_C(4102029824),       // VST3LNd8_UPD
    2543             :     UINT64_C(4102030895),       // VST3LNq16
    2544             :     UINT64_C(0),        // VST3LNq16Pseudo
    2545             :     UINT64_C(0),        // VST3LNq16Pseudo_UPD
    2546             :     UINT64_C(4102030880),       // VST3LNq16_UPD
    2547             :     UINT64_C(4102031951),       // VST3LNq32
    2548             :     UINT64_C(0),        // VST3LNq32Pseudo
    2549             :     UINT64_C(0),        // VST3LNq32Pseudo_UPD
    2550             :     UINT64_C(4102031936),       // VST3LNq32_UPD
    2551             :     UINT64_C(4093641807),       // VST3d16
    2552             :     UINT64_C(0),        // VST3d16Pseudo
    2553             :     UINT64_C(0),        // VST3d16Pseudo_UPD
    2554             :     UINT64_C(4093641792),       // VST3d16_UPD
    2555             :     UINT64_C(4093641871),       // VST3d32
    2556             :     UINT64_C(0),        // VST3d32Pseudo
    2557             :     UINT64_C(0),        // VST3d32Pseudo_UPD
    2558             :     UINT64_C(4093641856),       // VST3d32_UPD
    2559             :     UINT64_C(4093641743),       // VST3d8
    2560             :     UINT64_C(0),        // VST3d8Pseudo
    2561             :     UINT64_C(0),        // VST3d8Pseudo_UPD
    2562             :     UINT64_C(4093641728),       // VST3d8_UPD
    2563             :     UINT64_C(4093642063),       // VST3q16
    2564             :     UINT64_C(0),        // VST3q16Pseudo_UPD
    2565             :     UINT64_C(4093642048),       // VST3q16_UPD
    2566             :     UINT64_C(0),        // VST3q16oddPseudo
    2567             :     UINT64_C(0),        // VST3q16oddPseudo_UPD
    2568             :     UINT64_C(4093642127),       // VST3q32
    2569             :     UINT64_C(0),        // VST3q32Pseudo_UPD
    2570             :     UINT64_C(4093642112),       // VST3q32_UPD
    2571             :     UINT64_C(0),        // VST3q32oddPseudo
    2572             :     UINT64_C(0),        // VST3q32oddPseudo_UPD
    2573             :     UINT64_C(4093641999),       // VST3q8
    2574             :     UINT64_C(0),        // VST3q8Pseudo_UPD
    2575             :     UINT64_C(4093641984),       // VST3q8_UPD
    2576             :     UINT64_C(0),        // VST3q8oddPseudo
    2577             :     UINT64_C(0),        // VST3q8oddPseudo_UPD
    2578             :     UINT64_C(4102031119),       // VST4LNd16
    2579             :     UINT64_C(0),        // VST4LNd16Pseudo
    2580             :     UINT64_C(0),        // VST4LNd16Pseudo_UPD
    2581             :     UINT64_C(4102031104),       // VST4LNd16_UPD
    2582             :     UINT64_C(4102032143),       // VST4LNd32
    2583             :     UINT64_C(0),        // VST4LNd32Pseudo
    2584             :     UINT64_C(0),        // VST4LNd32Pseudo_UPD
    2585             :     UINT64_C(4102032128),       // VST4LNd32_UPD
    2586             :     UINT64_C(4102030095),       // VST4LNd8
    2587             :     UINT64_C(0),        // VST4LNd8Pseudo
    2588             :     UINT64_C(0),        // VST4LNd8Pseudo_UPD
    2589             :     UINT64_C(4102030080),       // VST4LNd8_UPD
    2590             :     UINT64_C(4102031151),       // VST4LNq16
    2591             :     UINT64_C(0),        // VST4LNq16Pseudo
    2592             :     UINT64_C(0),        // VST4LNq16Pseudo_UPD
    2593             :     UINT64_C(4102031136),       // VST4LNq16_UPD
    2594             :     UINT64_C(4102032207),       // VST4LNq32
    2595             :     UINT64_C(0),        // VST4LNq32Pseudo
    2596             :     UINT64_C(0),        // VST4LNq32Pseudo_UPD
    2597             :     UINT64_C(4102032192),       // VST4LNq32_UPD
    2598             :     UINT64_C(4093640783),       // VST4d16
    2599             :     UINT64_C(0),        // VST4d16Pseudo
    2600             :     UINT64_C(0),        // VST4d16Pseudo_UPD
    2601             :     UINT64_C(4093640768),       // VST4d16_UPD
    2602             :     UINT64_C(4093640847),       // VST4d32
    2603             :     UINT64_C(0),        // VST4d32Pseudo
    2604             :     UINT64_C(0),        // VST4d32Pseudo_UPD
    2605             :     UINT64_C(4093640832),       // VST4d32_UPD
    2606             :     UINT64_C(4093640719),       // VST4d8
    2607             :     UINT64_C(0),        // VST4d8Pseudo
    2608             :     UINT64_C(0),        // VST4d8Pseudo_UPD
    2609             :     UINT64_C(4093640704),       // VST4d8_UPD
    2610             :     UINT64_C(4093641039),       // VST4q16
    2611             :     UINT64_C(0),        // VST4q16Pseudo_UPD
    2612             :     UINT64_C(4093641024),       // VST4q16_UPD
    2613             :     UINT64_C(0),        // VST4q16oddPseudo
    2614             :     UINT64_C(0),        // VST4q16oddPseudo_UPD
    2615             :     UINT64_C(4093641103),       // VST4q32
    2616             :     UINT64_C(0),        // VST4q32Pseudo_UPD
    2617             :     UINT64_C(4093641088),       // VST4q32_UPD
    2618             :     UINT64_C(0),        // VST4q32oddPseudo
    2619             :     UINT64_C(0),        // VST4q32oddPseudo_UPD
    2620             :     UINT64_C(4093640975),       // VST4q8
    2621             :     UINT64_C(0),        // VST4q8Pseudo_UPD
    2622             :     UINT64_C(4093640960),       // VST4q8_UPD
    2623             :     UINT64_C(0),        // VST4q8oddPseudo
    2624             :     UINT64_C(0),        // VST4q8oddPseudo_UPD
    2625             :     UINT64_C(220203776),        // VSTMDDB_UPD
    2626             :     UINT64_C(209718016),        // VSTMDIA
    2627             :     UINT64_C(211815168),        // VSTMDIA_UPD
    2628             :     UINT64_C(0),        // VSTMQIA
    2629             :     UINT64_C(220203520),        // VSTMSDB_UPD
    2630             :     UINT64_C(209717760),        // VSTMSIA
    2631             :     UINT64_C(211814912),        // VSTMSIA_UPD
    2632             :     UINT64_C(218106624),        // VSTRD
    2633             :     UINT64_C(218106112),        // VSTRH
    2634             :     UINT64_C(218106368),        // VSTRS
    2635             :     UINT64_C(238029632),        // VSUBD
    2636             :     UINT64_C(238029120),        // VSUBH
    2637             :     UINT64_C(4070573568),       // VSUBHNv2i32
    2638             :     UINT64_C(4069524992),       // VSUBHNv4i16
    2639             :     UINT64_C(4068476416),       // VSUBHNv8i8
    2640             :     UINT64_C(4070572544),       // VSUBLsv2i64
    2641             :     UINT64_C(4069523968),       // VSUBLsv4i32
    2642             :     UINT64_C(4068475392),       // VSUBLsv8i16
    2643             :     UINT64_C(4087349760),       // VSUBLuv2i64
    2644             :     UINT64_C(4086301184),       // VSUBLuv4i32
    2645             :     UINT64_C(4085252608),       // VSUBLuv8i16
    2646             :     UINT64_C(238029376),        // VSUBS
    2647             :     UINT64_C(4070572800),       // VSUBWsv2i64
    2648             :     UINT64_C(4069524224),       // VSUBWsv4i32
    2649             :     UINT64_C(4068475648),       // VSUBWsv8i16
    2650             :     UINT64_C(4087350016),       // VSUBWuv2i64
    2651             :     UINT64_C(4086301440),       // VSUBWuv4i32
    2652             :     UINT64_C(4085252864),       // VSUBWuv8i16
    2653             :     UINT64_C(4062186752),       // VSUBfd
    2654             :     UINT64_C(4062186816),       // VSUBfq
    2655             :     UINT64_C(4063235328),       // VSUBhd
    2656             :     UINT64_C(4063235392),       // VSUBhq
    2657             :     UINT64_C(4076865600),       // VSUBv16i8
    2658             :     UINT64_C(4080011264),       // VSUBv1i64
    2659             :     UINT64_C(4078962688),       // VSUBv2i32
    2660             :     UINT64_C(4080011328),       // VSUBv2i64
    2661             :     UINT64_C(4077914112),       // VSUBv4i16
    2662             :     UINT64_C(4078962752),       // VSUBv4i32
    2663             :     UINT64_C(4077914176),       // VSUBv8i16
    2664             :     UINT64_C(4076865536),       // VSUBv8i8
    2665             :     UINT64_C(4088528896),       // VSWPd
    2666             :     UINT64_C(4088528960),       // VSWPq
    2667             :     UINT64_C(4088399872),       // VTBL1
    2668             :     UINT64_C(4088400128),       // VTBL2
    2669             :     UINT64_C(4088400384),       // VTBL3
    2670             :     UINT64_C(0),        // VTBL3Pseudo
    2671             :     UINT64_C(4088400640),       // VTBL4
    2672             :     UINT64_C(0),        // VTBL4Pseudo
    2673             :     UINT64_C(4088399936),       // VTBX1
    2674             :     UINT64_C(4088400192),       // VTBX2
    2675             :     UINT64_C(4088400448),       // VTBX3
    2676             :     UINT64_C(0),        // VTBX3Pseudo
    2677             :     UINT64_C(4088400704),       // VTBX4
    2678             :     UINT64_C(0),        // VTBX4Pseudo
    2679             :     UINT64_C(247335744),        // VTOSHD
    2680             :     UINT64_C(247335232),        // VTOSHH
    2681             :     UINT64_C(247335488),        // VTOSHS
    2682             :     UINT64_C(247270208),        // VTOSIRD
    2683             :     UINT64_C(247269696),        // VTOSIRH
    2684             :     UINT64_C(247269952),        // VTOSIRS
    2685             :     UINT64_C(247270336),        // VTOSIZD
    2686             :     UINT64_C(247269824),        // VTOSIZH
    2687             :     UINT64_C(247270080),        // VTOSIZS
    2688             :     UINT64_C(247335872),        // VTOSLD
    2689             :     UINT64_C(247335360),        // VTOSLH
    2690             :     UINT64_C(247335616),        // VTOSLS
    2691             :     UINT64_C(247401280),        // VTOUHD
    2692             :     UINT64_C(247400768),        // VTOUHH
    2693             :     UINT64_C(247401024),        // VTOUHS
    2694             :     UINT64_C(247204672),        // VTOUIRD
    2695             :     UINT64_C(247204160),        // VTOUIRH
    2696             :     UINT64_C(247204416),        // VTOUIRS
    2697             :     UINT64_C(247204800),        // VTOUIZD
    2698             :     UINT64_C(247204288),        // VTOUIZH
    2699             :     UINT64_C(247204544),        // VTOUIZS
    2700             :     UINT64_C(247401408),        // VTOULD
    2701             :     UINT64_C(247400896),        // VTOULH
    2702             :     UINT64_C(247401152),        // VTOULS
    2703             :     UINT64_C(4088791168),       // VTRNd16
    2704             :     UINT64_C(4089053312),       // VTRNd32
    2705             :     UINT64_C(4088529024),       // VTRNd8
    2706             :     UINT64_C(4088791232),       // VTRNq16
    2707             :     UINT64_C(4089053376),       // VTRNq32
    2708             :     UINT64_C(4088529088),       // VTRNq8
    2709             :     UINT64_C(4060088400),       // VTSTv16i8
    2710             :     UINT64_C(4062185488),       // VTSTv2i32
    2711             :     UINT64_C(4061136912),       // VTSTv4i16
    2712             :     UINT64_C(4062185552),       // VTSTv4i32
    2713             :     UINT64_C(4061136976),       // VTSTv8i16
    2714             :     UINT64_C(4060088336),       // VTSTv8i8
    2715             :     UINT64_C(4229958928),       // VUDOTD
    2716             :     UINT64_C(4263513360),       // VUDOTDI
    2717             :     UINT64_C(4229958992),       // VUDOTQ
    2718             :     UINT64_C(4263513424),       // VUDOTQI
    2719             :     UINT64_C(247139136),        // VUHTOD
    2720             :     UINT64_C(247138624),        // VUHTOH
    2721             :     UINT64_C(247138880),        // VUHTOS
    2722             :     UINT64_C(246942528),        // VUITOD
    2723             :     UINT64_C(246942016),        // VUITOH
    2724             :     UINT64_C(246942272),        // VUITOS
    2725             :     UINT64_C(247139264),        // VULTOD
    2726             :     UINT64_C(247138752),        // VULTOH
    2727             :     UINT64_C(247139008),        // VULTOS
    2728             :     UINT64_C(4088791296),       // VUZPd16
    2729             :     UINT64_C(4088529152),       // VUZPd8
    2730             :     UINT64_C(4088791360),       // VUZPq16
    2731             :     UINT64_C(4089053504),       // VUZPq32
    2732             :     UINT64_C(4088529216),       // VUZPq8
    2733             :     UINT64_C(4088791424),       // VZIPd16
    2734             :     UINT64_C(4088529280),       // VZIPd8
    2735             :     UINT64_C(4088791488),       // VZIPq16
    2736             :     UINT64_C(4089053632),       // VZIPq32
    2737             :     UINT64_C(4088529344),       // VZIPq8
    2738             :     UINT64_C(139460608),        // sysLDMDA
    2739             :     UINT64_C(141557760),        // sysLDMDA_UPD
    2740             :     UINT64_C(156237824),        // sysLDMDB
    2741             :     UINT64_C(158334976),        // sysLDMDB_UPD
    2742             :     UINT64_C(147849216),        // sysLDMIA
    2743             :     UINT64_C(149946368),        // sysLDMIA_UPD
    2744             :     UINT64_C(164626432),        // sysLDMIB
    2745             :     UINT64_C(166723584),        // sysLDMIB_UPD
    2746             :     UINT64_C(138412032),        // sysSTMDA
    2747             :     UINT64_C(140509184),        // sysSTMDA_UPD
    2748             :     UINT64_C(155189248),        // sysSTMDB
    2749             :     UINT64_C(157286400),        // sysSTMDB_UPD
    2750             :     UINT64_C(146800640),        // sysSTMIA
    2751             :     UINT64_C(148897792),        // sysSTMIA_UPD
    2752             :     UINT64_C(163577856),        // sysSTMIB
    2753             :     UINT64_C(165675008),        // sysSTMIB_UPD
    2754             :     UINT64_C(4047503360),       // t2ADCri
    2755             :     UINT64_C(3946840064),       // t2ADCrr
    2756             :     UINT64_C(3946840064),       // t2ADCrs
    2757             :     UINT64_C(4043309056),       // t2ADDri
    2758             :     UINT64_C(4060086272),       // t2ADDri12
    2759             :     UINT64_C(3942645760),       // t2ADDrr
    2760             :     UINT64_C(3942645760),       // t2ADDrs
    2761             :     UINT64_C(4061069312),       // t2ADR
    2762             :     UINT64_C(4026531840),       // t2ANDri
    2763             :     UINT64_C(3925868544),       // t2ANDrr
    2764             :     UINT64_C(3925868544),       // t2ANDrs
    2765             :     UINT64_C(3931045920),       // t2ASRri
    2766             :     UINT64_C(4198559744),       // t2ASRrr
    2767             :     UINT64_C(4026568704),       // t2B
    2768             :     UINT64_C(4084137984),       // t2BFC
    2769             :     UINT64_C(4083154944),       // t2BFI
    2770             :     UINT64_C(4028628992),       // t2BICri
    2771             :     UINT64_C(3927965696),       // t2BICrr
    2772             :     UINT64_C(3927965696),       // t2BICrs
    2773             :     UINT64_C(4089483008),       // t2BXJ
    2774             :     UINT64_C(4026564608),       // t2Bcc
    2775             :     UINT64_C(3992977408),       // t2CDP
    2776             :     UINT64_C(4261412864),       // t2CDP2
    2777             :     UINT64_C(4089417519),       // t2CLREX
    2778             :     UINT64_C(4205899904),       // t2CLZ
    2779             :     UINT64_C(4044361472),       // t2CMNri
    2780             :     UINT64_C(3943698176),       // t2CMNzrr
    2781             :     UINT64_C(3943698176),       // t2CMNzrs
    2782             :     UINT64_C(4054847232),       // t2CMPri
    2783             :     UINT64_C(3954183936),       // t2CMPrr
    2784             :     UINT64_C(3954183936),       // t2CMPrs
    2785             :     UINT64_C(4088365312),       // t2CPS1p
    2786             :     UINT64_C(4088365056),       // t2CPS2p
    2787             :     UINT64_C(4088365312),       // t2CPS3p
    2788             :     UINT64_C(4206948480),       // t2CRC32B
    2789             :     UINT64_C(4207997056),       // t2CRC32CB
    2790             :     UINT64_C(4207997072),       // t2CRC32CH
    2791             :     UINT64_C(4207997088),       // t2CRC32CW
    2792             :     UINT64_C(4206948496),       // t2CRC32H
    2793             :     UINT64_C(4206948512),       // t2CRC32W
    2794             :     UINT64_C(4088365296),       // t2DBG
    2795             :     UINT64_C(4153376769),       // t2DCPS1
    2796             :     UINT64_C(4153376770),       // t2DCPS2
    2797             :     UINT64_C(4153376771),       // t2DCPS3
    2798             :     UINT64_C(4089417552),       // t2DMB
    2799             :     UINT64_C(4089417536),       // t2DSB
    2800             :     UINT64_C(4034920448),       // t2EORri
    2801             :     UINT64_C(3934257152),       // t2EORrr
    2802             :     UINT64_C(3934257152),       // t2EORrs
    2803             :     UINT64_C(4088365056),       // t2HINT
    2804             :     UINT64_C(4158685184),       // t2HVC
    2805             :     UINT64_C(4089417568),       // t2ISB
    2806             :     UINT64_C(48896),    // t2IT
    2807             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp
    2808             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp_nofp
    2809             :     UINT64_C(3905949615),       // t2LDA
    2810             :     UINT64_C(3905949583),       // t2LDAB
    2811             :     UINT64_C(3905949679),       // t2LDAEX
    2812             :     UINT64_C(3905949647),       // t2LDAEXB
    2813             :     UINT64_C(3905945855),       // t2LDAEXD
    2814             :     UINT64_C(3905949663),       // t2LDAEXH
    2815             :     UINT64_C(3905949599),       // t2LDAH
    2816             :     UINT64_C(4249878528),       // t2LDC2L_OFFSET
    2817             :     UINT64_C(4241489920),       // t2LDC2L_OPTION
    2818             :     UINT64_C(4235198464),       // t2LDC2L_POST
    2819             :     UINT64_C(4251975680),       // t2LDC2L_PRE
    2820             :     UINT64_C(4245684224),       // t2LDC2_OFFSET
    2821             :     UINT64_C(4237295616),       // t2LDC2_OPTION
    2822             :     UINT64_C(4231004160),       // t2LDC2_POST
    2823             :     UINT64_C(4247781376),       // t2LDC2_PRE
    2824             :     UINT64_C(3981443072),       // t2LDCL_OFFSET
    2825             :     UINT64_C(3973054464),       // t2LDCL_OPTION
    2826             :     UINT64_C(3966763008),       // t2LDCL_POST
    2827             :     UINT64_C(3983540224),       // t2LDCL_PRE
    2828             :     UINT64_C(3977248768),       // t2LDC_OFFSET
    2829             :     UINT64_C(3968860160),       // t2LDC_OPTION
    2830             :     UINT64_C(3962568704),       // t2LDC_POST
    2831             :     UINT64_C(3979345920),       // t2LDC_PRE
    2832             :     UINT64_C(3910139904),       // t2LDMDB
    2833             :     UINT64_C(3912237056),       // t2LDMDB_UPD
    2834             :     UINT64_C(3901751296),       // t2LDMIA
    2835             :     UINT64_C(3903848448),       // t2LDMIA_UPD
    2836             :     UINT64_C(4161801728),       // t2LDRBT
    2837             :     UINT64_C(4161800448),       // t2LDRB_POST
    2838             :     UINT64_C(4161801472),       // t2LDRB_PRE
    2839             :     UINT64_C(4170186752),       // t2LDRBi12
    2840             :     UINT64_C(4161801216),       // t2LDRBi8
    2841             :     UINT64_C(4162781184),       // t2LDRBpci
    2842             :     UINT64_C(4161798144),       // t2LDRBs
    2843             :     UINT64_C(3899654144),       // t2LDRD_POST
    2844             :     UINT64_C(3916431360),       // t2LDRD_PRE
    2845             :     UINT64_C(3914334208),       // t2LDRDi8
    2846             :     UINT64_C(3897560832),       // t2LDREX
    2847             :     UINT64_C(3905949519),       // t2LDREXB
    2848             :     UINT64_C(3905945727),       // t2LDREXD
    2849             :     UINT64_C(3905949535),       // t2LDREXH
    2850             :     UINT64_C(4163898880),       // t2LDRHT
    2851             :     UINT64_C(4163897600),       // t2LDRH_POST
    2852             :     UINT64_C(4163898624),       // t2LDRH_PRE
    2853             :     UINT64_C(4172283904),       // t2LDRHi12
    2854             :     UINT64_C(4163898368),       // t2LDRHi8
    2855             :     UINT64_C(4164878336),       // t2LDRHpci
    2856             :     UINT64_C(4163895296),       // t2LDRHs
    2857             :     UINT64_C(4178578944),       // t2LDRSBT
    2858             :     UINT64_C(4178577664),       // t2LDRSB_POST
    2859             :     UINT64_C(4178578688),       // t2LDRSB_PRE
    2860             :     UINT64_C(4186963968),       // t2LDRSBi12
    2861             :     UINT64_C(4178578432),       // t2LDRSBi8
    2862             :     UINT64_C(4179558400),       // t2LDRSBpci
    2863             :     UINT64_C(4178575360),       // t2LDRSBs
    2864             :     UINT64_C(4180676096),       // t2LDRSHT
    2865             :     UINT64_C(4180674816),       // t2LDRSH_POST
    2866             :     UINT64_C(4180675840),       // t2LDRSH_PRE
    2867             :     UINT64_C(4189061120),       // t2LDRSHi12
    2868             :     UINT64_C(4180675584),       // t2LDRSHi8
    2869             :     UINT64_C(4181655552),       // t2LDRSHpci
    2870             :     UINT64_C(4180672512),       // t2LDRSHs
    2871             :     UINT64_C(4165996032),       // t2LDRT
    2872             :     UINT64_C(4165994752),       // t2LDR_POST
    2873             :     UINT64_C(4165995776),       // t2LDR_PRE
    2874             :     UINT64_C(4174381056),       // t2LDRi12
    2875             :     UINT64_C(4165995520),       // t2LDRi8
    2876             :     UINT64_C(4166975488),       // t2LDRpci
    2877             :     UINT64_C(4165992448),       // t2LDRs
    2878             :     UINT64_C(3931045888),       // t2LSLri
    2879             :     UINT64_C(4194365440),       // t2LSLrr
    2880             :     UINT64_C(3931045904),       // t2LSRri
    2881             :     UINT64_C(4196462592),       // t2LSRrr
    2882             :     UINT64_C(3992977424),       // t2MCR
    2883             :     UINT64_C(4261412880),       // t2MCR2
    2884             :     UINT64_C(3963617280),       // t2MCRR
    2885             :     UINT64_C(4232052736),       // t2MCRR2
    2886             :     UINT64_C(4211081216),       // t2MLA
    2887             :     UINT64_C(4211081232),       // t2MLS
    2888             :     UINT64_C(4072669184),       // t2MOVTi16
    2889             :     UINT64_C(4031709184),       // t2MOVi
    2890             :     UINT64_C(4064280576),       // t2MOVi16
    2891             :     UINT64_C(3931045888),       // t2MOVr
    2892             :     UINT64_C(3932094560),       // t2MOVsra_flag
    2893             :     UINT64_C(3932094544),       // t2MOVsrl_flag
    2894             :     UINT64_C(3994026000),       // t2MRC
    2895             :     UINT64_C(4262461456),       // t2MRC2
    2896             :     UINT64_C(3964665856),       // t2MRRC
    2897             :     UINT64_C(4233101312),       // t2MRRC2
    2898             :     UINT64_C(4092559360),       // t2MRS_AR
    2899             :     UINT64_C(4092559360),       // t2MRS_M
    2900             :     UINT64_C(4091576352),       // t2MRSbanked
    2901             :     UINT64_C(4093607936),       // t2MRSsys_AR
    2902             :     UINT64_C(4085284864),       // t2MSR_AR
    2903             :     UINT64_C(4085284864),       // t2MSR_M
    2904             :     UINT64_C(4085284896),       // t2MSRbanked
    2905             :     UINT64_C(4211142656),       // t2MUL
    2906             :     UINT64_C(4033806336),       // t2MVNi
    2907             :     UINT64_C(3933143040),       // t2MVNr
    2908             :     UINT64_C(3933143040),       // t2MVNs
    2909             :     UINT64_C(4032823296),       // t2ORNri
    2910             :     UINT64_C(3932160000),       // t2ORNrr
    2911             :     UINT64_C(3932160000),       // t2ORNrs
    2912             :     UINT64_C(4030726144),       // t2ORRri
    2913             :     UINT64_C(3930062848),       // t2ORRrr
    2914             :     UINT64_C(3930062848),       // t2ORRrs
    2915             :     UINT64_C(3938451456),       // t2PKHBT
    2916             :     UINT64_C(3938451488),       // t2PKHTB
    2917             :     UINT64_C(4172345344),       // t2PLDWi12
    2918             :     UINT64_C(4163959808),       // t2PLDWi8
    2919             :     UINT64_C(4163956736),       // t2PLDWs
    2920             :     UINT64_C(4170248192),       // t2PLDi12
    2921             :     UINT64_C(4161862656),       // t2PLDi8
    2922             :     UINT64_C(4162842624),       // t2PLDpci
    2923             :     UINT64_C(4161859584),       // t2PLDs
    2924             :     UINT64_C(4187025408),       // t2PLIi12
    2925             :     UINT64_C(4178639872),       // t2PLIi8
    2926             :     UINT64_C(4179619840),       // t2PLIpci
    2927             :     UINT64_C(4178636800),       // t2PLIs
    2928             :     UINT64_C(4202754176),       // t2QADD
    2929             :     UINT64_C(4203802640),       // t2QADD16
    2930             :     UINT64_C(4202754064),       // t2QADD8
    2931             :     UINT64_C(4204851216),       // t2QASX
    2932             :     UINT64_C(4202754192),       // t2QDADD
    2933             :     UINT64_C(4202754224),       // t2QDSUB
    2934             :     UINT64_C(4209045520),       // t2QSAX
    2935             :     UINT64_C(4202754208),       // t2QSUB
    2936             :     UINT64_C(4207996944),       // t2QSUB16
    2937             :     UINT64_C(4206948368),       // t2QSUB8
    2938             :     UINT64_C(4203802784),       // t2RBIT
    2939             :     UINT64_C(4203802752),       // t2REV
    2940             :     UINT64_C(4203802768),       // t2REV16
    2941             :     UINT64_C(4203802800),       // t2REVSH
    2942             :     UINT64_C(3893411840),       // t2RFEDB
    2943             :     UINT64_C(3895508992),       // t2RFEDBW
    2944             :     UINT64_C(3918577664),       // t2RFEIA
    2945             :     UINT64_C(3920674816),       // t2RFEIAW
    2946             :     UINT64_C(3931045936),       // t2RORri
    2947             :     UINT64_C(4200656896),       // t2RORrr
    2948             :     UINT64_C(3931045936),       // t2RRX
    2949             :     UINT64_C(4055891968),       // t2RSBri
    2950             :     UINT64_C(3955228672),       // t2RSBrr
    2951             :     UINT64_C(3955228672),       // t2RSBrs
    2952             :     UINT64_C(4203802624),       // t2SADD16
    2953             :     UINT64_C(4202754048),       // t2SADD8
    2954             :     UINT64_C(4204851200),       // t2SASX
    2955             :     UINT64_C(4049600512),       // t2SBCri
    2956             :     UINT64_C(3948937216),       // t2SBCrr
    2957             :     UINT64_C(3948937216),       // t2SBCrs
    2958             :     UINT64_C(4081057792),       // t2SBFX
    2959             :     UINT64_C(4220580080),       // t2SDIV
    2960             :     UINT64_C(4204851328),       // t2SEL
    2961             :     UINT64_C(46608),    // t2SETPAN
    2962             :     UINT64_C(3917474175),       // t2SG
    2963             :     UINT64_C(4203802656),       // t2SHADD16
    2964             :     UINT64_C(4202754080),       // t2SHADD8
    2965             :     UINT64_C(4204851232),       // t2SHASX
    2966             :     UINT64_C(4209045536),       // t2SHSAX
    2967             :     UINT64_C(4207996960),       // t2SHSUB16
    2968             :     UINT64_C(4206948384),       // t2SHSUB8
    2969             :     UINT64_C(4159733760),       // t2SMC
    2970             :     UINT64_C(4212129792),       // t2SMLABB
    2971             :     UINT64_C(4212129808),       // t2SMLABT
    2972             :     UINT64_C(4213178368),       // t2SMLAD
    2973             :     UINT64_C(4213178384),       // t2SMLADX
    2974             :     UINT64_C(4223664128),       // t2SMLAL
    2975             :     UINT64_C(4223664256),       // t2SMLALBB
    2976             :     UINT64_C(4223664272),       // t2SMLALBT
    2977             :     UINT64_C(4223664320),       // t2SMLALD
    2978             :     UINT64_C(4223664336),       // t2SMLALDX
    2979             :     UINT64_C(4223664288),       // t2SMLALTB
    2980             :     UINT64_C(4223664304),       // t2SMLALTT
    2981             :     UINT64_C(4212129824),       // t2SMLATB
    2982             :     UINT64_C(4212129840),       // t2SMLATT
    2983             :     UINT64_C(4214226944),       // t2SMLAWB
    2984             :     UINT64_C(4214226960),       // t2SMLAWT
    2985             :     UINT64_C(4215275520),       // t2SMLSD
    2986             :     UINT64_C(4215275536),       // t2SMLSDX
    2987             :     UINT64_C(4224712896),       // t2SMLSLD
    2988             :     UINT64_C(4224712912),       // t2SMLSLDX
    2989             :     UINT64_C(4216324096),       // t2SMMLA
    2990             :     UINT64_C(4216324112),       // t2SMMLAR
    2991             :     UINT64_C(4217372672),       // t2SMMLS
    2992             :     UINT64_C(4217372688),       // t2SMMLSR
    2993             :     UINT64_C(4216385536),       // t2SMMUL
    2994             :     UINT64_C(4216385552),       // t2SMMULR
    2995             :     UINT64_C(4213239808),       // t2SMUAD
    2996             :     UINT64_C(4213239824),       // t2SMUADX
    2997             :     UINT64_C(4212191232),       // t2SMULBB
    2998             :     UINT64_C(4212191248),       // t2SMULBT
    2999             :     UINT64_C(4219469824),       // t2SMULL
    3000             :     UINT64_C(4212191264),       // t2SMULTB
    3001             :     UINT64_C(4212191280),       // t2SMULTT
    3002             :     UINT64_C(4214288384),       // t2SMULWB
    3003             :     UINT64_C(4214288400),       // t2SMULWT
    3004             :     UINT64_C(4215336960),       // t2SMUSD
    3005             :     UINT64_C(4215336976),       // t2SMUSDX
    3006             :     UINT64_C(3893215232),       // t2SRSDB
    3007             :     UINT64_C(3895312384),       // t2SRSDB_UPD
    3008             :     UINT64_C(3918381056),       // t2SRSIA
    3009             :     UINT64_C(3920478208),       // t2SRSIA_UPD
    3010             :     UINT64_C(4076863488),       // t2SSAT
    3011             :     UINT64_C(4078960640),       // t2SSAT16
    3012             :     UINT64_C(4209045504),       // t2SSAX
    3013             :     UINT64_C(4207996928),       // t2SSUB16
    3014             :     UINT64_C(4206948352),       // t2SSUB8
    3015             :     UINT64_C(4248829952),       // t2STC2L_OFFSET
    3016             :     UINT64_C(4240441344),       // t2STC2L_OPTION
    3017             :     UINT64_C(4234149888),       // t2STC2L_POST
    3018             :     UINT64_C(4250927104),       // t2STC2L_PRE
    3019             :     UINT64_C(4244635648),       // t2STC2_OFFSET
    3020             :     UINT64_C(4236247040),       // t2STC2_OPTION
    3021             :     UINT64_C(4229955584),       // t2STC2_POST
    3022             :     UINT64_C(4246732800),       // t2STC2_PRE
    3023             :     UINT64_C(3980394496),       // t2STCL_OFFSET
    3024             :     UINT64_C(3972005888),       // t2STCL_OPTION
    3025             :     UINT64_C(3965714432),       // t2STCL_POST
    3026             :     UINT64_C(3982491648),       // t2STCL_PRE
    3027             :     UINT64_C(3976200192),       // t2STC_OFFSET
    3028             :     UINT64_C(3967811584),       // t2STC_OPTION
    3029             :     UINT64_C(3961520128),       // t2STC_POST
    3030             :     UINT64_C(3978297344),       // t2STC_PRE
    3031             :     UINT64_C(3904901039),       // t2STL
    3032             :     UINT64_C(3904901007),       // t2STLB
    3033             :     UINT64_C(3904901088),       // t2STLEX
    3034             :     UINT64_C(3904901056),       // t2STLEXB
    3035             :     UINT64_C(3904897264),       // t2STLEXD
    3036             :     UINT64_C(3904901072),       // t2STLEXH
    3037             :     UINT64_C(3904901023),       // t2STLH
    3038             :     UINT64_C(3909091328),       // t2STMDB
    3039             :     UINT64_C(3911188480),       // t2STMDB_UPD
    3040             :     UINT64_C(3900702720),       // t2STMIA
    3041             :     UINT64_C(3902799872),       // t2STMIA_UPD
    3042             :     UINT64_C(4160753152),       // t2STRBT
    3043             :     UINT64_C(4160751872),       // t2STRB_POST
    3044             :     UINT64_C(4160752896),       // t2STRB_PRE
    3045             :     UINT64_C(4169138176),       // t2STRBi12
    3046             :     UINT64_C(4160752640),       // t2STRBi8
    3047             :     UINT64_C(4160749568),       // t2STRBs
    3048             :     UINT64_C(3898605568),       // t2STRD_POST
    3049             :     UINT64_C(3915382784),       // t2STRD_PRE
    3050             :     UINT64_C(3913285632),       // t2STRDi8
    3051             :     UINT64_C(3896508416),       // t2STREX
    3052             :     UINT64_C(3904900928),       // t2STREXB
    3053             :     UINT64_C(3904897136),       // t2STREXD
    3054             :     UINT64_C(3904900944),       // t2STREXH
    3055             :     UINT64_C(4162850304),       // t2STRHT
    3056             :     UINT64_C(4162849024),       // t2STRH_POST
    3057             :     UINT64_C(4162850048),       // t2STRH_PRE
    3058             :     UINT64_C(4171235328),       // t2STRHi12
    3059             :     UINT64_C(4162849792),       // t2STRHi8
    3060             :     UINT64_C(4162846720),       // t2STRHs
    3061             :     UINT64_C(4164947456),       // t2STRT
    3062             :     UINT64_C(4164946176),       // t2STR_POST
    3063             :     UINT64_C(4164947200),       // t2STR_PRE
    3064             :     UINT64_C(4173332480),       // t2STRi12
    3065             :     UINT64_C(4164946944),       // t2STRi8
    3066             :     UINT64_C(4164943872),       // t2STRs
    3067             :     UINT64_C(4091449088),       // t2SUBS_PC_LR
    3068             :     UINT64_C(4053794816),       // t2SUBri
    3069             :     UINT64_C(4070572032),       // t2SUBri12
    3070             :     UINT64_C(3953131520),       // t2SUBrr
    3071             :     UINT64_C(3953131520),       // t2SUBrs
    3072             :     UINT64_C(4198559872),       // t2SXTAB
    3073             :     UINT64_C(4196462720),       // t2SXTAB16
    3074             :     UINT64_C(4194365568),       // t2SXTAH
    3075             :     UINT64_C(4199542912),       // t2SXTB
    3076             :     UINT64_C(4197445760),       // t2SXTB16
    3077             :     UINT64_C(4195348608),       // t2SXTH
    3078             :     UINT64_C(3906007040),       // t2TBB
    3079             :     UINT64_C(3906007056),       // t2TBH
    3080             :     UINT64_C(4035972864),       // t2TEQri
    3081             :     UINT64_C(3935309568),       // t2TEQrr
    3082             :     UINT64_C(3935309568),       // t2TEQrs
    3083             :     UINT64_C(4027584256),       // t2TSTri
    3084             :     UINT64_C(3926920960),       // t2TSTrr
    3085             :     UINT64_C(3926920960),       // t2TSTrs
    3086             :     UINT64_C(3896569856),       // t2TT
    3087             :     UINT64_C(3896569984),       // t2TTA
    3088             :     UINT64_C(3896570048),       // t2TTAT
    3089             :     UINT64_C(3896569920),       // t2TTT
    3090             :     UINT64_C(4203802688),       // t2UADD16
    3091             :     UINT64_C(4202754112),       // t2UADD8
    3092             :     UINT64_C(4204851264),       // t2UASX
    3093             :     UINT64_C(4089446400),       // t2UBFX
    3094             :     UINT64_C(4159741952),       // t2UDF
    3095             :     UINT64_C(4222677232),       // t2UDIV
    3096             :     UINT64_C(4203802720),       // t2UHADD16
    3097             :     UINT64_C(4202754144),       // t2UHADD8
    3098             :     UINT64_C(4204851296),       // t2UHASX
    3099             :     UINT64_C(4209045600),       // t2UHSAX
    3100             :     UINT64_C(4207997024),       // t2UHSUB16
    3101             :     UINT64_C(4206948448),       // t2UHSUB8
    3102             :     UINT64_C(4225761376),       // t2UMAAL
    3103             :     UINT64_C(4225761280),       // t2UMLAL
    3104             :     UINT64_C(4221566976),       // t2UMULL
    3105             :     UINT64_C(4203802704),       // t2UQADD16
    3106             :     UINT64_C(4202754128),       // t2UQADD8
    3107             :     UINT64_C(4204851280),       // t2UQASX
    3108             :     UINT64_C(4209045584),       // t2UQSAX
    3109             :     UINT64_C(4207997008),       // t2UQSUB16
    3110             :     UINT64_C(4206948432),       // t2UQSUB8
    3111             :     UINT64_C(4218482688),       // t2USAD8
    3112             :     UINT64_C(4218421248),       // t2USADA8
    3113             :     UINT64_C(4085252096),       // t2USAT
    3114             :     UINT64_C(4087349248),       // t2USAT16
    3115             :     UINT64_C(4209045568),       // t2USAX
    3116             :     UINT64_C(4207996992),       // t2USUB16
    3117             :     UINT64_C(4206948416),       // t2USUB8
    3118             :     UINT64_C(4199608448),       // t2UXTAB
    3119             :     UINT64_C(4197511296),       // t2UXTAB16
    3120             :     UINT64_C(4195414144),       // t2UXTAH
    3121             :     UINT64_C(4200591488),       // t2UXTB
    3122             :     UINT64_C(4198494336),       // t2UXTB16
    3123             :     UINT64_C(4196397184),       // t2UXTH
    3124             :     UINT64_C(16704),    // tADC
    3125             :     UINT64_C(17408),    // tADDhirr
    3126             :     UINT64_C(7168),     // tADDi3
    3127             :     UINT64_C(12288),    // tADDi8
    3128             :     UINT64_C(17512),    // tADDrSP
    3129             :     UINT64_C(43008),    // tADDrSPi
    3130             :     UINT64_C(6144),     // tADDrr
    3131             :     UINT64_C(45056),    // tADDspi
    3132             :     UINT64_C(17541),    // tADDspr
    3133             :     UINT64_C(40960),    // tADR
    3134             :     UINT64_C(16384),    // tAND
    3135             :     UINT64_C(4096),     // tASRri
    3136             :     UINT64_C(16640),    // tASRrr
    3137             :     UINT64_C(57344),    // tB
    3138             :     UINT64_C(17280),    // tBIC
    3139             :     UINT64_C(48640),    // tBKPT
    3140             :     UINT64_C(4026585088),       // tBL
    3141             :     UINT64_C(18308),    // tBLXNSr
    3142             :     UINT64_C(4026580992),       // tBLXi
    3143             :     UINT64_C(18304),    // tBLXr
    3144             :     UINT64_C(18176),    // tBX
    3145             :     UINT64_C(18180),    // tBXNS
    3146             :     UINT64_C(53248),    // tBcc
    3147             :     UINT64_C(47360),    // tCBNZ
    3148             :     UINT64_C(45312),    // tCBZ
    3149             :     UINT64_C(17088),    // tCMNz
    3150             :     UINT64_C(17664),    // tCMPhir
    3151             :     UINT64_C(10240),    // tCMPi8
    3152             :     UINT64_C(17024),    // tCMPr
    3153             :     UINT64_C(46688),    // tCPS
    3154             :     UINT64_C(16448),    // tEOR
    3155             :     UINT64_C(48896),    // tHINT
    3156             :     UINT64_C(47744),    // tHLT
    3157             :     UINT64_C(0),        // tInt_WIN_eh_sjlj_longjmp
    3158             :     UINT64_C(0),        // tInt_eh_sjlj_longjmp
    3159             :     UINT64_C(0),        // tInt_eh_sjlj_setjmp
    3160             :     UINT64_C(51200),    // tLDMIA
    3161             :     UINT64_C(30720),    // tLDRBi
    3162             :     UINT64_C(23552),    // tLDRBr
    3163             :     UINT64_C(34816),    // tLDRHi
    3164             :     UINT64_C(23040),    // tLDRHr
    3165             :     UINT64_C(22016),    // tLDRSB
    3166             :     UINT64_C(24064),    // tLDRSH
    3167             :     UINT64_C(26624),    // tLDRi
    3168             :     UINT64_C(18432),    // tLDRpci
    3169             :     UINT64_C(22528),    // tLDRr
    3170             :     UINT64_C(38912),    // tLDRspi
    3171             :     UINT64_C(0),        // tLSLri
    3172             :     UINT64_C(16512),    // tLSLrr
    3173             :     UINT64_C(2048),     // tLSRri
    3174             :     UINT64_C(16576),    // tLSRrr
    3175             :     UINT64_C(0),        // tMOVSr
    3176             :     UINT64_C(8192),     // tMOVi8
    3177             :     UINT64_C(17920),    // tMOVr
    3178             :     UINT64_C(17216),    // tMUL
    3179             :     UINT64_C(17344),    // tMVN
    3180             :     UINT64_C(17152),    // tORR
    3181             :     UINT64_C(17528),    // tPICADD
    3182             :     UINT64_C(48128),    // tPOP
    3183             :     UINT64_C(46080),    // tPUSH
    3184             :     UINT64_C(47616),    // tREV
    3185             :     UINT64_C(47680),    // tREV16
    3186             :     UINT64_C(47808),    // tREVSH
    3187             :     UINT64_C(16832),    // tROR
    3188             :     UINT64_C(16960),    // tRSB
    3189             :     UINT64_C(16768),    // tSBC
    3190             :     UINT64_C(46672),    // tSETEND
    3191             :     UINT64_C(49152),    // tSTMIA_UPD
    3192             :     UINT64_C(28672),    // tSTRBi
    3193             :     UINT64_C(21504),    // tSTRBr
    3194             :     UINT64_C(32768),    // tSTRHi
    3195             :     UINT64_C(20992),    // tSTRHr
    3196             :     UINT64_C(24576),    // tSTRi
    3197             :     UINT64_C(20480),    // tSTRr
    3198             :     UINT64_C(36864),    // tSTRspi
    3199             :     UINT64_C(7680),     // tSUBi3
    3200             :     UINT64_C(14336),    // tSUBi8
    3201             :     UINT64_C(6656),     // tSUBrr
    3202             :     UINT64_C(45184),    // tSUBspi
    3203             :     UINT64_C(57088),    // tSVC
    3204             :     UINT64_C(45632),    // tSXTB
    3205             :     UINT64_C(45568),    // tSXTH
    3206             :     UINT64_C(57086),    // tTRAP
    3207             :     UINT64_C(16896),    // tTST
    3208             :     UINT64_C(56832),    // tUDF
    3209             :     UINT64_C(45760),    // tUXTB
    3210             :     UINT64_C(45696),    // tUXTH
    3211             :     UINT64_C(57081),    // t__brkdiv0
    3212             :     UINT64_C(0)
    3213             :   };
    3214       41626 :   const unsigned opcode = MI.getOpcode();
    3215       41626 :   uint64_t Value = InstBits[opcode];
    3216             :   uint64_t op = 0;
    3217             :   (void)op;  // suppress warning
    3218       41626 :   switch (opcode) {
    3219             :     case ARM::CLREX:
    3220             :     case ARM::TRAP:
    3221             :     case ARM::TRAPNaCl:
    3222             :     case ARM::VLD1LNq16Pseudo:
    3223             :     case ARM::VLD1LNq16Pseudo_UPD:
    3224             :     case ARM::VLD1LNq32Pseudo:
    3225             :     case ARM::VLD1LNq32Pseudo_UPD:
    3226             :     case ARM::VLD1LNq8Pseudo:
    3227             :     case ARM::VLD1LNq8Pseudo_UPD:
    3228             :     case ARM::VLD1d16QPseudo:
    3229             :     case ARM::VLD1d16TPseudo:
    3230             :     case ARM::VLD1d32QPseudo:
    3231             :     case ARM::VLD1d32TPseudo:
    3232             :     case ARM::VLD1d64QPseudo:
    3233             :     case ARM::VLD1d64QPseudoWB_fixed:
    3234             :     case ARM::VLD1d64QPseudoWB_register:
    3235             :     case ARM::VLD1d64TPseudo:
    3236             :     case ARM::VLD1d64TPseudoWB_fixed:
    3237             :     case ARM::VLD1d64TPseudoWB_register:
    3238             :     case ARM::VLD1d8QPseudo:
    3239             :     case ARM::VLD1d8TPseudo:
    3240             :     case ARM::VLD1q16HighQPseudo:
    3241             :     case ARM::VLD1q16HighTPseudo:
    3242             :     case ARM::VLD1q16LowQPseudo_UPD:
    3243             :     case ARM::VLD1q16LowTPseudo_UPD:
    3244             :     case ARM::VLD1q32HighQPseudo:
    3245             :     case ARM::VLD1q32HighTPseudo:
    3246             :     case ARM::VLD1q32LowQPseudo_UPD:
    3247             :     case ARM::VLD1q32LowTPseudo_UPD:
    3248             :     case ARM::VLD1q64HighQPseudo:
    3249             :     case ARM::VLD1q64HighTPseudo:
    3250             :     case ARM::VLD1q64LowQPseudo_UPD:
    3251             :     case ARM::VLD1q64LowTPseudo_UPD:
    3252             :     case ARM::VLD1q8HighQPseudo:
    3253             :     case ARM::VLD1q8HighTPseudo:
    3254             :     case ARM::VLD1q8LowQPseudo_UPD:
    3255             :     case ARM::VLD1q8LowTPseudo_UPD:
    3256             :     case ARM::VLD2LNd16Pseudo:
    3257             :     case ARM::VLD2LNd16Pseudo_UPD:
    3258             :     case ARM::VLD2LNd32Pseudo:
    3259             :     case ARM::VLD2LNd32Pseudo_UPD:
    3260             :     case ARM::VLD2LNd8Pseudo:
    3261             :     case ARM::VLD2LNd8Pseudo_UPD:
    3262             :     case ARM::VLD2LNq16Pseudo:
    3263             :     case ARM::VLD2LNq16Pseudo_UPD:
    3264             :     case ARM::VLD2LNq32Pseudo:
    3265             :     case ARM::VLD2LNq32Pseudo_UPD:
    3266             :     case ARM::VLD2q16Pseudo:
    3267             :     case ARM::VLD2q16PseudoWB_fixed:
    3268             :     case ARM::VLD2q16PseudoWB_register:
    3269             :     case ARM::VLD2q32Pseudo:
    3270             :     case ARM::VLD2q32PseudoWB_fixed:
    3271             :     case ARM::VLD2q32PseudoWB_register:
    3272             :     case ARM::VLD2q8Pseudo:
    3273             :     case ARM::VLD2q8PseudoWB_fixed:
    3274             :     case ARM::VLD2q8PseudoWB_register:
    3275             :     case ARM::VLD3DUPd16Pseudo:
    3276             :     case ARM::VLD3DUPd16Pseudo_UPD:
    3277             :     case ARM::VLD3DUPd32Pseudo:
    3278             :     case ARM::VLD3DUPd32Pseudo_UPD:
    3279             :     case ARM::VLD3DUPd8Pseudo:
    3280             :     case ARM::VLD3DUPd8Pseudo_UPD:
    3281             :     case ARM::VLD3LNd16Pseudo:
    3282             :     case ARM::VLD3LNd16Pseudo_UPD:
    3283             :     case ARM::VLD3LNd32Pseudo:
    3284             :     case ARM::VLD3LNd32Pseudo_UPD:
    3285             :     case ARM::VLD3LNd8Pseudo:
    3286             :     case ARM::VLD3LNd8Pseudo_UPD:
    3287             :     case ARM::VLD3LNq16Pseudo:
    3288             :     case ARM::VLD3LNq16Pseudo_UPD:
    3289             :     case ARM::VLD3LNq32Pseudo:
    3290             :     case ARM::VLD3LNq32Pseudo_UPD:
    3291             :     case ARM::VLD3d16Pseudo:
    3292             :     case ARM::VLD3d16Pseudo_UPD:
    3293             :     case ARM::VLD3d32Pseudo:
    3294             :     case ARM::VLD3d32Pseudo_UPD:
    3295             :     case ARM::VLD3d8Pseudo:
    3296             :     case ARM::VLD3d8Pseudo_UPD:
    3297             :     case ARM::VLD3q16Pseudo_UPD:
    3298             :     case ARM::VLD3q16oddPseudo:
    3299             :     case ARM::VLD3q16oddPseudo_UPD:
    3300             :     case ARM::VLD3q32Pseudo_UPD:
    3301             :     case ARM::VLD3q32oddPseudo:
    3302             :     case ARM::VLD3q32oddPseudo_UPD:
    3303             :     case ARM::VLD3q8Pseudo_UPD:
    3304             :     case ARM::VLD3q8oddPseudo:
    3305             :     case ARM::VLD3q8oddPseudo_UPD:
    3306             :     case ARM::VLD4DUPd16Pseudo:
    3307             :     case ARM::VLD4DUPd16Pseudo_UPD:
    3308             :     case ARM::VLD4DUPd32Pseudo:
    3309             :     case ARM::VLD4DUPd32Pseudo_UPD:
    3310             :     case ARM::VLD4DUPd8Pseudo:
    3311             :     case ARM::VLD4DUPd8Pseudo_UPD:
    3312             :     case ARM::VLD4LNd16Pseudo:
    3313             :     case ARM::VLD4LNd16Pseudo_UPD:
    3314             :     case ARM::VLD4LNd32Pseudo:
    3315             :     case ARM::VLD4LNd32Pseudo_UPD:
    3316             :     case ARM::VLD4LNd8Pseudo:
    3317             :     case ARM::VLD4LNd8Pseudo_UPD:
    3318             :     case ARM::VLD4LNq16Pseudo:
    3319             :     case ARM::VLD4LNq16Pseudo_UPD:
    3320             :     case ARM::VLD4LNq32Pseudo:
    3321             :     case ARM::VLD4LNq32Pseudo_UPD:
    3322             :     case ARM::VLD4d16Pseudo:
    3323             :     case ARM::VLD4d16Pseudo_UPD:
    3324             :     case ARM::VLD4d32Pseudo:
    3325             :     case ARM::VLD4d32Pseudo_UPD:
    3326             :     case ARM::VLD4d8Pseudo:
    3327             :     case ARM::VLD4d8Pseudo_UPD:
    3328             :     case ARM::VLD4q16Pseudo_UPD:
    3329             :     case ARM::VLD4q16oddPseudo:
    3330             :     case ARM::VLD4q16oddPseudo_UPD:
    3331             :     case ARM::VLD4q32Pseudo_UPD:
    3332             :     case ARM::VLD4q32oddPseudo:
    3333             :     case ARM::VLD4q32oddPseudo_UPD:
    3334             :     case ARM::VLD4q8Pseudo_UPD:
    3335             :     case ARM::VLD4q8oddPseudo:
    3336             :     case ARM::VLD4q8oddPseudo_UPD:
    3337             :     case ARM::VLDMQIA:
    3338             :     case ARM::VST1LNq16Pseudo:
    3339             :     case ARM::VST1LNq16Pseudo_UPD:
    3340             :     case ARM::VST1LNq32Pseudo:
    3341             :     case ARM::VST1LNq32Pseudo_UPD:
    3342             :     case ARM::VST1LNq8Pseudo:
    3343             :     case ARM::VST1LNq8Pseudo_UPD:
    3344             :     case ARM::VST1d16QPseudo:
    3345             :     case ARM::VST1d16TPseudo:
    3346             :     case ARM::VST1d32QPseudo:
    3347             :     case ARM::VST1d32TPseudo:
    3348             :     case ARM::VST1d64QPseudo:
    3349             :     case ARM::VST1d64QPseudoWB_fixed:
    3350             :     case ARM::VST1d64QPseudoWB_register:
    3351             :     case ARM::VST1d64TPseudo:
    3352             :     case ARM::VST1d64TPseudoWB_fixed:
    3353             :     case ARM::VST1d64TPseudoWB_register:
    3354             :     case ARM::VST1d8QPseudo:
    3355             :     case ARM::VST1d8TPseudo:
    3356             :     case ARM::VST1q16HighQPseudo:
    3357             :     case ARM::VST1q16HighTPseudo:
    3358             :     case ARM::VST1q16LowQPseudo_UPD:
    3359             :     case ARM::VST1q16LowTPseudo_UPD:
    3360             :     case ARM::VST1q32HighQPseudo:
    3361             :     case ARM::VST1q32HighTPseudo:
    3362             :     case ARM::VST1q32LowQPseudo_UPD:
    3363             :     case ARM::VST1q32LowTPseudo_UPD:
    3364             :     case ARM::VST1q64HighQPseudo:
    3365             :     case ARM::VST1q64HighTPseudo:
    3366             :     case ARM::VST1q64LowQPseudo_UPD:
    3367             :     case ARM::VST1q64LowTPseudo_UPD:
    3368             :     case ARM::VST1q8HighQPseudo:
    3369             :     case ARM::VST1q8HighTPseudo:
    3370             :     case ARM::VST1q8LowQPseudo_UPD:
    3371             :     case ARM::VST1q8LowTPseudo_UPD:
    3372             :     case ARM::VST2LNd16Pseudo:
    3373             :     case ARM::VST2LNd16Pseudo_UPD:
    3374             :     case ARM::VST2LNd32Pseudo:
    3375             :     case ARM::VST2LNd32Pseudo_UPD:
    3376             :     case ARM::VST2LNd8Pseudo:
    3377             :     case ARM::VST2LNd8Pseudo_UPD:
    3378             :     case ARM::VST2LNq16Pseudo:
    3379             :     case ARM::VST2LNq16Pseudo_UPD:
    3380             :     case ARM::VST2LNq32Pseudo:
    3381             :     case ARM::VST2LNq32Pseudo_UPD:
    3382             :     case ARM::VST2q16Pseudo:
    3383             :     case ARM::VST2q16PseudoWB_fixed:
    3384             :     case ARM::VST2q16PseudoWB_register:
    3385             :     case ARM::VST2q32Pseudo:
    3386             :     case ARM::VST2q32PseudoWB_fixed:
    3387             :     case ARM::VST2q32PseudoWB_register:
    3388             :     case ARM::VST2q8Pseudo:
    3389             :     case ARM::VST2q8PseudoWB_fixed:
    3390             :     case ARM::VST2q8PseudoWB_register:
    3391             :     case ARM::VST3LNd16Pseudo:
    3392             :     case ARM::VST3LNd16Pseudo_UPD:
    3393             :     case ARM::VST3LNd32Pseudo:
    3394             :     case ARM::VST3LNd32Pseudo_UPD:
    3395             :     case ARM::VST3LNd8Pseudo:
    3396             :     case ARM::VST3LNd8Pseudo_UPD:
    3397             :     case ARM::VST3LNq16Pseudo:
    3398             :     case ARM::VST3LNq16Pseudo_UPD:
    3399             :     case ARM::VST3LNq32Pseudo:
    3400             :     case ARM::VST3LNq32Pseudo_UPD:
    3401             :     case ARM::VST3d16Pseudo:
    3402             :     case ARM::VST3d16Pseudo_UPD:
    3403             :     case ARM::VST3d32Pseudo:
    3404             :     case ARM::VST3d32Pseudo_UPD:
    3405             :     case ARM::VST3d8Pseudo:
    3406             :     case ARM::VST3d8Pseudo_UPD:
    3407             :     case ARM::VST3q16Pseudo_UPD:
    3408             :     case ARM::VST3q16oddPseudo:
    3409             :     case ARM::VST3q16oddPseudo_UPD:
    3410             :     case ARM::VST3q32Pseudo_UPD:
    3411             :     case ARM::VST3q32oddPseudo:
    3412             :     case ARM::VST3q32oddPseudo_UPD:
    3413             :     case ARM::VST3q8Pseudo_UPD:
    3414             :     case ARM::VST3q8oddPseudo:
    3415             :     case ARM::VST3q8oddPseudo_UPD:
    3416             :     case ARM::VST4LNd16Pseudo:
    3417             :     case ARM::VST4LNd16Pseudo_UPD:
    3418             :     case ARM::VST4LNd32Pseudo:
    3419             :     case ARM::VST4LNd32Pseudo_UPD:
    3420             :     case ARM::VST4LNd8Pseudo:
    3421             :     case ARM::VST4LNd8Pseudo_UPD:
    3422             :     case ARM::VST4LNq16Pseudo:
    3423             :     case ARM::VST4LNq16Pseudo_UPD:
    3424             :     case ARM::VST4LNq32Pseudo:
    3425             :     case ARM::VST4LNq32Pseudo_UPD:
    3426             :     case ARM::VST4d16Pseudo:
    3427             :     case ARM::VST4d16Pseudo_UPD:
    3428             :     case ARM::VST4d32Pseudo:
    3429             :     case ARM::VST4d32Pseudo_UPD:
    3430             :     case ARM::VST4d8Pseudo:
    3431             :     case ARM::VST4d8Pseudo_UPD:
    3432             :     case ARM::VST4q16Pseudo_UPD:
    3433             :     case ARM::VST4q16oddPseudo:
    3434             :     case ARM::VST4q16oddPseudo_UPD:
    3435             :     case ARM::VST4q32Pseudo_UPD:
    3436             :     case ARM::VST4q32oddPseudo:
    3437             :     case ARM::VST4q32oddPseudo_UPD:
    3438             :     case ARM::VST4q8Pseudo_UPD:
    3439             :     case ARM::VST4q8oddPseudo:
    3440             :     case ARM::VST4q8oddPseudo_UPD:
    3441             :     case ARM::VSTMQIA:
    3442             :     case ARM::VTBL3Pseudo:
    3443             :     case ARM::VTBL4Pseudo:
    3444             :     case ARM::VTBX3Pseudo:
    3445             :     case ARM::VTBX4Pseudo:
    3446             :     case ARM::t2CLREX:
    3447             :     case ARM::t2DCPS1:
    3448             :     case ARM::t2DCPS2:
    3449             :     case ARM::t2DCPS3:
    3450             :     case ARM::t2Int_eh_sjlj_setjmp:
    3451             :     case ARM::t2Int_eh_sjlj_setjmp_nofp:
    3452             :     case ARM::t2SG:
    3453             :     case ARM::tInt_WIN_eh_sjlj_longjmp:
    3454             :     case ARM::tInt_eh_sjlj_longjmp:
    3455             :     case ARM::tInt_eh_sjlj_setjmp:
    3456             :     case ARM::tTRAP:
    3457             :     case ARM::t__brkdiv0: {
    3458             :       break;
    3459             :     }
    3460             :     case ARM::VRINTAD:
    3461             :     case ARM::VRINTMD:
    3462             :     case ARM::VRINTND:
    3463             :     case ARM::VRINTPD: {
    3464             :       // op: Dd
    3465          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3466          16 :       Value |= (op & UINT64_C(16)) << 18;
    3467          16 :       Value |= (op & UINT64_C(15)) << 12;
    3468             :       // op: Dm
    3469          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3470          16 :       Value |= (op & UINT64_C(16)) << 1;
    3471          16 :       Value |= op & UINT64_C(15);
    3472          16 :       break;
    3473             :     }
    3474             :     case ARM::VMAXNMD:
    3475             :     case ARM::VMINNMD:
    3476             :     case ARM::VSELEQD:
    3477             :     case ARM::VSELGED:
    3478             :     case ARM::VSELGTD:
    3479             :     case ARM::VSELVSD: {
    3480             :       // op: Dd
    3481          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3482          24 :       Value |= (op & UINT64_C(16)) << 18;
    3483          24 :       Value |= (op & UINT64_C(15)) << 12;
    3484             :       // op: Dn
    3485          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3486          24 :       Value |= (op & UINT64_C(15)) << 16;
    3487          24 :       Value |= (op & UINT64_C(16)) << 3;
    3488             :       // op: Dm
    3489          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3490          24 :       Value |= (op & UINT64_C(16)) << 1;
    3491          24 :       Value |= op & UINT64_C(15);
    3492          24 :       break;
    3493             :     }
    3494             :     case ARM::CRC32B:
    3495             :     case ARM::CRC32CB:
    3496             :     case ARM::CRC32CH:
    3497             :     case ARM::CRC32CW:
    3498             :     case ARM::CRC32H:
    3499             :     case ARM::CRC32W: {
    3500             :       // op: Rd
    3501           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3502           6 :       Value |= (op & UINT64_C(15)) << 12;
    3503             :       // op: Rn
    3504           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3505           6 :       Value |= (op & UINT64_C(15)) << 16;
    3506             :       // op: Rm
    3507           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3508           6 :       Value |= op & UINT64_C(15);
    3509           6 :       break;
    3510             :     }
    3511             :     case ARM::t2MRS_AR:
    3512             :     case ARM::t2MRSsys_AR: {
    3513             :       // op: Rd
    3514           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3515           7 :       Value |= (op & UINT64_C(15)) << 8;
    3516           7 :       break;
    3517             :     }
    3518             :     case ARM::t2CLZ:
    3519             :     case ARM::t2RBIT:
    3520             :     case ARM::t2REV:
    3521             :     case ARM::t2REV16:
    3522             :     case ARM::t2REVSH: {
    3523             :       // op: Rd
    3524          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3525          31 :       Value |= (op & UINT64_C(15)) << 8;
    3526             :       // op: Rm
    3527          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3528          31 :       Value |= (op & UINT64_C(15)) << 16;
    3529          31 :       Value |= op & UINT64_C(15);
    3530          31 :       break;
    3531             :     }
    3532             :     case ARM::t2MOVsra_flag:
    3533             :     case ARM::t2MOVsrl_flag: {
    3534             :       // op: Rd
    3535           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3536           0 :       Value |= (op & UINT64_C(15)) << 8;
    3537             :       // op: Rm
    3538           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3539           0 :       Value |= op & UINT64_C(15);
    3540           0 :       break;
    3541             :     }
    3542             :     case ARM::t2SXTB:
    3543             :     case ARM::t2SXTB16:
    3544             :     case ARM::t2SXTH:
    3545             :     case ARM::t2UXTB:
    3546             :     case ARM::t2UXTB16:
    3547             :     case ARM::t2UXTH: {
    3548             :       // op: Rd
    3549          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3550          88 :       Value |= (op & UINT64_C(15)) << 8;
    3551             :       // op: Rm
    3552          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3553          88 :       Value |= op & UINT64_C(15);
    3554             :       // op: rot
    3555          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3556          88 :       Value |= (op & UINT64_C(3)) << 4;
    3557          88 :       break;
    3558             :     }
    3559             :     case ARM::t2CRC32B:
    3560             :     case ARM::t2CRC32CB:
    3561             :     case ARM::t2CRC32CH:
    3562             :     case ARM::t2CRC32CW:
    3563             :     case ARM::t2CRC32H:
    3564             :     case ARM::t2CRC32W:
    3565             :     case ARM::t2MUL:
    3566             :     case ARM::t2QADD16:
    3567             :     case ARM::t2QADD8:
    3568             :     case ARM::t2QASX:
    3569             :     case ARM::t2QSAX:
    3570             :     case ARM::t2QSUB16:
    3571             :     case ARM::t2QSUB8:
    3572             :     case ARM::t2SADD16:
    3573             :     case ARM::t2SADD8:
    3574             :     case ARM::t2SASX:
    3575             :     case ARM::t2SDIV:
    3576             :     case ARM::t2SEL:
    3577             :     case ARM::t2SHADD16:
    3578             :     case ARM::t2SHADD8:
    3579             :     case ARM::t2SHASX:
    3580             :     case ARM::t2SHSAX:
    3581             :     case ARM::t2SHSUB16:
    3582             :     case ARM::t2SHSUB8:
    3583             :     case ARM::t2SMMUL:
    3584             :     case ARM::t2SMMULR:
    3585             :     case ARM::t2SMUAD:
    3586             :     case ARM::t2SMUADX:
    3587             :     case ARM::t2SMULBB:
    3588             :     case ARM::t2SMULBT:
    3589             :     case ARM::t2SMULTB:
    3590             :     case ARM::t2SMULTT:
    3591             :     case ARM::t2SMULWB:
    3592             :     case ARM::t2SMULWT:
    3593             :     case ARM::t2SMUSD:
    3594             :     case ARM::t2SMUSDX:
    3595             :     case ARM::t2SSAX:
    3596             :     case ARM::t2SSUB16:
    3597             :     case ARM::t2SSUB8:
    3598             :     case ARM::t2UADD16:
    3599             :     case ARM::t2UADD8:
    3600             :     case ARM::t2UASX:
    3601             :     case ARM::t2UDIV:
    3602             :     case ARM::t2UHADD16:
    3603             :     case ARM::t2UHADD8:
    3604             :     case ARM::t2UHASX:
    3605             :     case ARM::t2UHSAX:
    3606             :     case ARM::t2UHSUB16:
    3607             :     case ARM::t2UHSUB8:
    3608             :     case ARM::t2UQADD16:
    3609             :     case ARM::t2UQADD8:
    3610             :     case ARM::t2UQASX:
    3611             :     case ARM::t2UQSAX:
    3612             :     case ARM::t2UQSUB16:
    3613             :     case ARM::t2UQSUB8:
    3614             :     case ARM::t2USAD8:
    3615             :     case ARM::t2USAX:
    3616             :     case ARM::t2USUB16:
    3617             :     case ARM::t2USUB8: {
    3618             :       // op: Rd
    3619         276 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3620         276 :       Value |= (op & UINT64_C(15)) << 8;
    3621             :       // op: Rn
    3622         276 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3623         276 :       Value |= (op & UINT64_C(15)) << 16;
    3624             :       // op: Rm
    3625         276 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3626         276 :       Value |= op & UINT64_C(15);
    3627         276 :       break;
    3628             :     }
    3629             :     case ARM::t2MLA:
    3630             :     case ARM::t2MLS:
    3631             :     case ARM::t2SMLABB:
    3632             :     case ARM::t2SMLABT:
    3633             :     case ARM::t2SMLAD:
    3634             :     case ARM::t2SMLADX:
    3635             :     case ARM::t2SMLATB:
    3636             :     case ARM::t2SMLATT:
    3637             :     case ARM::t2SMLAWB:
    3638             :     case ARM::t2SMLAWT:
    3639             :     case ARM::t2SMLSD:
    3640             :     case ARM::t2SMLSDX:
    3641             :     case ARM::t2SMMLA:
    3642             :     case ARM::t2SMMLAR:
    3643             :     case ARM::t2SMMLS:
    3644             :     case ARM::t2SMMLSR:
    3645             :     case ARM::t2USADA8: {
    3646             :       // op: Rd
    3647          78 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3648          78 :       Value |= (op & UINT64_C(15)) << 8;
    3649             :       // op: Rn
    3650          78 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3651          78 :       Value |= (op & UINT64_C(15)) << 16;
    3652             :       // op: Rm
    3653          78 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3654          78 :       Value |= op & UINT64_C(15);
    3655             :       // op: Ra
    3656          78 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3657          78 :       Value |= (op & UINT64_C(15)) << 12;
    3658          78 :       break;
    3659             :     }
    3660             :     case ARM::t2SXTAB:
    3661             :     case ARM::t2SXTAB16:
    3662             :     case ARM::t2SXTAH:
    3663             :     case ARM::t2UXTAB:
    3664             :     case ARM::t2UXTAB16:
    3665             :     case ARM::t2UXTAH: {
    3666             :       // op: Rd
    3667          67 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3668          67 :       Value |= (op & UINT64_C(15)) << 8;
    3669             :       // op: Rn
    3670          67 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3671          67 :       Value |= (op & UINT64_C(15)) << 16;
    3672             :       // op: Rm
    3673          67 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3674          67 :       Value |= op & UINT64_C(15);
    3675             :       // op: rot
    3676          67 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3677          67 :       Value |= (op & UINT64_C(3)) << 4;
    3678          67 :       break;
    3679             :     }
    3680             :     case ARM::t2PKHBT:
    3681             :     case ARM::t2PKHTB: {
    3682             :       // op: Rd
    3683          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3684          18 :       Value |= (op & UINT64_C(15)) << 8;
    3685             :       // op: Rn
    3686          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3687          18 :       Value |= (op & UINT64_C(15)) << 16;
    3688             :       // op: Rm
    3689          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3690          18 :       Value |= op & UINT64_C(15);
    3691             :       // op: sh
    3692          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3693          18 :       Value |= (op & UINT64_C(28)) << 10;
    3694          18 :       Value |= (op & UINT64_C(3)) << 6;
    3695          18 :       break;
    3696             :     }
    3697             :     case ARM::t2ADDri12:
    3698             :     case ARM::t2SUBri12: {
    3699             :       // op: Rd
    3700         380 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3701         380 :       Value |= (op & UINT64_C(15)) << 8;
    3702             :       // op: Rn
    3703         380 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3704         380 :       Value |= (op & UINT64_C(15)) << 16;
    3705             :       // op: imm
    3706         380 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3707         380 :       Value |= (op & UINT64_C(2048)) << 15;
    3708         380 :       Value |= (op & UINT64_C(1792)) << 4;
    3709         380 :       Value |= op & UINT64_C(255);
    3710         380 :       break;
    3711             :     }
    3712             :     case ARM::t2QADD:
    3713             :     case ARM::t2QDADD:
    3714             :     case ARM::t2QDSUB:
    3715             :     case ARM::t2QSUB: {
    3716             :       // op: Rd
    3717          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3718          16 :       Value |= (op & UINT64_C(15)) << 8;
    3719             :       // op: Rn
    3720          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3721          16 :       Value |= (op & UINT64_C(15)) << 16;
    3722             :       // op: Rm
    3723          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3724          16 :       Value |= op & UINT64_C(15);
    3725          16 :       break;
    3726             :     }
    3727             :     case ARM::t2BFI: {
    3728             :       // op: Rd
    3729          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3730          18 :       Value |= (op & UINT64_C(15)) << 8;
    3731             :       // op: Rn
    3732          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3733          18 :       Value |= (op & UINT64_C(15)) << 16;
    3734             :       // op: imm
    3735          18 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    3736          18 :       Value |= (op & UINT64_C(28)) << 10;
    3737          18 :       Value |= (op & UINT64_C(3)) << 6;
    3738          18 :       Value |= (op & UINT64_C(992)) >> 5;
    3739          18 :       break;
    3740             :     }
    3741             :     case ARM::t2SSAT16:
    3742             :     case ARM::t2USAT16: {
    3743             :       // op: Rd
    3744           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3745           8 :       Value |= (op & UINT64_C(15)) << 8;
    3746             :       // op: Rn
    3747           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3748           8 :       Value |= (op & UINT64_C(15)) << 16;
    3749             :       // op: sat_imm
    3750           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3751           8 :       Value |= op & UINT64_C(15);
    3752           8 :       break;
    3753             :     }
    3754             :     case ARM::t2SSAT:
    3755             :     case ARM::t2USAT: {
    3756             :       // op: Rd
    3757          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3758          72 :       Value |= (op & UINT64_C(15)) << 8;
    3759             :       // op: Rn
    3760          72 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3761          72 :       Value |= (op & UINT64_C(15)) << 16;
    3762             :       // op: sat_imm
    3763          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3764          72 :       Value |= op & UINT64_C(31);
    3765             :       // op: sh
    3766          72 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3767          72 :       Value |= (op & UINT64_C(32)) << 16;
    3768          72 :       Value |= (op & UINT64_C(28)) << 10;
    3769          72 :       Value |= (op & UINT64_C(3)) << 6;
    3770          72 :       break;
    3771             :     }
    3772             :     case ARM::t2STREX: {
    3773             :       // op: Rd
    3774          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3775          25 :       Value |= (op & UINT64_C(15)) << 8;
    3776             :       // op: Rt
    3777          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3778          25 :       Value |= (op & UINT64_C(15)) << 12;
    3779             :       // op: addr
    3780          50 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 2, Fixups, STI);
    3781          25 :       Value |= (op & UINT64_C(3840)) << 8;
    3782          25 :       Value |= op & UINT64_C(255);
    3783          25 :       break;
    3784             :     }
    3785             :     case ARM::t2MRS_M: {
    3786             :       // op: Rd
    3787          63 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3788          63 :       Value |= (op & UINT64_C(15)) << 8;
    3789             :       // op: SYSm
    3790          63 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3791          63 :       Value |= op & UINT64_C(255);
    3792          63 :       break;
    3793             :     }
    3794             :     case ARM::t2ADR: {
    3795             :       // op: Rd
    3796          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3797          12 :       Value |= (op & UINT64_C(15)) << 8;
    3798             :       // op: addr
    3799          12 :       op = getT2AdrLabelOpValue(MI, 1, Fixups, STI);
    3800          12 :       Value |= (op & UINT64_C(2048)) << 15;
    3801          12 :       Value |= (op & UINT64_C(4096)) << 11;
    3802          12 :       Value |= (op & UINT64_C(4096)) << 9;
    3803          12 :       Value |= (op & UINT64_C(1792)) << 4;
    3804          12 :       Value |= op & UINT64_C(255);
    3805          12 :       break;
    3806             :     }
    3807             :     case ARM::t2BFC: {
    3808             :       // op: Rd
    3809          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3810          20 :       Value |= (op & UINT64_C(15)) << 8;
    3811             :       // op: imm
    3812          20 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    3813          20 :       Value |= (op & UINT64_C(28)) << 10;
    3814          20 :       Value |= (op & UINT64_C(3)) << 6;
    3815          20 :       Value |= (op & UINT64_C(992)) >> 5;
    3816          20 :       break;
    3817             :     }
    3818             :     case ARM::t2MOVi16: {
    3819             :       // op: Rd
    3820         327 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3821         327 :       Value |= (op & UINT64_C(15)) << 8;
    3822             :       // op: imm
    3823         327 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    3824         327 :       Value |= (op & UINT64_C(2048)) << 15;
    3825         327 :       Value |= (op & UINT64_C(61440)) << 4;
    3826         327 :       Value |= (op & UINT64_C(1792)) << 4;
    3827         327 :       Value |= op & UINT64_C(255);
    3828         327 :       break;
    3829             :     }
    3830             :     case ARM::t2MOVTi16: {
    3831             :       // op: Rd
    3832         256 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3833         256 :       Value |= (op & UINT64_C(15)) << 8;
    3834             :       // op: imm
    3835         256 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    3836         256 :       Value |= (op & UINT64_C(2048)) << 15;
    3837         256 :       Value |= (op & UINT64_C(61440)) << 4;
    3838         256 :       Value |= (op & UINT64_C(1792)) << 4;
    3839         256 :       Value |= op & UINT64_C(255);
    3840         256 :       break;
    3841             :     }
    3842             :     case ARM::t2SBFX:
    3843             :     case ARM::t2UBFX: {
    3844             :       // op: Rd
    3845          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3846          64 :       Value |= (op & UINT64_C(15)) << 8;
    3847             :       // op: msb
    3848          64 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3849          64 :       Value |= op & UINT64_C(31);
    3850             :       // op: lsb
    3851          64 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3852          64 :       Value |= (op & UINT64_C(28)) << 10;
    3853          64 :       Value |= (op & UINT64_C(3)) << 6;
    3854             :       // op: Rn
    3855          64 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3856          64 :       Value |= (op & UINT64_C(15)) << 16;
    3857          64 :       break;
    3858             :     }
    3859             :     case ARM::tADR: {
    3860             :       // op: Rd
    3861          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3862          26 :       Value |= (op & UINT64_C(7)) << 8;
    3863             :       // op: addr
    3864             :       op = getThumbAdrLabelOpValue(MI, 1, Fixups, STI);
    3865          26 :       Value |= op & UINT64_C(255);
    3866          26 :       break;
    3867             :     }
    3868             :     case ARM::tMOVi8: {
    3869             :       // op: Rd
    3870         315 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3871         315 :       Value |= (op & UINT64_C(7)) << 8;
    3872             :       // op: imm8
    3873         315 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3874         315 :       Value |= op & UINT64_C(255);
    3875         315 :       break;
    3876             :     }
    3877             :     case ARM::tMOVr: {
    3878             :       // op: Rd
    3879         959 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3880         959 :       Value |= (op & UINT64_C(8)) << 4;
    3881         959 :       Value |= op & UINT64_C(7);
    3882             :       // op: Rm
    3883         959 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3884         959 :       Value |= (op & UINT64_C(15)) << 3;
    3885         959 :       break;
    3886             :     }
    3887             :     case ARM::t2STLEX: {
    3888             :       // op: Rd
    3889           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3890           5 :       Value |= op & UINT64_C(15);
    3891             :       // op: Rt
    3892           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3893           5 :       Value |= (op & UINT64_C(15)) << 12;
    3894             :       // op: addr
    3895           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3896           5 :       Value |= (op & UINT64_C(15)) << 16;
    3897           5 :       break;
    3898             :     }
    3899             :     case ARM::t2STLEXB:
    3900             :     case ARM::t2STLEXH:
    3901             :     case ARM::t2STREXB:
    3902             :     case ARM::t2STREXH: {
    3903             :       // op: Rd
    3904          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3905          20 :       Value |= op & UINT64_C(15);
    3906             :       // op: addr
    3907          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3908          20 :       Value |= (op & UINT64_C(15)) << 16;
    3909             :       // op: Rt
    3910          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3911          20 :       Value |= (op & UINT64_C(15)) << 12;
    3912          20 :       break;
    3913             :     }
    3914             :     case ARM::t2STLEXD:
    3915             :     case ARM::t2STREXD: {
    3916             :       // op: Rd
    3917           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3918           8 :       Value |= op & UINT64_C(15);
    3919             :       // op: addr
    3920           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3921           8 :       Value |= (op & UINT64_C(15)) << 16;
    3922             :       // op: Rt
    3923           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3924           8 :       Value |= (op & UINT64_C(15)) << 12;
    3925             :       // op: Rt2
    3926           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3927           8 :       Value |= (op & UINT64_C(15)) << 8;
    3928           8 :       break;
    3929             :     }
    3930             :     case ARM::tMOVSr: {
    3931             :       // op: Rd
    3932          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3933          19 :       Value |= op & UINT64_C(7);
    3934             :       // op: Rm
    3935          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3936          19 :       Value |= (op & UINT64_C(7)) << 3;
    3937          19 :       break;
    3938             :     }
    3939             :     case ARM::tADDi3:
    3940             :     case ARM::tSUBi3: {
    3941             :       // op: Rd
    3942          69 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3943          69 :       Value |= op & UINT64_C(7);
    3944             :       // op: Rm
    3945          69 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3946          69 :       Value |= (op & UINT64_C(7)) << 3;
    3947             :       // op: imm3
    3948          69 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3949          69 :       Value |= (op & UINT64_C(7)) << 6;
    3950          69 :       break;
    3951             :     }
    3952             :     case ARM::tASRri:
    3953             :     case ARM::tLSLri:
    3954             :     case ARM::tLSRri: {
    3955             :       // op: Rd
    3956         136 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3957         136 :       Value |= op & UINT64_C(7);
    3958             :       // op: Rm
    3959         136 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3960         136 :       Value |= (op & UINT64_C(7)) << 3;
    3961             :       // op: imm5
    3962         136 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3963         136 :       Value |= (op & UINT64_C(31)) << 6;
    3964         136 :       break;
    3965             :     }
    3966             :     case ARM::tMUL:
    3967             :     case ARM::tMVN:
    3968             :     case ARM::tRSB: {
    3969             :       // op: Rd
    3970          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3971          44 :       Value |= op & UINT64_C(7);
    3972             :       // op: Rn
    3973          44 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3974          44 :       Value |= (op & UINT64_C(7)) << 3;
    3975          44 :       break;
    3976             :     }
    3977             :     case ARM::t2SMLALD:
    3978             :     case ARM::t2SMLALDX:
    3979             :     case ARM::t2SMLSLD:
    3980             :     case ARM::t2SMLSLDX: {
    3981             :       // op: Rd
    3982          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3983          16 :       Value |= (op & UINT64_C(15)) << 8;
    3984             :       // op: Rn
    3985          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3986          16 :       Value |= (op & UINT64_C(15)) << 16;
    3987             :       // op: Rm
    3988          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3989          16 :       Value |= op & UINT64_C(15);
    3990             :       // op: Ra
    3991          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3992          16 :       Value |= (op & UINT64_C(15)) << 12;
    3993          16 :       break;
    3994             :     }
    3995             :     case ARM::t2SMLAL:
    3996             :     case ARM::t2SMLALBB:
    3997             :     case ARM::t2SMLALBT:
    3998             :     case ARM::t2SMLALTB:
    3999             :     case ARM::t2SMLALTT:
    4000             :     case ARM::t2SMULL:
    4001             :     case ARM::t2UMAAL:
    4002             :     case ARM::t2UMLAL:
    4003             :     case ARM::t2UMULL: {
    4004             :       // op: RdLo
    4005          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4006          95 :       Value |= (op & UINT64_C(15)) << 12;
    4007             :       // op: RdHi
    4008          95 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4009          95 :       Value |= (op & UINT64_C(15)) << 8;
    4010             :       // op: Rn
    4011          95 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4012          95 :       Value |= (op & UINT64_C(15)) << 16;
    4013             :       // op: Rm
    4014          95 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4015          95 :       Value |= op & UINT64_C(15);
    4016          95 :       break;
    4017             :     }
    4018             :     case ARM::tADDi8:
    4019             :     case ARM::tSUBi8: {
    4020             :       // op: Rdn
    4021        1986 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4022        1986 :       Value |= (op & UINT64_C(7)) << 8;
    4023             :       // op: imm8
    4024        1986 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4025        1986 :       Value |= op & UINT64_C(255);
    4026        1986 :       break;
    4027             :     }
    4028             :     case ARM::tADDrSP: {
    4029             :       // op: Rdn
    4030          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4031          11 :       Value |= (op & UINT64_C(8)) << 4;
    4032          11 :       Value |= op & UINT64_C(7);
    4033          11 :       break;
    4034             :     }
    4035             :     case ARM::tADDhirr: {
    4036             :       // op: Rdn
    4037         151 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4038         151 :       Value |= (op & UINT64_C(8)) << 4;
    4039         151 :       Value |= op & UINT64_C(7);
    4040             :       // op: Rm
    4041         151 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4042         151 :       Value |= (op & UINT64_C(15)) << 3;
    4043         151 :       break;
    4044             :     }
    4045             :     case ARM::tADC:
    4046             :     case ARM::tAND:
    4047             :     case ARM::tASRrr:
    4048             :     case ARM::tBIC:
    4049             :     case ARM::tEOR:
    4050             :     case ARM::tLSLrr:
    4051             :     case ARM::tLSRrr:
    4052             :     case ARM::tORR:
    4053             :     case ARM::tROR:
    4054             :     case ARM::tSBC: {
    4055             :       // op: Rdn
    4056         168 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4057         168 :       Value |= op & UINT64_C(7);
    4058             :       // op: Rm
    4059         168 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4060         168 :       Value |= (op & UINT64_C(7)) << 3;
    4061         168 :       break;
    4062             :     }
    4063             :     case ARM::tBX:
    4064             :     case ARM::tBXNS: {
    4065             :       // op: Rm
    4066         464 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4067         464 :       Value |= (op & UINT64_C(15)) << 3;
    4068         464 :       break;
    4069             :     }
    4070             :     case ARM::tCMPhir: {
    4071             :       // op: Rm
    4072           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4073           7 :       Value |= (op & UINT64_C(15)) << 3;
    4074             :       // op: Rn
    4075           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4076           7 :       Value |= (op & UINT64_C(8)) << 4;
    4077           7 :       Value |= op & UINT64_C(7);
    4078           7 :       break;
    4079             :     }
    4080             :     case ARM::tREV:
    4081             :     case ARM::tREV16:
    4082             :     case ARM::tREVSH:
    4083             :     case ARM::tSXTB:
    4084             :     case ARM::tSXTH:
    4085             :     case ARM::tUXTB:
    4086             :     case ARM::tUXTH: {
    4087             :       // op: Rm
    4088          68 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4089          68 :       Value |= (op & UINT64_C(7)) << 3;
    4090             :       // op: Rd
    4091          68 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4092          68 :       Value |= op & UINT64_C(7);
    4093          68 :       break;
    4094             :     }
    4095             :     case ARM::tCMNz:
    4096             :     case ARM::tCMPr:
    4097             :     case ARM::tTST: {
    4098             :       // op: Rm
    4099          43 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4100          43 :       Value |= (op & UINT64_C(7)) << 3;
    4101             :       // op: Rn
    4102          43 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4103          43 :       Value |= op & UINT64_C(7);
    4104          43 :       break;
    4105             :     }
    4106             :     case ARM::tADDspr: {
    4107             :       // op: Rm
    4108          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4109          11 :       Value |= (op & UINT64_C(15)) << 3;
    4110          11 :       break;
    4111             :     }
    4112             :     case ARM::tADDrr:
    4113             :     case ARM::tSUBrr: {
    4114             :       // op: Rm
    4115          66 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4116          66 :       Value |= (op & UINT64_C(7)) << 6;
    4117             :       // op: Rn
    4118          66 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4119          66 :       Value |= (op & UINT64_C(7)) << 3;
    4120             :       // op: Rd
    4121          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4122          66 :       Value |= op & UINT64_C(7);
    4123          66 :       break;
    4124             :     }
    4125             :     case ARM::RFEDA:
    4126             :     case ARM::RFEDA_UPD:
    4127             :     case ARM::RFEDB:
    4128             :     case ARM::RFEDB_UPD:
    4129             :     case ARM::RFEIA:
    4130             :     case ARM::RFEIA_UPD:
    4131             :     case ARM::RFEIB:
    4132             :     case ARM::RFEIB_UPD:
    4133             :     case ARM::t2RFEDB:
    4134             :     case ARM::t2RFEDBW:
    4135             :     case ARM::t2RFEIA:
    4136             :     case ARM::t2RFEIAW: {
    4137             :       // op: Rn
    4138          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4139          40 :       Value |= (op & UINT64_C(15)) << 16;
    4140          40 :       break;
    4141             :     }
    4142             :     case ARM::t2CMNzrr:
    4143             :     case ARM::t2CMPrr:
    4144             :     case ARM::t2TBB:
    4145             :     case ARM::t2TBH:
    4146             :     case ARM::t2TEQrr:
    4147             :     case ARM::t2TSTrr: {
    4148             :       // op: Rn
    4149          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4150          21 :       Value |= (op & UINT64_C(15)) << 16;
    4151             :       // op: Rm
    4152          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4153          21 :       Value |= op & UINT64_C(15);
    4154          21 :       break;
    4155             :     }
    4156             :     case ARM::t2CMNzrs:
    4157             :     case ARM::t2CMPrs:
    4158             :     case ARM::t2TEQrs:
    4159             :     case ARM::t2TSTrs: {
    4160             :       // op: Rn
    4161          41 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4162          41 :       Value |= (op & UINT64_C(15)) << 16;
    4163             :       // op: ShiftedRm
    4164          41 :       op = getT2SORegOpValue(MI, 1, Fixups, STI);
    4165          41 :       Value |= (op & UINT64_C(3584)) << 3;
    4166          41 :       Value |= (op & UINT64_C(480)) >> 1;
    4167          41 :       Value |= op & UINT64_C(15);
    4168          41 :       break;
    4169             :     }
    4170             :     case ARM::t2CMNri:
    4171             :     case ARM::t2CMPri:
    4172             :     case ARM::t2TEQri:
    4173             :     case ARM::t2TSTri: {
    4174             :       // op: Rn
    4175          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4176          18 :       Value |= (op & UINT64_C(15)) << 16;
    4177             :       // op: imm
    4178          18 :       op = getT2SOImmOpValue(MI, 1, Fixups, STI);
    4179          18 :       Value |= (op & UINT64_C(2048)) << 15;
    4180          18 :       Value |= (op & UINT64_C(1792)) << 4;
    4181          18 :       Value |= op & UINT64_C(255);
    4182          18 :       break;
    4183             :     }
    4184             :     case ARM::t2STMDB:
    4185             :     case ARM::t2STMIA: {
    4186             :       // op: Rn
    4187          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4188          27 :       Value |= (op & UINT64_C(15)) << 16;
    4189             :       // op: regs
    4190          27 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4191          27 :       Value |= op & UINT64_C(16384);
    4192          27 :       Value |= op & UINT64_C(8191);
    4193          27 :       break;
    4194             :     }
    4195             :     case ARM::t2LDMDB:
    4196             :     case ARM::t2LDMIA: {
    4197             :       // op: Rn
    4198          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4199          30 :       Value |= (op & UINT64_C(15)) << 16;
    4200             :       // op: regs
    4201          30 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4202          30 :       Value |= op & UINT64_C(65535);
    4203          30 :       break;
    4204             :     }
    4205             :     case ARM::tCMPi8: {
    4206             :       // op: Rn
    4207          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4208          46 :       Value |= (op & UINT64_C(7)) << 8;
    4209             :       // op: imm8
    4210          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4211          46 :       Value |= op & UINT64_C(255);
    4212          46 :       break;
    4213             :     }
    4214             :     case ARM::tLDMIA: {
    4215             :       // op: Rn
    4216         141 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4217         141 :       Value |= (op & UINT64_C(7)) << 8;
    4218             :       // op: regs
    4219         141 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4220         141 :       Value |= op & UINT64_C(255);
    4221         141 :       break;
    4222             :     }
    4223             :     case ARM::t2TT:
    4224             :     case ARM::t2TTA:
    4225             :     case ARM::t2TTAT:
    4226             :     case ARM::t2TTT: {
    4227             :       // op: Rn
    4228          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4229          15 :       Value |= (op & UINT64_C(15)) << 16;
    4230             :       // op: Rt
    4231          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4232          15 :       Value |= (op & UINT64_C(15)) << 8;
    4233          15 :       break;
    4234             :     }
    4235             :     case ARM::t2STMDB_UPD:
    4236             :     case ARM::t2STMIA_UPD: {
    4237             :       // op: Rn
    4238          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4239          29 :       Value |= (op & UINT64_C(15)) << 16;
    4240             :       // op: regs
    4241          29 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4242          29 :       Value |= op & UINT64_C(16384);
    4243          29 :       Value |= op & UINT64_C(8191);
    4244          29 :       break;
    4245             :     }
    4246             :     case ARM::t2LDMDB_UPD:
    4247             :     case ARM::t2LDMIA_UPD: {
    4248             :       // op: Rn
    4249          38 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4250          38 :       Value |= (op & UINT64_C(15)) << 16;
    4251             :       // op: regs
    4252          38 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4253          38 :       Value |= op & UINT64_C(65535);
    4254          38 :       break;
    4255             :     }
    4256             :     case ARM::tSTMIA_UPD: {
    4257             :       // op: Rn
    4258          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4259          10 :       Value |= (op & UINT64_C(7)) << 8;
    4260             :       // op: regs
    4261          10 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4262          10 :       Value |= op & UINT64_C(255);
    4263          10 :       break;
    4264             :     }
    4265             :     case ARM::t2LDRB_POST:
    4266             :     case ARM::t2LDRH_POST:
    4267             :     case ARM::t2LDRSB_POST:
    4268             :     case ARM::t2LDRSH_POST:
    4269             :     case ARM::t2LDR_POST: {
    4270             :       // op: Rt
    4271         488 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4272         488 :       Value |= (op & UINT64_C(15)) << 12;
    4273             :       // op: Rn
    4274         488 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4275         488 :       Value |= (op & UINT64_C(15)) << 16;
    4276             :       // op: offset
    4277         488 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4278         488 :       Value |= (op & UINT64_C(256)) << 1;
    4279         488 :       Value |= op & UINT64_C(255);
    4280         488 :       break;
    4281             :     }
    4282             :     case ARM::MRRC2:
    4283             :     case ARM::t2MRRC:
    4284             :     case ARM::t2MRRC2: {
    4285             :       // op: Rt
    4286          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4287          31 :       Value |= (op & UINT64_C(15)) << 12;
    4288             :       // op: Rt2
    4289          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4290          31 :       Value |= (op & UINT64_C(15)) << 16;
    4291             :       // op: cop
    4292          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4293          31 :       Value |= (op & UINT64_C(15)) << 8;
    4294             :       // op: opc1
    4295          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4296          31 :       Value |= (op & UINT64_C(15)) << 4;
    4297             :       // op: CRm
    4298          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4299          31 :       Value |= op & UINT64_C(15);
    4300          31 :       break;
    4301             :     }
    4302             :     case ARM::t2LDRD_POST: {
    4303             :       // op: Rt
    4304           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4305           8 :       Value |= (op & UINT64_C(15)) << 12;
    4306             :       // op: Rt2
    4307           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4308           8 :       Value |= (op & UINT64_C(15)) << 8;
    4309             :       // op: addr
    4310           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4311           8 :       Value |= (op & UINT64_C(15)) << 16;
    4312             :       // op: imm
    4313           8 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4314           8 :       Value |= (op & UINT64_C(256)) << 15;
    4315           8 :       Value |= op & UINT64_C(255);
    4316           8 :       break;
    4317             :     }
    4318             :     case ARM::t2LDRDi8:
    4319             :     case ARM::t2STRDi8: {
    4320             :       // op: Rt
    4321          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4322          88 :       Value |= (op & UINT64_C(15)) << 12;
    4323             :       // op: Rt2
    4324          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4325          88 :       Value |= (op & UINT64_C(15)) << 8;
    4326             :       // op: addr
    4327          88 :       op = getT2AddrModeImm8s4OpValue(MI, 2, Fixups, STI);
    4328          88 :       Value |= (op & UINT64_C(256)) << 15;
    4329          88 :       Value |= (op & UINT64_C(7680)) << 7;
    4330          88 :       Value |= op & UINT64_C(255);
    4331          88 :       break;
    4332             :     }
    4333             :     case ARM::t2LDRD_PRE: {
    4334             :       // op: Rt
    4335           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4336           6 :       Value |= (op & UINT64_C(15)) << 12;
    4337             :       // op: Rt2
    4338           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4339           6 :       Value |= (op & UINT64_C(15)) << 8;
    4340             :       // op: addr
    4341           6 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4342           6 :       Value |= (op & UINT64_C(256)) << 15;
    4343           6 :       Value |= (op & UINT64_C(7680)) << 7;
    4344           6 :       Value |= op & UINT64_C(255);
    4345           6 :       break;
    4346             :     }
    4347             :     case ARM::t2LDRBi12:
    4348             :     case ARM::t2LDRHi12:
    4349             :     case ARM::t2LDRSBi12:
    4350             :     case ARM::t2LDRSHi12:
    4351             :     case ARM::t2LDRi12:
    4352             :     case ARM::t2STRBi12:
    4353             :     case ARM::t2STRHi12:
    4354             :     case ARM::t2STRi12: {
    4355             :       // op: Rt
    4356        1260 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4357        1260 :       Value |= (op & UINT64_C(15)) << 12;
    4358             :       // op: addr
    4359        1260 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4360        1260 :       Value |= (op & UINT64_C(122880)) << 3;
    4361        1260 :       Value |= op & UINT64_C(4095);
    4362        1260 :       break;
    4363             :     }
    4364             :     case ARM::t2LDRBpci:
    4365             :     case ARM::t2LDRHpci:
    4366             :     case ARM::t2LDRSBpci:
    4367             :     case ARM::t2LDRSHpci:
    4368             :     case ARM::t2LDRpci: {
    4369             :       // op: Rt
    4370          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4371          72 :       Value |= (op & UINT64_C(15)) << 12;
    4372             :       // op: addr
    4373          72 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4374          72 :       Value |= (op & UINT64_C(4096)) << 11;
    4375          72 :       Value |= op & UINT64_C(4095);
    4376          72 :       break;
    4377             :     }
    4378             :     case ARM::t2LDA:
    4379             :     case ARM::t2LDAB:
    4380             :     case ARM::t2LDAEX:
    4381             :     case ARM::t2LDAH:
    4382             :     case ARM::t2STL:
    4383             :     case ARM::t2STLB:
    4384             :     case ARM::t2STLH: {
    4385             :       // op: Rt
    4386          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4387          35 :       Value |= (op & UINT64_C(15)) << 12;
    4388             :       // op: addr
    4389          35 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4390          35 :       Value |= (op & UINT64_C(15)) << 16;
    4391          35 :       break;
    4392             :     }
    4393             :     case ARM::t2LDREX: {
    4394             :       // op: Rt
    4395           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4396           9 :       Value |= (op & UINT64_C(15)) << 12;
    4397             :       // op: addr
    4398          18 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 1, Fixups, STI);
    4399           9 :       Value |= (op & UINT64_C(3840)) << 8;
    4400           9 :       Value |= op & UINT64_C(255);
    4401           9 :       break;
    4402             :     }
    4403             :     case ARM::t2LDRBi8:
    4404             :     case ARM::t2LDRHi8:
    4405             :     case ARM::t2LDRSBi8:
    4406             :     case ARM::t2LDRSHi8:
    4407             :     case ARM::t2LDRi8:
    4408             :     case ARM::t2STRBi8:
    4409             :     case ARM::t2STRHi8:
    4410             :     case ARM::t2STRi8: {
    4411             :       // op: Rt
    4412          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4413          23 :       Value |= (op & UINT64_C(15)) << 12;
    4414             :       // op: addr
    4415          46 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4416          23 :       Value |= (op & UINT64_C(7680)) << 7;
    4417          23 :       Value |= (op & UINT64_C(256)) << 1;
    4418          23 :       Value |= op & UINT64_C(255);
    4419          23 :       break;
    4420             :     }
    4421             :     case ARM::t2LDRBT:
    4422             :     case ARM::t2LDRHT:
    4423             :     case ARM::t2LDRSBT:
    4424             :     case ARM::t2LDRSHT:
    4425             :     case ARM::t2LDRT:
    4426             :     case ARM::t2STRBT:
    4427             :     case ARM::t2STRHT:
    4428             :     case ARM::t2STRT: {
    4429             :       // op: Rt
    4430          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4431          64 :       Value |= (op & UINT64_C(15)) << 12;
    4432             :       // op: addr
    4433         128 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4434          64 :       Value |= (op & UINT64_C(7680)) << 7;
    4435          64 :       Value |= op & UINT64_C(255);
    4436          64 :       break;
    4437             :     }
    4438             :     case ARM::t2LDRB_PRE:
    4439             :     case ARM::t2LDRH_PRE:
    4440             :     case ARM::t2LDRSB_PRE:
    4441             :     case ARM::t2LDRSH_PRE:
    4442             :     case ARM::t2LDR_PRE: {
    4443             :       // op: Rt
    4444          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4445          30 :       Value |= (op & UINT64_C(15)) << 12;
    4446             :       // op: addr
    4447          60 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4448          30 :       Value |= (op & UINT64_C(7680)) << 7;
    4449          30 :       Value |= (op & UINT64_C(256)) << 1;
    4450          30 :       Value |= op & UINT64_C(255);
    4451          30 :       break;
    4452             :     }
    4453             :     case ARM::t2LDRBs:
    4454             :     case ARM::t2LDRHs:
    4455             :     case ARM::t2LDRSBs:
    4456             :     case ARM::t2LDRSHs:
    4457             :     case ARM::t2LDRs:
    4458             :     case ARM::t2STRBs:
    4459             :     case ARM::t2STRHs:
    4460             :     case ARM::t2STRs: {
    4461             :       // op: Rt
    4462         228 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4463         228 :       Value |= (op & UINT64_C(15)) << 12;
    4464             :       // op: addr
    4465         456 :       op = getT2AddrModeSORegOpValue(MI, 1, Fixups, STI);
    4466         228 :       Value |= (op & UINT64_C(960)) << 10;
    4467         228 :       Value |= (op & UINT64_C(3)) << 4;
    4468         228 :       Value |= (op & UINT64_C(60)) >> 2;
    4469         228 :       break;
    4470             :     }
    4471             :     case ARM::MRC2:
    4472             :     case ARM::t2MRC:
    4473             :     case ARM::t2MRC2: {
    4474             :       // op: Rt
    4475          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4476          25 :       Value |= (op & UINT64_C(15)) << 12;
    4477             :       // op: cop
    4478          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4479          25 :       Value |= (op & UINT64_C(15)) << 8;
    4480             :       // op: opc1
    4481          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4482          25 :       Value |= (op & UINT64_C(7)) << 21;
    4483             :       // op: opc2
    4484          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4485          25 :       Value |= (op & UINT64_C(7)) << 5;
    4486             :       // op: CRm
    4487          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4488          25 :       Value |= op & UINT64_C(15);
    4489             :       // op: CRn
    4490          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4491          25 :       Value |= (op & UINT64_C(15)) << 16;
    4492          25 :       break;
    4493             :     }
    4494             :     case ARM::tLDRpci: {
    4495             :       // op: Rt
    4496         121 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4497         121 :       Value |= (op & UINT64_C(7)) << 8;
    4498             :       // op: addr
    4499         121 :       op = getAddrModePCOpValue(MI, 1, Fixups, STI);
    4500         121 :       Value |= op & UINT64_C(255);
    4501         121 :       break;
    4502             :     }
    4503             :     case ARM::tLDRspi:
    4504             :     case ARM::tSTRspi: {
    4505             :       // op: Rt
    4506         924 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4507         924 :       Value |= (op & UINT64_C(7)) << 8;
    4508             :       // op: addr
    4509         924 :       op = getAddrModeThumbSPOpValue(MI, 1, Fixups, STI);
    4510         924 :       Value |= op & UINT64_C(255);
    4511         924 :       break;
    4512             :     }
    4513             :     case ARM::tLDRBi:
    4514             :     case ARM::tLDRHi:
    4515             :     case ARM::tLDRi:
    4516             :     case ARM::tSTRBi:
    4517             :     case ARM::tSTRHi:
    4518             :     case ARM::tSTRi: {
    4519             :       // op: Rt
    4520        2202 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4521        2202 :       Value |= op & UINT64_C(7);
    4522             :       // op: addr
    4523        4404 :       op = getAddrModeISOpValue(MI, 1, Fixups, STI);
    4524        2202 :       Value |= (op & UINT64_C(255)) << 3;
    4525        2202 :       break;
    4526             :     }
    4527             :     case ARM::tLDRBr:
    4528             :     case ARM::tLDRHr:
    4529             :     case ARM::tLDRSB:
    4530             :     case ARM::tLDRSH:
    4531             :     case ARM::tLDRr:
    4532             :     case ARM::tSTRBr:
    4533             :     case ARM::tSTRHr:
    4534             :     case ARM::tSTRr: {
    4535             :       // op: Rt
    4536          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4537          44 :       Value |= op & UINT64_C(7);
    4538             :       // op: addr
    4539          88 :       op = getThumbAddrModeRegRegOpValue(MI, 1, Fixups, STI);
    4540          44 :       Value |= (op & UINT64_C(63)) << 3;
    4541          44 :       break;
    4542             :     }
    4543             :     case ARM::t2STRB_POST:
    4544             :     case ARM::t2STRH_POST:
    4545             :     case ARM::t2STR_POST: {
    4546             :       // op: Rt
    4547         466 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4548         466 :       Value |= (op & UINT64_C(15)) << 12;
    4549             :       // op: Rn
    4550         466 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4551         466 :       Value |= (op & UINT64_C(15)) << 16;
    4552             :       // op: offset
    4553         466 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4554         466 :       Value |= (op & UINT64_C(256)) << 1;
    4555         466 :       Value |= op & UINT64_C(255);
    4556         466 :       break;
    4557             :     }
    4558             :     case ARM::t2STRD_POST: {
    4559             :       // op: Rt
    4560          42 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4561          42 :       Value |= (op & UINT64_C(15)) << 12;
    4562             :       // op: Rt2
    4563          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4564          42 :       Value |= (op & UINT64_C(15)) << 8;
    4565             :       // op: addr
    4566          42 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4567          42 :       Value |= (op & UINT64_C(15)) << 16;
    4568             :       // op: imm
    4569          42 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4570          42 :       Value |= (op & UINT64_C(256)) << 15;
    4571          42 :       Value |= op & UINT64_C(255);
    4572          42 :       break;
    4573             :     }
    4574             :     case ARM::t2STRD_PRE: {
    4575             :       // op: Rt
    4576          40 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4577          40 :       Value |= (op & UINT64_C(15)) << 12;
    4578             :       // op: Rt2
    4579          40 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4580          40 :       Value |= (op & UINT64_C(15)) << 8;
    4581             :       // op: addr
    4582          40 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4583          40 :       Value |= (op & UINT64_C(256)) << 15;
    4584          40 :       Value |= (op & UINT64_C(7680)) << 7;
    4585          40 :       Value |= op & UINT64_C(255);
    4586          40 :       break;
    4587             :     }
    4588             :     case ARM::t2STRB_PRE:
    4589             :     case ARM::t2STRH_PRE:
    4590             :     case ARM::t2STR_PRE: {
    4591             :       // op: Rt
    4592          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4593          28 :       Value |= (op & UINT64_C(15)) << 12;
    4594             :       // op: addr
    4595          56 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4596          28 :       Value |= (op & UINT64_C(7680)) << 7;
    4597          28 :       Value |= (op & UINT64_C(256)) << 1;
    4598          28 :       Value |= op & UINT64_C(255);
    4599          28 :       break;
    4600             :     }
    4601             :     case ARM::MCRR2:
    4602             :     case ARM::t2MCRR:
    4603             :     case ARM::t2MCRR2: {
    4604             :       // op: Rt
    4605          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4606          31 :       Value |= (op & UINT64_C(15)) << 12;
    4607             :       // op: Rt2
    4608          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4609          31 :       Value |= (op & UINT64_C(15)) << 16;
    4610             :       // op: cop
    4611          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4612          31 :       Value |= (op & UINT64_C(15)) << 8;
    4613             :       // op: opc1
    4614          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4615          31 :       Value |= (op & UINT64_C(15)) << 4;
    4616             :       // op: CRm
    4617          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4618          31 :       Value |= op & UINT64_C(15);
    4619          31 :       break;
    4620             :     }
    4621             :     case ARM::MCR2:
    4622             :     case ARM::t2MCR:
    4623             :     case ARM::t2MCR2: {
    4624             :       // op: Rt
    4625          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4626          25 :       Value |= (op & UINT64_C(15)) << 12;
    4627             :       // op: cop
    4628          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4629          25 :       Value |= (op & UINT64_C(15)) << 8;
    4630             :       // op: opc1
    4631          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4632          25 :       Value |= (op & UINT64_C(7)) << 21;
    4633             :       // op: opc2
    4634          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4635          25 :       Value |= (op & UINT64_C(7)) << 5;
    4636             :       // op: CRm
    4637          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4638          25 :       Value |= op & UINT64_C(15);
    4639             :       // op: CRn
    4640          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4641          25 :       Value |= (op & UINT64_C(15)) << 16;
    4642          25 :       break;
    4643             :     }
    4644             :     case ARM::t2MSR_M: {
    4645             :       // op: SYSm
    4646          90 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4647          90 :       Value |= op & UINT64_C(3072);
    4648          90 :       Value |= op & UINT64_C(255);
    4649             :       // op: Rn
    4650          90 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4651          90 :       Value |= (op & UINT64_C(15)) << 16;
    4652          90 :       break;
    4653             :     }
    4654             :     case ARM::VCVTASD:
    4655             :     case ARM::VCVTAUD:
    4656             :     case ARM::VCVTMSD:
    4657             :     case ARM::VCVTMUD:
    4658             :     case ARM::VCVTNSD:
    4659             :     case ARM::VCVTNUD:
    4660             :     case ARM::VCVTPSD:
    4661             :     case ARM::VCVTPUD: {
    4662             :       // op: Sd
    4663          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4664          32 :       Value |= (op & UINT64_C(1)) << 22;
    4665          32 :       Value |= (op & UINT64_C(30)) << 11;
    4666             :       // op: Dm
    4667          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4668          32 :       Value |= (op & UINT64_C(16)) << 1;
    4669          32 :       Value |= op & UINT64_C(15);
    4670          32 :       break;
    4671             :     }
    4672             :     case ARM::VCVTASH:
    4673             :     case ARM::VCVTASS:
    4674             :     case ARM::VCVTAUH:
    4675             :     case ARM::VCVTAUS:
    4676             :     case ARM::VCVTMSH:
    4677             :     case ARM::VCVTMSS:
    4678             :     case ARM::VCVTMUH:
    4679             :     case ARM::VCVTMUS:
    4680             :     case ARM::VCVTNSH:
    4681             :     case ARM::VCVTNSS:
    4682             :     case ARM::VCVTNUH:
    4683             :     case ARM::VCVTNUS:
    4684             :     case ARM::VCVTPSH:
    4685             :     case ARM::VCVTPSS:
    4686             :     case ARM::VCVTPUH:
    4687             :     case ARM::VCVTPUS:
    4688             :     case ARM::VINSH:
    4689             :     case ARM::VMOVH:
    4690             :     case ARM::VRINTAH:
    4691             :     case ARM::VRINTAS:
    4692             :     case ARM::VRINTMH:
    4693             :     case ARM::VRINTMS:
    4694             :     case ARM::VRINTNH:
    4695             :     case ARM::VRINTNS:
    4696             :     case ARM::VRINTPH:
    4697             :     case ARM::VRINTPS: {
    4698             :       // op: Sd
    4699         104 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4700         104 :       Value |= (op & UINT64_C(1)) << 22;
    4701         104 :       Value |= (op & UINT64_C(30)) << 11;
    4702             :       // op: Sm
    4703         104 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4704         104 :       Value |= (op & UINT64_C(1)) << 5;
    4705         104 :       Value |= (op & UINT64_C(30)) >> 1;
    4706         104 :       break;
    4707             :     }
    4708             :     case ARM::VMAXNMH:
    4709             :     case ARM::VMAXNMS:
    4710             :     case ARM::VMINNMH:
    4711             :     case ARM::VMINNMS:
    4712             :     case ARM::VSELEQH:
    4713             :     case ARM::VSELEQS:
    4714             :     case ARM::VSELGEH:
    4715             :     case ARM::VSELGES:
    4716             :     case ARM::VSELGTH:
    4717             :     case ARM::VSELGTS:
    4718             :     case ARM::VSELVSH:
    4719             :     case ARM::VSELVSS: {
    4720             :       // op: Sd
    4721          48 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4722          48 :       Value |= (op & UINT64_C(1)) << 22;
    4723          48 :       Value |= (op & UINT64_C(30)) << 11;
    4724             :       // op: Sn
    4725          48 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4726          48 :       Value |= (op & UINT64_C(30)) << 15;
    4727          48 :       Value |= (op & UINT64_C(1)) << 7;
    4728             :       // op: Sm
    4729          48 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4730          48 :       Value |= (op & UINT64_C(1)) << 5;
    4731          48 :       Value |= (op & UINT64_C(30)) >> 1;
    4732          48 :       break;
    4733             :     }
    4734             :     case ARM::VDUP16d:
    4735             :     case ARM::VDUP16q:
    4736             :     case ARM::VDUP32d:
    4737             :     case ARM::VDUP32q:
    4738             :     case ARM::VDUP8d:
    4739             :     case ARM::VDUP8q: {
    4740             :       // op: V
    4741          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4742          12 :       Value |= (op & UINT64_C(15)) << 16;
    4743          12 :       Value |= (op & UINT64_C(16)) << 3;
    4744             :       // op: R
    4745          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4746          12 :       Value |= (op & UINT64_C(15)) << 12;
    4747             :       // op: p
    4748          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4749          12 :       Value |= (op & UINT64_C(15)) << 28;
    4750          24 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4751          12 :       break;
    4752             :     }
    4753             :     case ARM::VSETLNi32: {
    4754             :       // op: V
    4755          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4756          12 :       Value |= (op & UINT64_C(15)) << 16;
    4757          12 :       Value |= (op & UINT64_C(16)) << 3;
    4758             :       // op: R
    4759          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4760          12 :       Value |= (op & UINT64_C(15)) << 12;
    4761             :       // op: p
    4762          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4763          12 :       Value |= (op & UINT64_C(15)) << 28;
    4764             :       // op: lane
    4765          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4766          12 :       Value |= (op & UINT64_C(1)) << 21;
    4767          24 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4768          12 :       break;
    4769             :     }
    4770             :     case ARM::VSETLNi16: {
    4771             :       // op: V
    4772           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4773           6 :       Value |= (op & UINT64_C(15)) << 16;
    4774           6 :       Value |= (op & UINT64_C(16)) << 3;
    4775             :       // op: R
    4776           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4777           6 :       Value |= (op & UINT64_C(15)) << 12;
    4778             :       // op: p
    4779           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4780           6 :       Value |= (op & UINT64_C(15)) << 28;
    4781             :       // op: lane
    4782           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4783           6 :       Value |= (op & UINT64_C(2)) << 20;
    4784           6 :       Value |= (op & UINT64_C(1)) << 6;
    4785          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4786           6 :       break;
    4787             :     }
    4788             :     case ARM::VSETLNi8: {
    4789             :       // op: V
    4790           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4791           6 :       Value |= (op & UINT64_C(15)) << 16;
    4792           6 :       Value |= (op & UINT64_C(16)) << 3;
    4793             :       // op: R
    4794           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4795           6 :       Value |= (op & UINT64_C(15)) << 12;
    4796             :       // op: p
    4797           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4798           6 :       Value |= (op & UINT64_C(15)) << 28;
    4799             :       // op: lane
    4800           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4801           6 :       Value |= (op & UINT64_C(4)) << 19;
    4802           6 :       Value |= (op & UINT64_C(3)) << 5;
    4803          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4804           6 :       break;
    4805             :     }
    4806             :     case ARM::VGETLNi32: {
    4807             :       // op: V
    4808          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4809          10 :       Value |= (op & UINT64_C(15)) << 16;
    4810          10 :       Value |= (op & UINT64_C(16)) << 3;
    4811             :       // op: R
    4812          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4813          10 :       Value |= (op & UINT64_C(15)) << 12;
    4814             :       // op: p
    4815          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4816          10 :       Value |= (op & UINT64_C(15)) << 28;
    4817             :       // op: lane
    4818          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4819          10 :       Value |= (op & UINT64_C(1)) << 21;
    4820          20 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4821          10 :       break;
    4822             :     }
    4823             :     case ARM::VGETLNs16:
    4824             :     case ARM::VGETLNu16: {
    4825             :       // op: V
    4826           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4827           6 :       Value |= (op & UINT64_C(15)) << 16;
    4828           6 :       Value |= (op & UINT64_C(16)) << 3;
    4829             :       // op: R
    4830           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4831           6 :       Value |= (op & UINT64_C(15)) << 12;
    4832             :       // op: p
    4833           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4834           6 :       Value |= (op & UINT64_C(15)) << 28;
    4835             :       // op: lane
    4836           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4837           6 :       Value |= (op & UINT64_C(2)) << 20;
    4838           6 :       Value |= (op & UINT64_C(1)) << 6;
    4839          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4840           6 :       break;
    4841             :     }
    4842             :     case ARM::VGETLNs8:
    4843             :     case ARM::VGETLNu8: {
    4844             :       // op: V
    4845           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4846           6 :       Value |= (op & UINT64_C(15)) << 16;
    4847           6 :       Value |= (op & UINT64_C(16)) << 3;
    4848             :       // op: R
    4849           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4850           6 :       Value |= (op & UINT64_C(15)) << 12;
    4851             :       // op: p
    4852           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4853           6 :       Value |= (op & UINT64_C(15)) << 28;
    4854             :       // op: lane
    4855           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4856           6 :       Value |= (op & UINT64_C(4)) << 19;
    4857           6 :       Value |= (op & UINT64_C(3)) << 5;
    4858          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4859           6 :       break;
    4860             :     }
    4861             :     case ARM::VLD1LNd8: {
    4862             :       // op: Vd
    4863           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4864           4 :       Value |= (op & UINT64_C(16)) << 18;
    4865           4 :       Value |= (op & UINT64_C(15)) << 12;
    4866             :       // op: Rn
    4867           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4868           4 :       Value |= (op & UINT64_C(15)) << 16;
    4869             :       // op: lane
    4870           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4871           4 :       Value |= (op & UINT64_C(7)) << 5;
    4872           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4873           4 :       break;
    4874             :     }
    4875             :     case ARM::VLD1d16:
    4876             :     case ARM::VLD1d16T:
    4877             :     case ARM::VLD1d32:
    4878             :     case ARM::VLD1d32T:
    4879             :     case ARM::VLD1d64:
    4880             :     case ARM::VLD1d64T:
    4881             :     case ARM::VLD1d8:
    4882             :     case ARM::VLD1d8T: {
    4883             :       // op: Vd
    4884          34 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4885          34 :       Value |= (op & UINT64_C(16)) << 18;
    4886          34 :       Value |= (op & UINT64_C(15)) << 12;
    4887             :       // op: Rn
    4888          68 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4889          34 :       Value |= (op & UINT64_C(15)) << 16;
    4890          34 :       Value |= op & UINT64_C(16);
    4891          68 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4892          34 :       break;
    4893             :     }
    4894             :     case ARM::VLD1LNd16: {
    4895             :       // op: Vd
    4896           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4897           5 :       Value |= (op & UINT64_C(16)) << 18;
    4898           5 :       Value |= (op & UINT64_C(15)) << 12;
    4899             :       // op: Rn
    4900          10 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4901           5 :       Value |= (op & UINT64_C(15)) << 16;
    4902           5 :       Value |= op & UINT64_C(48);
    4903             :       // op: lane
    4904           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4905           5 :       Value |= (op & UINT64_C(3)) << 6;
    4906          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4907           5 :       break;
    4908             :     }
    4909             :     case ARM::VLD1d16Q:
    4910             :     case ARM::VLD1d32Q:
    4911             :     case ARM::VLD1d64Q:
    4912             :     case ARM::VLD1d8Q:
    4913             :     case ARM::VLD1q16:
    4914             :     case ARM::VLD1q32:
    4915             :     case ARM::VLD1q64:
    4916             :     case ARM::VLD1q8:
    4917             :     case ARM::VLD2b16:
    4918             :     case ARM::VLD2b32:
    4919             :     case ARM::VLD2b8:
    4920             :     case ARM::VLD2d16:
    4921             :     case ARM::VLD2d32:
    4922             :     case ARM::VLD2d8:
    4923             :     case ARM::VLD2q16:
    4924             :     case ARM::VLD2q32:
    4925             :     case ARM::VLD2q8: {
    4926             :       // op: Vd
    4927          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4928          95 :       Value |= (op & UINT64_C(16)) << 18;
    4929          95 :       Value |= (op & UINT64_C(15)) << 12;
    4930             :       // op: Rn
    4931         190 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4932          95 :       Value |= (op & UINT64_C(15)) << 16;
    4933          95 :       Value |= op & UINT64_C(48);
    4934         190 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4935          95 :       break;
    4936             :     }
    4937             :     case ARM::VLD1LNd8_UPD: {
    4938             :       // op: Vd
    4939          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4940          13 :       Value |= (op & UINT64_C(16)) << 18;
    4941          13 :       Value |= (op & UINT64_C(15)) << 12;
    4942             :       // op: Rn
    4943          26 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4944          13 :       Value |= (op & UINT64_C(15)) << 16;
    4945             :       // op: Rm
    4946             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4947          13 :       Value |= op & UINT64_C(15);
    4948             :       // op: lane
    4949          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4950          13 :       Value |= (op & UINT64_C(7)) << 5;
    4951          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4952          13 :       break;
    4953             :     }
    4954             :     case ARM::VLD1LNd32_UPD: {
    4955             :       // op: Vd
    4956          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4957          12 :       Value |= (op & UINT64_C(16)) << 18;
    4958          12 :       Value |= (op & UINT64_C(15)) << 12;
    4959             :       // op: Rn
    4960          24 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4961          12 :       Value |= (op & UINT64_C(15)) << 16;
    4962          12 :       Value |= (op & UINT64_C(16)) << 1;
    4963          12 :       Value |= op & UINT64_C(16);
    4964             :       // op: Rm
    4965             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4966          12 :       Value |= op & UINT64_C(15);
    4967             :       // op: lane
    4968          12 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4969          12 :       Value |= (op & UINT64_C(1)) << 7;
    4970          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4971          12 :       break;
    4972             :     }
    4973             :     case ARM::VLD1LNd16_UPD: {
    4974             :       // op: Vd
    4975          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4976          19 :       Value |= (op & UINT64_C(16)) << 18;
    4977          19 :       Value |= (op & UINT64_C(15)) << 12;
    4978             :       // op: Rn
    4979          38 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    4980          19 :       Value |= (op & UINT64_C(15)) << 16;
    4981          19 :       Value |= op & UINT64_C(16);
    4982             :       // op: Rm
    4983             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    4984          19 :       Value |= op & UINT64_C(15);
    4985             :       // op: lane
    4986          19 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    4987          19 :       Value |= (op & UINT64_C(3)) << 6;
    4988          38 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4989          19 :       break;
    4990             :     }
    4991             :     case ARM::VLD1d16Twb_register:
    4992             :     case ARM::VLD1d16wb_register:
    4993             :     case ARM::VLD1d32Twb_register:
    4994             :     case ARM::VLD1d32wb_register:
    4995             :     case ARM::VLD1d64Twb_register:
    4996             :     case ARM::VLD1d64wb_register:
    4997             :     case ARM::VLD1d8Twb_register:
    4998             :     case ARM::VLD1d8wb_register: {
    4999             :       // op: Vd
    5000          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5001          24 :       Value |= (op & UINT64_C(16)) << 18;
    5002          24 :       Value |= (op & UINT64_C(15)) << 12;
    5003             :       // op: Rn
    5004          48 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5005          24 :       Value |= (op & UINT64_C(15)) << 16;
    5006          24 :       Value |= op & UINT64_C(16);
    5007             :       // op: Rm
    5008          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5009          24 :       Value |= op & UINT64_C(15);
    5010          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5011          24 :       break;
    5012             :     }
    5013             :     case ARM::VLD2LNd32:
    5014             :     case ARM::VLD2LNq32: {
    5015             :       // op: Vd
    5016           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5017           8 :       Value |= (op & UINT64_C(16)) << 18;
    5018           8 :       Value |= (op & UINT64_C(15)) << 12;
    5019             :       // op: Rn
    5020          16 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5021           8 :       Value |= (op & UINT64_C(15)) << 16;
    5022           8 :       Value |= op & UINT64_C(16);
    5023             :       // op: lane
    5024           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5025           8 :       Value |= (op & UINT64_C(1)) << 7;
    5026          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5027           8 :       break;
    5028             :     }
    5029             :     case ARM::VLD2LNd16:
    5030             :     case ARM::VLD2LNq16: {
    5031             :       // op: Vd
    5032           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5033           8 :       Value |= (op & UINT64_C(16)) << 18;
    5034           8 :       Value |= (op & UINT64_C(15)) << 12;
    5035             :       // op: Rn
    5036          16 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5037           8 :       Value |= (op & UINT64_C(15)) << 16;
    5038           8 :       Value |= op & UINT64_C(16);
    5039             :       // op: lane
    5040           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5041           8 :       Value |= (op & UINT64_C(3)) << 6;
    5042          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5043           8 :       break;
    5044             :     }
    5045             :     case ARM::VLD2LNd8: {
    5046             :       // op: Vd
    5047           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5048           5 :       Value |= (op & UINT64_C(16)) << 18;
    5049           5 :       Value |= (op & UINT64_C(15)) << 12;
    5050             :       // op: Rn
    5051          10 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5052           5 :       Value |= (op & UINT64_C(15)) << 16;
    5053           5 :       Value |= op & UINT64_C(16);
    5054             :       // op: lane
    5055           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5056           5 :       Value |= (op & UINT64_C(7)) << 5;
    5057          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5058           5 :       break;
    5059             :     }
    5060             :     case ARM::VLD1d16Twb_fixed:
    5061             :     case ARM::VLD1d16wb_fixed:
    5062             :     case ARM::VLD1d32Twb_fixed:
    5063             :     case ARM::VLD1d32wb_fixed:
    5064             :     case ARM::VLD1d64Twb_fixed:
    5065             :     case ARM::VLD1d64wb_fixed:
    5066             :     case ARM::VLD1d8Twb_fixed:
    5067             :     case ARM::VLD1d8wb_fixed: {
    5068             :       // op: Vd
    5069          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5070          72 :       Value |= (op & UINT64_C(16)) << 18;
    5071          72 :       Value |= (op & UINT64_C(15)) << 12;
    5072             :       // op: Rn
    5073         144 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5074          72 :       Value |= (op & UINT64_C(15)) << 16;
    5075          72 :       Value |= op & UINT64_C(16);
    5076         144 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5077          72 :       break;
    5078             :     }
    5079             :     case ARM::VLD1d16Qwb_register:
    5080             :     case ARM::VLD1d32Qwb_register:
    5081             :     case ARM::VLD1d64Qwb_register:
    5082             :     case ARM::VLD1d8Qwb_register:
    5083             :     case ARM::VLD1q16wb_register:
    5084             :     case ARM::VLD1q32wb_register:
    5085             :     case ARM::VLD1q64wb_register:
    5086             :     case ARM::VLD1q8wb_register:
    5087             :     case ARM::VLD2b16wb_register:
    5088             :     case ARM::VLD2b32wb_register:
    5089             :     case ARM::VLD2b8wb_register:
    5090             :     case ARM::VLD2d16wb_register:
    5091             :     case ARM::VLD2d32wb_register:
    5092             :     case ARM::VLD2d8wb_register:
    5093             :     case ARM::VLD2q16wb_register:
    5094             :     case ARM::VLD2q32wb_register:
    5095             :     case ARM::VLD2q8wb_register: {
    5096             :       // op: Vd
    5097          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5098          72 :       Value |= (op & UINT64_C(16)) << 18;
    5099          72 :       Value |= (op & UINT64_C(15)) << 12;
    5100             :       // op: Rn
    5101         144 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5102          72 :       Value |= (op & UINT64_C(15)) << 16;
    5103          72 :       Value |= op & UINT64_C(48);
    5104             :       // op: Rm
    5105          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5106          72 :       Value |= op & UINT64_C(15);
    5107         144 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5108          72 :       break;
    5109             :     }
    5110             :     case ARM::VLD1d16Qwb_fixed:
    5111             :     case ARM::VLD1d32Qwb_fixed:
    5112             :     case ARM::VLD1d64Qwb_fixed:
    5113             :     case ARM::VLD1d8Qwb_fixed:
    5114             :     case ARM::VLD1q16wb_fixed:
    5115             :     case ARM::VLD1q32wb_fixed:
    5116             :     case ARM::VLD1q64wb_fixed:
    5117             :     case ARM::VLD1q8wb_fixed:
    5118             :     case ARM::VLD2b16wb_fixed:
    5119             :     case ARM::VLD2b32wb_fixed:
    5120             :     case ARM::VLD2b8wb_fixed:
    5121             :     case ARM::VLD2d16wb_fixed:
    5122             :     case ARM::VLD2d32wb_fixed:
    5123             :     case ARM::VLD2d8wb_fixed:
    5124             :     case ARM::VLD2q16wb_fixed:
    5125             :     case ARM::VLD2q32wb_fixed:
    5126             :     case ARM::VLD2q8wb_fixed: {
    5127             :       // op: Vd
    5128         102 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5129         102 :       Value |= (op & UINT64_C(16)) << 18;
    5130         102 :       Value |= (op & UINT64_C(15)) << 12;
    5131             :       // op: Rn
    5132         204 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5133         102 :       Value |= (op & UINT64_C(15)) << 16;
    5134         102 :       Value |= op & UINT64_C(48);
    5135         204 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5136         102 :       break;
    5137             :     }
    5138             :     case ARM::VLD3LNd32:
    5139             :     case ARM::VLD3LNq32: {
    5140             :       // op: Vd
    5141           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5142           6 :       Value |= (op & UINT64_C(16)) << 18;
    5143           6 :       Value |= (op & UINT64_C(15)) << 12;
    5144             :       // op: Rn
    5145          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5146           6 :       Value |= (op & UINT64_C(15)) << 16;
    5147             :       // op: lane
    5148           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5149           6 :       Value |= (op & UINT64_C(1)) << 7;
    5150          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5151           6 :       break;
    5152             :     }
    5153             :     case ARM::VLD3LNd16:
    5154             :     case ARM::VLD3LNq16: {
    5155             :       // op: Vd
    5156           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5157           6 :       Value |= (op & UINT64_C(16)) << 18;
    5158           6 :       Value |= (op & UINT64_C(15)) << 12;
    5159             :       // op: Rn
    5160          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5161           6 :       Value |= (op & UINT64_C(15)) << 16;
    5162             :       // op: lane
    5163           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5164           6 :       Value |= (op & UINT64_C(3)) << 6;
    5165          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5166           6 :       break;
    5167             :     }
    5168             :     case ARM::VLD3LNd8: {
    5169             :       // op: Vd
    5170           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5171           3 :       Value |= (op & UINT64_C(16)) << 18;
    5172           3 :       Value |= (op & UINT64_C(15)) << 12;
    5173             :       // op: Rn
    5174           6 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5175           3 :       Value |= (op & UINT64_C(15)) << 16;
    5176             :       // op: lane
    5177           3 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5178           3 :       Value |= (op & UINT64_C(7)) << 5;
    5179           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5180           3 :       break;
    5181             :     }
    5182             :     case ARM::VLD2LNd32_UPD:
    5183             :     case ARM::VLD2LNq32_UPD: {
    5184             :       // op: Vd
    5185           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5186           9 :       Value |= (op & UINT64_C(16)) << 18;
    5187           9 :       Value |= (op & UINT64_C(15)) << 12;
    5188             :       // op: Rn
    5189          18 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5190           9 :       Value |= (op & UINT64_C(15)) << 16;
    5191           9 :       Value |= op & UINT64_C(16);
    5192             :       // op: Rm
    5193             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5194           9 :       Value |= op & UINT64_C(15);
    5195             :       // op: lane
    5196           9 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5197           9 :       Value |= (op & UINT64_C(1)) << 7;
    5198          18 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5199           9 :       break;
    5200             :     }
    5201             :     case ARM::VLD2LNd16_UPD:
    5202             :     case ARM::VLD2LNq16_UPD: {
    5203             :       // op: Vd
    5204           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5205           8 :       Value |= (op & UINT64_C(16)) << 18;
    5206           8 :       Value |= (op & UINT64_C(15)) << 12;
    5207             :       // op: Rn
    5208          16 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5209           8 :       Value |= (op & UINT64_C(15)) << 16;
    5210           8 :       Value |= op & UINT64_C(16);
    5211             :       // op: Rm
    5212             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5213           8 :       Value |= op & UINT64_C(15);
    5214             :       // op: lane
    5215           8 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5216           8 :       Value |= (op & UINT64_C(3)) << 6;
    5217          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5218           8 :       break;
    5219             :     }
    5220             :     case ARM::VLD2LNd8_UPD: {
    5221             :       // op: Vd
    5222           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5223           6 :       Value |= (op & UINT64_C(16)) << 18;
    5224           6 :       Value |= (op & UINT64_C(15)) << 12;
    5225             :       // op: Rn
    5226          12 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5227           6 :       Value |= (op & UINT64_C(15)) << 16;
    5228           6 :       Value |= op & UINT64_C(16);
    5229             :       // op: Rm
    5230             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5231           6 :       Value |= op & UINT64_C(15);
    5232             :       // op: lane
    5233           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5234           6 :       Value |= (op & UINT64_C(7)) << 5;
    5235          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5236           6 :       break;
    5237             :     }
    5238             :     case ARM::VLD3d16:
    5239             :     case ARM::VLD3d32:
    5240             :     case ARM::VLD3d8:
    5241             :     case ARM::VLD3q16:
    5242             :     case ARM::VLD3q32:
    5243             :     case ARM::VLD3q8: {
    5244             :       // op: Vd
    5245          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5246          21 :       Value |= (op & UINT64_C(16)) << 18;
    5247          21 :       Value |= (op & UINT64_C(15)) << 12;
    5248             :       // op: Rn
    5249          42 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5250          21 :       Value |= (op & UINT64_C(15)) << 16;
    5251          21 :       Value |= op & UINT64_C(16);
    5252          42 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5253          21 :       break;
    5254             :     }
    5255             :     case ARM::VLD3LNd32_UPD:
    5256             :     case ARM::VLD3LNq32_UPD: {
    5257             :       // op: Vd
    5258           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5259           8 :       Value |= (op & UINT64_C(16)) << 18;
    5260           8 :       Value |= (op & UINT64_C(15)) << 12;
    5261             :       // op: Rn
    5262          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5263           8 :       Value |= (op & UINT64_C(15)) << 16;
    5264             :       // op: Rm
    5265             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5266           8 :       Value |= op & UINT64_C(15);
    5267             :       // op: lane
    5268           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5269           8 :       Value |= (op & UINT64_C(1)) << 7;
    5270          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5271           8 :       break;
    5272             :     }
    5273             :     case ARM::VLD3LNd16_UPD:
    5274             :     case ARM::VLD3LNq16_UPD: {
    5275             :       // op: Vd
    5276           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5277           8 :       Value |= (op & UINT64_C(16)) << 18;
    5278           8 :       Value |= (op & UINT64_C(15)) << 12;
    5279             :       // op: Rn
    5280          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5281           8 :       Value |= (op & UINT64_C(15)) << 16;
    5282             :       // op: Rm
    5283             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5284           8 :       Value |= op & UINT64_C(15);
    5285             :       // op: lane
    5286           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5287           8 :       Value |= (op & UINT64_C(3)) << 6;
    5288          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5289           8 :       break;
    5290             :     }
    5291             :     case ARM::VLD3LNd8_UPD: {
    5292             :       // op: Vd
    5293           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5294           4 :       Value |= (op & UINT64_C(16)) << 18;
    5295           4 :       Value |= (op & UINT64_C(15)) << 12;
    5296             :       // op: Rn
    5297           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5298           4 :       Value |= (op & UINT64_C(15)) << 16;
    5299             :       // op: Rm
    5300             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5301           4 :       Value |= op & UINT64_C(15);
    5302             :       // op: lane
    5303           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5304           4 :       Value |= (op & UINT64_C(7)) << 5;
    5305           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5306           4 :       break;
    5307             :     }
    5308             :     case ARM::VLD3d16_UPD:
    5309             :     case ARM::VLD3d32_UPD:
    5310             :     case ARM::VLD3d8_UPD:
    5311             :     case ARM::VLD3q16_UPD:
    5312             :     case ARM::VLD3q32_UPD:
    5313             :     case ARM::VLD3q8_UPD: {
    5314             :       // op: Vd
    5315          42 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5316          42 :       Value |= (op & UINT64_C(16)) << 18;
    5317          42 :       Value |= (op & UINT64_C(15)) << 12;
    5318             :       // op: Rn
    5319          84 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5320          42 :       Value |= (op & UINT64_C(15)) << 16;
    5321          42 :       Value |= op & UINT64_C(16);
    5322             :       // op: Rm
    5323             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5324          42 :       Value |= op & UINT64_C(15);
    5325          84 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5326          42 :       break;
    5327             :     }
    5328             :     case ARM::VLD4LNd16:
    5329             :     case ARM::VLD4LNq16: {
    5330             :       // op: Vd
    5331           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5332           8 :       Value |= (op & UINT64_C(16)) << 18;
    5333           8 :       Value |= (op & UINT64_C(15)) << 12;
    5334             :       // op: Rn
    5335          16 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5336           8 :       Value |= (op & UINT64_C(15)) << 16;
    5337           8 :       Value |= op & UINT64_C(16);
    5338             :       // op: lane
    5339           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5340           8 :       Value |= (op & UINT64_C(3)) << 6;
    5341          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5342           8 :       break;
    5343             :     }
    5344             :     case ARM::VLD4LNd8: {
    5345             :       // op: Vd
    5346           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5347           4 :       Value |= (op & UINT64_C(16)) << 18;
    5348           4 :       Value |= (op & UINT64_C(15)) << 12;
    5349             :       // op: Rn
    5350           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5351           4 :       Value |= (op & UINT64_C(15)) << 16;
    5352           4 :       Value |= op & UINT64_C(16);
    5353             :       // op: lane
    5354           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5355           4 :       Value |= (op & UINT64_C(7)) << 5;
    5356           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5357           4 :       break;
    5358             :     }
    5359             :     case ARM::VLD4LNd32:
    5360             :     case ARM::VLD4LNq32: {
    5361             :       // op: Vd
    5362          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5363          10 :       Value |= (op & UINT64_C(16)) << 18;
    5364          10 :       Value |= (op & UINT64_C(15)) << 12;
    5365             :       // op: Rn
    5366          20 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5367          10 :       Value |= (op & UINT64_C(15)) << 16;
    5368          10 :       Value |= op & UINT64_C(48);
    5369             :       // op: lane
    5370          10 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5371          10 :       Value |= (op & UINT64_C(1)) << 7;
    5372          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5373          10 :       break;
    5374             :     }
    5375             :     case ARM::VLD4d16:
    5376             :     case ARM::VLD4d32:
    5377             :     case ARM::VLD4d8:
    5378             :     case ARM::VLD4q16:
    5379             :     case ARM::VLD4q32:
    5380             :     case ARM::VLD4q8: {
    5381             :       // op: Vd
    5382          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5383          33 :       Value |= (op & UINT64_C(16)) << 18;
    5384          33 :       Value |= (op & UINT64_C(15)) << 12;
    5385             :       // op: Rn
    5386          66 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5387          33 :       Value |= (op & UINT64_C(15)) << 16;
    5388          33 :       Value |= op & UINT64_C(48);
    5389          66 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5390          33 :       break;
    5391             :     }
    5392             :     case ARM::VLD4LNd16_UPD:
    5393             :     case ARM::VLD4LNq16_UPD: {
    5394             :       // op: Vd
    5395          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5396          13 :       Value |= (op & UINT64_C(16)) << 18;
    5397          13 :       Value |= (op & UINT64_C(15)) << 12;
    5398             :       // op: Rn
    5399          26 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5400          13 :       Value |= (op & UINT64_C(15)) << 16;
    5401          13 :       Value |= op & UINT64_C(16);
    5402             :       // op: Rm
    5403             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5404          13 :       Value |= op & UINT64_C(15);
    5405             :       // op: lane
    5406          13 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5407          13 :       Value |= (op & UINT64_C(3)) << 6;
    5408          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5409          13 :       break;
    5410             :     }
    5411             :     case ARM::VLD4LNd8_UPD: {
    5412             :       // op: Vd
    5413           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5414           7 :       Value |= (op & UINT64_C(16)) << 18;
    5415           7 :       Value |= (op & UINT64_C(15)) << 12;
    5416             :       // op: Rn
    5417          14 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5418           7 :       Value |= (op & UINT64_C(15)) << 16;
    5419           7 :       Value |= op & UINT64_C(16);
    5420             :       // op: Rm
    5421             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5422           7 :       Value |= op & UINT64_C(15);
    5423             :       // op: lane
    5424           7 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5425           7 :       Value |= (op & UINT64_C(7)) << 5;
    5426          14 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5427           7 :       break;
    5428             :     }
    5429             :     case ARM::VLD4LNd32_UPD:
    5430             :     case ARM::VLD4LNq32_UPD: {
    5431             :       // op: Vd
    5432          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5433          17 :       Value |= (op & UINT64_C(16)) << 18;
    5434          17 :       Value |= (op & UINT64_C(15)) << 12;
    5435             :       // op: Rn
    5436          34 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5437          17 :       Value |= (op & UINT64_C(15)) << 16;
    5438          17 :       Value |= op & UINT64_C(48);
    5439             :       // op: Rm
    5440             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5441          17 :       Value |= op & UINT64_C(15);
    5442             :       // op: lane
    5443          17 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5444          17 :       Value |= (op & UINT64_C(1)) << 7;
    5445          34 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5446          17 :       break;
    5447             :     }
    5448             :     case ARM::VLD4d16_UPD:
    5449             :     case ARM::VLD4d32_UPD:
    5450             :     case ARM::VLD4d8_UPD:
    5451             :     case ARM::VLD4q16_UPD:
    5452             :     case ARM::VLD4q32_UPD:
    5453             :     case ARM::VLD4q8_UPD: {
    5454             :       // op: Vd
    5455          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5456          66 :       Value |= (op & UINT64_C(16)) << 18;
    5457          66 :       Value |= (op & UINT64_C(15)) << 12;
    5458             :       // op: Rn
    5459         132 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5460          66 :       Value |= (op & UINT64_C(15)) << 16;
    5461          66 :       Value |= op & UINT64_C(48);
    5462             :       // op: Rm
    5463             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5464          66 :       Value |= op & UINT64_C(15);
    5465         132 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5466          66 :       break;
    5467             :     }
    5468             :     case ARM::VLD1DUPd16:
    5469             :     case ARM::VLD1DUPd32:
    5470             :     case ARM::VLD1DUPd8:
    5471             :     case ARM::VLD1DUPq16:
    5472             :     case ARM::VLD1DUPq32:
    5473             :     case ARM::VLD1DUPq8:
    5474             :     case ARM::VLD2DUPd16:
    5475             :     case ARM::VLD2DUPd16x2:
    5476             :     case ARM::VLD2DUPd32:
    5477             :     case ARM::VLD2DUPd32x2:
    5478             :     case ARM::VLD2DUPd8:
    5479             :     case ARM::VLD2DUPd8x2: {
    5480             :       // op: Vd
    5481          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5482          26 :       Value |= (op & UINT64_C(16)) << 18;
    5483          26 :       Value |= (op & UINT64_C(15)) << 12;
    5484             :       // op: Rn
    5485          26 :       op = getAddrMode6DupAddressOpValue(MI, 1, Fixups, STI);
    5486          26 :       Value |= (op & UINT64_C(15)) << 16;
    5487          26 :       Value |= op & UINT64_C(16);
    5488          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5489          26 :       break;
    5490             :     }
    5491             :     case ARM::VLD1DUPd16wb_register:
    5492             :     case ARM::VLD1DUPd32wb_register:
    5493             :     case ARM::VLD1DUPd8wb_register:
    5494             :     case ARM::VLD1DUPq16wb_register:
    5495             :     case ARM::VLD1DUPq32wb_register:
    5496             :     case ARM::VLD1DUPq8wb_register:
    5497             :     case ARM::VLD2DUPd16wb_register:
    5498             :     case ARM::VLD2DUPd16x2wb_register:
    5499             :     case ARM::VLD2DUPd32wb_register:
    5500             :     case ARM::VLD2DUPd32x2wb_register:
    5501             :     case ARM::VLD2DUPd8wb_register:
    5502             :     case ARM::VLD2DUPd8x2wb_register: {
    5503             :       // op: Vd
    5504          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5505          26 :       Value |= (op & UINT64_C(16)) << 18;
    5506          26 :       Value |= (op & UINT64_C(15)) << 12;
    5507             :       // op: Rn
    5508          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5509          26 :       Value |= (op & UINT64_C(15)) << 16;
    5510          26 :       Value |= op & UINT64_C(16);
    5511             :       // op: Rm
    5512          26 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5513          26 :       Value |= op & UINT64_C(15);
    5514          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5515          26 :       break;
    5516             :     }
    5517             :     case ARM::VLD1DUPd16wb_fixed:
    5518             :     case ARM::VLD1DUPd32wb_fixed:
    5519             :     case ARM::VLD1DUPd8wb_fixed:
    5520             :     case ARM::VLD1DUPq16wb_fixed:
    5521             :     case ARM::VLD1DUPq32wb_fixed:
    5522             :     case ARM::VLD1DUPq8wb_fixed:
    5523             :     case ARM::VLD2DUPd16wb_fixed:
    5524             :     case ARM::VLD2DUPd16x2wb_fixed:
    5525             :     case ARM::VLD2DUPd32wb_fixed:
    5526             :     case ARM::VLD2DUPd32x2wb_fixed:
    5527             :     case ARM::VLD2DUPd8wb_fixed:
    5528             :     case ARM::VLD2DUPd8x2wb_fixed: {
    5529             :       // op: Vd
    5530          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5531          26 :       Value |= (op & UINT64_C(16)) << 18;
    5532          26 :       Value |= (op & UINT64_C(15)) << 12;
    5533             :       // op: Rn
    5534          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5535          26 :       Value |= (op & UINT64_C(15)) << 16;
    5536          26 :       Value |= op & UINT64_C(16);
    5537          52 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5538          26 :       break;
    5539             :     }
    5540             :     case ARM::VLD3DUPd16:
    5541             :     case ARM::VLD3DUPd32:
    5542             :     case ARM::VLD3DUPd8:
    5543             :     case ARM::VLD3DUPq16:
    5544             :     case ARM::VLD3DUPq32:
    5545             :     case ARM::VLD3DUPq8: {
    5546             :       // op: Vd
    5547          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5548          12 :       Value |= (op & UINT64_C(16)) << 18;
    5549          12 :       Value |= (op & UINT64_C(15)) << 12;
    5550             :       // op: Rn
    5551          12 :       op = getAddrMode6DupAddressOpValue(MI, 3, Fixups, STI);
    5552          12 :       Value |= (op & UINT64_C(15)) << 16;
    5553          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5554          12 :       break;
    5555             :     }
    5556             :     case ARM::VLD3DUPd16_UPD:
    5557             :     case ARM::VLD3DUPd32_UPD:
    5558             :     case ARM::VLD3DUPd8_UPD:
    5559             :     case ARM::VLD3DUPq16_UPD:
    5560             :     case ARM::VLD3DUPq32_UPD:
    5561             :     case ARM::VLD3DUPq8_UPD: {
    5562             :       // op: Vd
    5563          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5564          24 :       Value |= (op & UINT64_C(16)) << 18;
    5565          24 :       Value |= (op & UINT64_C(15)) << 12;
    5566             :       // op: Rn
    5567          24 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5568          24 :       Value |= (op & UINT64_C(15)) << 16;
    5569             :       // op: Rm
    5570             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5571          24 :       Value |= op & UINT64_C(15);
    5572          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5573          24 :       break;
    5574             :     }
    5575             :     case ARM::VLD4DUPd32:
    5576             :     case ARM::VLD4DUPq32: {
    5577             :       // op: Vd
    5578           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5579           8 :       Value |= (op & UINT64_C(16)) << 18;
    5580           8 :       Value |= (op & UINT64_C(15)) << 12;
    5581             :       // op: Rn
    5582           8 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5583           8 :       Value |= (op & UINT64_C(15)) << 16;
    5584           8 :       Value |= (op & UINT64_C(32)) << 1;
    5585           8 :       Value |= op & UINT64_C(16);
    5586          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5587           8 :       break;
    5588             :     }
    5589             :     case ARM::VLD4DUPd16:
    5590             :     case ARM::VLD4DUPd8:
    5591             :     case ARM::VLD4DUPq16:
    5592             :     case ARM::VLD4DUPq8: {
    5593             :       // op: Vd
    5594          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5595          12 :       Value |= (op & UINT64_C(16)) << 18;
    5596          12 :       Value |= (op & UINT64_C(15)) << 12;
    5597             :       // op: Rn
    5598          12 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5599          12 :       Value |= (op & UINT64_C(15)) << 16;
    5600          12 :       Value |= op & UINT64_C(16);
    5601          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5602          12 :       break;
    5603             :     }
    5604             :     case ARM::VLD4DUPd32_UPD:
    5605             :     case ARM::VLD4DUPq32_UPD: {
    5606             :       // op: Vd
    5607          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5608          16 :       Value |= (op & UINT64_C(16)) << 18;
    5609          16 :       Value |= (op & UINT64_C(15)) << 12;
    5610             :       // op: Rn
    5611          16 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5612          16 :       Value |= (op & UINT64_C(15)) << 16;
    5613          16 :       Value |= (op & UINT64_C(32)) << 1;
    5614          16 :       Value |= op & UINT64_C(16);
    5615             :       // op: Rm
    5616             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5617          16 :       Value |= op & UINT64_C(15);
    5618          32 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5619          16 :       break;
    5620             :     }
    5621             :     case ARM::VLD4DUPd16_UPD:
    5622             :     case ARM::VLD4DUPd8_UPD:
    5623             :     case ARM::VLD4DUPq16_UPD:
    5624             :     case ARM::VLD4DUPq8_UPD: {
    5625             :       // op: Vd
    5626          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5627          24 :       Value |= (op & UINT64_C(16)) << 18;
    5628          24 :       Value |= (op & UINT64_C(15)) << 12;
    5629             :       // op: Rn
    5630          24 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5631          24 :       Value |= (op & UINT64_C(15)) << 16;
    5632          24 :       Value |= op & UINT64_C(16);
    5633             :       // op: Rm
    5634             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5635          24 :       Value |= op & UINT64_C(15);
    5636          48 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5637          24 :       break;
    5638             :     }
    5639             :     case ARM::VLD1LNd32: {
    5640             :       // op: Vd
    5641           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5642           6 :       Value |= (op & UINT64_C(16)) << 18;
    5643           6 :       Value |= (op & UINT64_C(15)) << 12;
    5644             :       // op: Rn
    5645          12 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    5646           6 :       Value |= (op & UINT64_C(15)) << 16;
    5647           6 :       Value |= op & UINT64_C(48);
    5648             :       // op: lane
    5649           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5650           6 :       Value |= (op & UINT64_C(1)) << 7;
    5651          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5652           6 :       break;
    5653             :     }
    5654             :     case ARM::VMOVv16i8:
    5655             :     case ARM::VMOVv1i64:
    5656             :     case ARM::VMOVv2f32:
    5657             :     case ARM::VMOVv2i64:
    5658             :     case ARM::VMOVv4f32:
    5659             :     case ARM::VMOVv8i8: {
    5660             :       // op: Vd
    5661          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5662          56 :       Value |= (op & UINT64_C(16)) << 18;
    5663          56 :       Value |= (op & UINT64_C(15)) << 12;
    5664             :       // op: SIMM
    5665          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5666          56 :       Value |= (op & UINT64_C(128)) << 17;
    5667          56 :       Value |= (op & UINT64_C(112)) << 12;
    5668          56 :       Value |= op & UINT64_C(15);
    5669         112 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5670          56 :       break;
    5671             :     }
    5672             :     case ARM::VBICiv2i32:
    5673             :     case ARM::VBICiv4i32:
    5674             :     case ARM::VORRiv2i32:
    5675             :     case ARM::VORRiv4i32: {
    5676             :       // op: Vd
    5677          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5678          19 :       Value |= (op & UINT64_C(16)) << 18;
    5679          19 :       Value |= (op & UINT64_C(15)) << 12;
    5680             :       // op: SIMM
    5681          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5682          19 :       Value |= (op & UINT64_C(128)) << 17;
    5683          19 :       Value |= (op & UINT64_C(112)) << 12;
    5684          19 :       Value |= op & UINT64_C(1536);
    5685          19 :       Value |= op & UINT64_C(15);
    5686          38 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5687          19 :       break;
    5688             :     }
    5689             :     case ARM::VMOVv2i32:
    5690             :     case ARM::VMOVv4i32:
    5691             :     case ARM::VMVNv2i32:
    5692             :     case ARM::VMVNv4i32: {
    5693             :       // op: Vd
    5694          58 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5695          58 :       Value |= (op & UINT64_C(16)) << 18;
    5696          58 :       Value |= (op & UINT64_C(15)) << 12;
    5697             :       // op: SIMM
    5698          58 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5699          58 :       Value |= (op & UINT64_C(128)) << 17;
    5700          58 :       Value |= (op & UINT64_C(112)) << 12;
    5701          58 :       Value |= op & UINT64_C(3840);
    5702          58 :       Value |= op & UINT64_C(15);
    5703         116 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5704          58 :       break;
    5705             :     }
    5706             :     case ARM::VBICiv4i16:
    5707             :     case ARM::VBICiv8i16:
    5708             :     case ARM::VMOVv4i16:
    5709             :     case ARM::VMOVv8i16:
    5710             :     case ARM::VMVNv4i16:
    5711             :     case ARM::VMVNv8i16:
    5712             :     case ARM::VORRiv4i16:
    5713             :     case ARM::VORRiv8i16: {
    5714             :       // op: Vd
    5715          36 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5716          36 :       Value |= (op & UINT64_C(16)) << 18;
    5717          36 :       Value |= (op & UINT64_C(15)) << 12;
    5718             :       // op: SIMM
    5719          36 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5720          36 :       Value |= (op & UINT64_C(128)) << 17;
    5721          36 :       Value |= (op & UINT64_C(112)) << 12;
    5722          36 :       Value |= op & UINT64_C(512);
    5723          36 :       Value |= op & UINT64_C(15);
    5724          72 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5725          36 :       break;
    5726             :     }
    5727             :     case ARM::VQSHLsiv4i16:
    5728             :     case ARM::VQSHLsiv8i16:
    5729             :     case ARM::VQSHLsuv4i16:
    5730             :     case ARM::VQSHLsuv8i16:
    5731             :     case ARM::VQSHLuiv4i16:
    5732             :     case ARM::VQSHLuiv8i16:
    5733             :     case ARM::VSHLLsv4i32:
    5734             :     case ARM::VSHLLuv4i32:
    5735             :     case ARM::VSHLiv4i16:
    5736             :     case ARM::VSHLiv8i16: {
    5737             :       // op: Vd
    5738          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5739          22 :       Value |= (op & UINT64_C(16)) << 18;
    5740          22 :       Value |= (op & UINT64_C(15)) << 12;
    5741             :       // op: Vm
    5742          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5743          22 :       Value |= (op & UINT64_C(16)) << 1;
    5744          22 :       Value |= op & UINT64_C(15);
    5745             :       // op: SIMM
    5746          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5747          22 :       Value |= (op & UINT64_C(15)) << 16;
    5748          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5749          22 :       break;
    5750             :     }
    5751             :     case ARM::VQSHLsiv2i32:
    5752             :     case ARM::VQSHLsiv4i32:
    5753             :     case ARM::VQSHLsuv2i32:
    5754             :     case ARM::VQSHLsuv4i32:
    5755             :     case ARM::VQSHLuiv2i32:
    5756             :     case ARM::VQSHLuiv4i32:
    5757             :     case ARM::VSHLLsv2i64:
    5758             :     case ARM::VSHLLuv2i64:
    5759             :     case ARM::VSHLiv2i32:
    5760             :     case ARM::VSHLiv4i32: {
    5761             :       // op: Vd
    5762          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5763          22 :       Value |= (op & UINT64_C(16)) << 18;
    5764          22 :       Value |= (op & UINT64_C(15)) << 12;
    5765             :       // op: Vm
    5766          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5767          22 :       Value |= (op & UINT64_C(16)) << 1;
    5768          22 :       Value |= op & UINT64_C(15);
    5769             :       // op: SIMM
    5770          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5771          22 :       Value |= (op & UINT64_C(31)) << 16;
    5772          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5773          22 :       break;
    5774             :     }
    5775             :     case ARM::VQSHLsiv1i64:
    5776             :     case ARM::VQSHLsiv2i64:
    5777             :     case ARM::VQSHLsuv1i64:
    5778             :     case ARM::VQSHLsuv2i64:
    5779             :     case ARM::VQSHLuiv1i64:
    5780             :     case ARM::VQSHLuiv2i64:
    5781             :     case ARM::VSHLiv1i64:
    5782             :     case ARM::VSHLiv2i64: {
    5783             :       // op: Vd
    5784          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5785          18 :       Value |= (op & UINT64_C(16)) << 18;
    5786          18 :       Value |= (op & UINT64_C(15)) << 12;
    5787             :       // op: Vm
    5788          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5789          18 :       Value |= (op & UINT64_C(16)) << 1;
    5790          18 :       Value |= op & UINT64_C(15);
    5791             :       // op: SIMM
    5792          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5793          18 :       Value |= (op & UINT64_C(63)) << 16;
    5794          36 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5795          18 :       break;
    5796             :     }
    5797             :     case ARM::VQSHLsiv16i8:
    5798             :     case ARM::VQSHLsiv8i8:
    5799             :     case ARM::VQSHLsuv16i8:
    5800             :     case ARM::VQSHLsuv8i8:
    5801             :     case ARM::VQSHLuiv16i8:
    5802             :     case ARM::VQSHLuiv8i8:
    5803             :     case ARM::VSHLLsv8i16:
    5804             :     case ARM::VSHLLuv8i16:
    5805             :     case ARM::VSHLiv16i8:
    5806             :     case ARM::VSHLiv8i8: {
    5807             :       // op: Vd
    5808          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5809          22 :       Value |= (op & UINT64_C(16)) << 18;
    5810          22 :       Value |= (op & UINT64_C(15)) << 12;
    5811             :       // op: Vm
    5812          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5813          22 :       Value |= (op & UINT64_C(16)) << 1;
    5814          22 :       Value |= op & UINT64_C(15);
    5815             :       // op: SIMM
    5816          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5817          22 :       Value |= (op & UINT64_C(7)) << 16;
    5818          44 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5819          22 :       break;
    5820             :     }
    5821             :     case ARM::VCVTf2xsd:
    5822             :     case ARM::VCVTf2xsq:
    5823             :     case ARM::VCVTf2xud:
    5824             :     case ARM::VCVTf2xuq:
    5825             :     case ARM::VCVTh2xsd:
    5826             :     case ARM::VCVTh2xsq:
    5827             :     case ARM::VCVTh2xud:
    5828             :     case ARM::VCVTh2xuq:
    5829             :     case ARM::VCVTxs2fd:
    5830             :     case ARM::VCVTxs2fq:
    5831             :     case ARM::VCVTxs2hd:
    5832             :     case ARM::VCVTxs2hq:
    5833             :     case ARM::VCVTxu2fd:
    5834             :     case ARM::VCVTxu2fq:
    5835             :     case ARM::VCVTxu2hd:
    5836             :     case ARM::VCVTxu2hq: {
    5837             :       // op: Vd
    5838          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5839          56 :       Value |= (op & UINT64_C(16)) << 18;
    5840          56 :       Value |= (op & UINT64_C(15)) << 12;
    5841             :       // op: Vm
    5842          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5843          56 :       Value |= (op & UINT64_C(16)) << 1;
    5844          56 :       Value |= op & UINT64_C(15);
    5845             :       // op: SIMM
    5846          56 :       op = getNEONVcvtImm32OpValue(MI, 2, Fixups, STI);
    5847          56 :       Value |= (op & UINT64_C(63)) << 16;
    5848         112 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5849          56 :       break;
    5850             :     }
    5851             :     case ARM::VQRSHRNsv4i16:
    5852             :     case ARM::VQRSHRNuv4i16:
    5853             :     case ARM::VQRSHRUNv4i16:
    5854             :     case ARM::VQSHRNsv4i16:
    5855             :     case ARM::VQSHRNuv4i16:
    5856             :     case ARM::VQSHRUNv4i16:
    5857             :     case ARM::VRSHRNv4i16:
    5858             :     case ARM::VRSHRsv4i16:
    5859             :     case ARM::VRSHRsv8i16:
    5860             :     case ARM::VRSHRuv4i16:
    5861             :     case ARM::VRSHRuv8i16:
    5862             :     case ARM::VSHRNv4i16:
    5863             :     case ARM::VSHRsv4i16:
    5864             :     case ARM::VSHRsv8i16:
    5865             :     case ARM::VSHRuv4i16:
    5866             :     case ARM::VSHRuv8i16: {
    5867             :       // op: Vd
    5868          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5869          46 :       Value |= (op & UINT64_C(16)) << 18;
    5870          46 :       Value |= (op & UINT64_C(15)) << 12;
    5871             :       // op: Vm
    5872          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5873          46 :       Value |= (op & UINT64_C(16)) << 1;
    5874          46 :       Value |= op & UINT64_C(15);
    5875             :       // op: SIMM
    5876          46 :       op = getShiftRight16Imm(MI, 2, Fixups, STI);
    5877          46 :       Value |= (op & UINT64_C(15)) << 16;
    5878          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5879          46 :       break;
    5880             :     }
    5881             :     case ARM::VQRSHRNsv2i32:
    5882             :     case ARM::VQRSHRNuv2i32:
    5883             :     case ARM::VQRSHRUNv2i32:
    5884             :     case ARM::VQSHRNsv2i32:
    5885             :     case ARM::VQSHRNuv2i32:
    5886             :     case ARM::VQSHRUNv2i32:
    5887             :     case ARM::VRSHRNv2i32:
    5888             :     case ARM::VRSHRsv2i32:
    5889             :     case ARM::VRSHRsv4i32:
    5890             :     case ARM::VRSHRuv2i32:
    5891             :     case ARM::VRSHRuv4i32:
    5892             :     case ARM::VSHRNv2i32:
    5893             :     case ARM::VSHRsv2i32:
    5894             :     case ARM::VSHRsv4i32:
    5895             :     case ARM::VSHRuv2i32:
    5896             :     case ARM::VSHRuv4i32: {
    5897             :       // op: Vd
    5898          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5899          46 :       Value |= (op & UINT64_C(16)) << 18;
    5900          46 :       Value |= (op & UINT64_C(15)) << 12;
    5901             :       // op: Vm
    5902          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5903          46 :       Value |= (op & UINT64_C(16)) << 1;
    5904          46 :       Value |= op & UINT64_C(15);
    5905             :       // op: SIMM
    5906          46 :       op = getShiftRight32Imm(MI, 2, Fixups, STI);
    5907          46 :       Value |= (op & UINT64_C(31)) << 16;
    5908          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5909          46 :       break;
    5910             :     }
    5911             :     case ARM::VRSHRsv1i64:
    5912             :     case ARM::VRSHRsv2i64:
    5913             :     case ARM::VRSHRuv1i64:
    5914             :     case ARM::VRSHRuv2i64:
    5915             :     case ARM::VSHRsv1i64:
    5916             :     case ARM::VSHRsv2i64:
    5917             :     case ARM::VSHRuv1i64:
    5918             :     case ARM::VSHRuv2i64: {
    5919             :       // op: Vd
    5920          28 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5921          28 :       Value |= (op & UINT64_C(16)) << 18;
    5922          28 :       Value |= (op & UINT64_C(15)) << 12;
    5923             :       // op: Vm
    5924          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5925          28 :       Value |= (op & UINT64_C(16)) << 1;
    5926          28 :       Value |= op & UINT64_C(15);
    5927             :       // op: SIMM
    5928          28 :       op = getShiftRight64Imm(MI, 2, Fixups, STI);
    5929          28 :       Value |= (op & UINT64_C(63)) << 16;
    5930          56 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5931          28 :       break;
    5932             :     }
    5933             :     case ARM::VQRSHRNsv8i8:
    5934             :     case ARM::VQRSHRNuv8i8:
    5935             :     case ARM::VQRSHRUNv8i8:
    5936             :     case ARM::VQSHRNsv8i8:
    5937             :     case ARM::VQSHRNuv8i8:
    5938             :     case ARM::VQSHRUNv8i8:
    5939             :     case ARM::VRSHRNv8i8:
    5940             :     case ARM::VRSHRsv16i8:
    5941             :     case ARM::VRSHRsv8i8:
    5942             :     case ARM::VRSHRuv16i8:
    5943             :     case ARM::VRSHRuv8i8:
    5944             :     case ARM::VSHRNv8i8:
    5945             :     case ARM::VSHRsv16i8:
    5946             :     case ARM::VSHRsv8i8:
    5947             :     case ARM::VSHRuv16i8:
    5948             :     case ARM::VSHRuv8i8: {
    5949             :       // op: Vd
    5950          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5951          46 :       Value |= (op & UINT64_C(16)) << 18;
    5952          46 :       Value |= (op & UINT64_C(15)) << 12;
    5953             :       // op: Vm
    5954          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5955          46 :       Value |= (op & UINT64_C(16)) << 1;
    5956          46 :       Value |= op & UINT64_C(15);
    5957             :       // op: SIMM
    5958          46 :       op = getShiftRight8Imm(MI, 2, Fixups, STI);
    5959          46 :       Value |= (op & UINT64_C(7)) << 16;
    5960          92 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5961          46 :       break;
    5962             :     }
    5963             :     case ARM::VDUPLN32d:
    5964             :     case ARM::VDUPLN32q: {
    5965             :       // op: Vd
    5966           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5967           6 :       Value |= (op & UINT64_C(16)) << 18;
    5968           6 :       Value |= (op & UINT64_C(15)) << 12;
    5969             :       // op: Vm
    5970           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5971           6 :       Value |= (op & UINT64_C(16)) << 1;
    5972           6 :       Value |= op & UINT64_C(15);
    5973             :       // op: lane
    5974           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5975           6 :       Value |= (op & UINT64_C(1)) << 19;
    5976          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5977           6 :       break;
    5978             :     }
    5979             :     case ARM::VDUPLN16d:
    5980             :     case ARM::VDUPLN16q: {
    5981             :       // op: Vd
    5982           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5983           6 :       Value |= (op & UINT64_C(16)) << 18;
    5984           6 :       Value |= (op & UINT64_C(15)) << 12;
    5985             :       // op: Vm
    5986           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5987           6 :       Value |= (op & UINT64_C(16)) << 1;
    5988           6 :       Value |= op & UINT64_C(15);
    5989             :       // op: lane
    5990           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5991           6 :       Value |= (op & UINT64_C(3)) << 18;
    5992          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5993           6 :       break;
    5994             :     }
    5995             :     case ARM::VDUPLN8d:
    5996             :     case ARM::VDUPLN8q: {
    5997             :       // op: Vd
    5998           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5999           6 :       Value |= (op & UINT64_C(16)) << 18;
    6000           6 :       Value |= (op & UINT64_C(15)) << 12;
    6001             :       // op: Vm
    6002           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6003           6 :       Value |= (op & UINT64_C(16)) << 1;
    6004           6 :       Value |= op & UINT64_C(15);
    6005             :       // op: lane
    6006           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6007           6 :       Value |= (op & UINT64_C(7)) << 17;
    6008          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6009           6 :       break;
    6010             :     }
    6011             :     case ARM::AESIMC:
    6012             :     case ARM::AESMC:
    6013             :     case ARM::SHA1H:
    6014             :     case ARM::VABSfd:
    6015             :     case ARM::VABSfq:
    6016             :     case ARM::VABShd:
    6017             :     case ARM::VABShq:
    6018             :     case ARM::VABSv16i8:
    6019             :     case ARM::VABSv2i32:
    6020             :     case ARM::VABSv4i16:
    6021             :     case ARM::VABSv4i32:
    6022             :     case ARM::VABSv8i16:
    6023             :     case ARM::VABSv8i8:
    6024             :     case ARM::VCEQzv16i8:
    6025             :     case ARM::VCEQzv2f32:
    6026             :     case ARM::VCEQzv2i32:
    6027             :     case ARM::VCEQzv4f16:
    6028             :     case ARM::VCEQzv4f32:
    6029             :     case ARM::VCEQzv4i16:
    6030             :     case ARM::VCEQzv4i32:
    6031             :     case ARM::VCEQzv8f16:
    6032             :     case ARM::VCEQzv8i16:
    6033             :     case ARM::VCEQzv8i8:
    6034             :     case ARM::VCGEzv16i8:
    6035             :     case ARM::VCGEzv2f32:
    6036             :     case ARM::VCGEzv2i32:
    6037             :     case ARM::VCGEzv4f16:
    6038             :     case ARM::VCGEzv4f32:
    6039             :     case ARM::VCGEzv4i16:
    6040             :     case ARM::VCGEzv4i32:
    6041             :     case ARM::VCGEzv8f16:
    6042             :     case ARM::VCGEzv8i16:
    6043             :     case ARM::VCGEzv8i8:
    6044             :     case ARM::VCGTzv16i8:
    6045             :     case ARM::VCGTzv2f32:
    6046             :     case ARM::VCGTzv2i32:
    6047             :     case ARM::VCGTzv4f16:
    6048             :     case ARM::VCGTzv4f32:
    6049             :     case ARM::VCGTzv4i16:
    6050             :     case ARM::VCGTzv4i32:
    6051             :     case ARM::VCGTzv8f16:
    6052             :     case ARM::VCGTzv8i16:
    6053             :     case ARM::VCGTzv8i8:
    6054             :     case ARM::VCLEzv16i8:
    6055             :     case ARM::VCLEzv2f32:
    6056             :     case ARM::VCLEzv2i32:
    6057             :     case ARM::VCLEzv4f16:
    6058             :     case ARM::VCLEzv4f32:
    6059             :     case ARM::VCLEzv4i16:
    6060             :     case ARM::VCLEzv4i32:
    6061             :     case ARM::VCLEzv8f16:
    6062             :     case ARM::VCLEzv8i16:
    6063             :     case ARM::VCLEzv8i8:
    6064             :     case ARM::VCLSv16i8:
    6065             :     case ARM::VCLSv2i32:
    6066             :     case ARM::VCLSv4i16:
    6067             :     case ARM::VCLSv4i32:
    6068             :     case ARM::VCLSv8i16:
    6069             :     case ARM::VCLSv8i8:
    6070             :     case ARM::VCLTzv16i8:
    6071             :     case ARM::VCLTzv2f32:
    6072             :     case ARM::VCLTzv2i32:
    6073             :     case ARM::VCLTzv4f16:
    6074             :     case ARM::VCLTzv4f32:
    6075             :     case ARM::VCLTzv4i16:
    6076             :     case ARM::VCLTzv4i32:
    6077             :     case ARM::VCLTzv8f16:
    6078             :     case ARM::VCLTzv8i16:
    6079             :     case ARM::VCLTzv8i8:
    6080             :     case ARM::VCLZv16i8:
    6081             :     case ARM::VCLZv2i32:
    6082             :     case ARM::VCLZv4i16:
    6083             :     case ARM::VCLZv4i32:
    6084             :     case ARM::VCLZv8i16:
    6085             :     case ARM::VCLZv8i8:
    6086             :     case ARM::VCNTd:
    6087             :     case ARM::VCNTq:
    6088             :     case ARM::VCVTf2h:
    6089             :     case ARM::VCVTf2sd:
    6090             :     case ARM::VCVTf2sq:
    6091             :     case ARM::VCVTf2ud:
    6092             :     case ARM::VCVTf2uq:
    6093             :     case ARM::VCVTh2f:
    6094             :     case ARM::VCVTh2sd:
    6095             :     case ARM::VCVTh2sq:
    6096             :     case ARM::VCVTh2ud:
    6097             :     case ARM::VCVTh2uq:
    6098             :     case ARM::VCVTs2fd:
    6099             :     case ARM::VCVTs2fq:
    6100             :     case ARM::VCVTs2hd:
    6101             :     case ARM::VCVTs2hq:
    6102             :     case ARM::VCVTu2fd:
    6103             :     case ARM::VCVTu2fq:
    6104             :     case ARM::VCVTu2hd:
    6105             :     case ARM::VCVTu2hq:
    6106             :     case ARM::VMOVLsv2i64:
    6107             :     case ARM::VMOVLsv4i32:
    6108             :     case ARM::VMOVLsv8i16:
    6109             :     case ARM::VMOVLuv2i64:
    6110             :     case ARM::VMOVLuv4i32:
    6111             :     case ARM::VMOVLuv8i16:
    6112             :     case ARM::VMOVNv2i32:
    6113             :     case ARM::VMOVNv4i16:
    6114             :     case ARM::VMOVNv8i8:
    6115             :     case ARM::VMVNd:
    6116             :     case ARM::VMVNq:
    6117             :     case ARM::VNEGf32q:
    6118             :     case ARM::VNEGfd:
    6119             :     case ARM::VNEGhd:
    6120             :     case ARM::VNEGhq:
    6121             :     case ARM::VNEGs16d:
    6122             :     case ARM::VNEGs16q:
    6123             :     case ARM::VNEGs32d:
    6124             :     case ARM::VNEGs32q:
    6125             :     case ARM::VNEGs8d:
    6126             :     case ARM::VNEGs8q:
    6127             :     case ARM::VPADDLsv16i8:
    6128             :     case ARM::VPADDLsv2i32:
    6129             :     case ARM::VPADDLsv4i16:
    6130             :     case ARM::VPADDLsv4i32:
    6131             :     case ARM::VPADDLsv8i16:
    6132             :     case ARM::VPADDLsv8i8:
    6133             :     case ARM::VPADDLuv16i8:
    6134             :     case ARM::VPADDLuv2i32:
    6135             :     case ARM::VPADDLuv4i16:
    6136             :     case ARM::VPADDLuv4i32:
    6137             :     case ARM::VPADDLuv8i16:
    6138             :     case ARM::VPADDLuv8i8:
    6139             :     case ARM::VQABSv16i8:
    6140             :     case ARM::VQABSv2i32:
    6141             :     case ARM::VQABSv4i16:
    6142             :     case ARM::VQABSv4i32:
    6143             :     case ARM::VQABSv8i16:
    6144             :     case ARM::VQABSv8i8:
    6145             :     case ARM::VQMOVNsuv2i32:
    6146             :     case ARM::VQMOVNsuv4i16:
    6147             :     case ARM::VQMOVNsuv8i8:
    6148             :     case ARM::VQMOVNsv2i32:
    6149             :     case ARM::VQMOVNsv4i16:
    6150             :     case ARM::VQMOVNsv8i8:
    6151             :     case ARM::VQMOVNuv2i32:
    6152             :     case ARM::VQMOVNuv4i16:
    6153             :     case ARM::VQMOVNuv8i8:
    6154             :     case ARM::VQNEGv16i8:
    6155             :     case ARM::VQNEGv2i32:
    6156             :     case ARM::VQNEGv4i16:
    6157             :     case ARM::VQNEGv4i32:
    6158             :     case ARM::VQNEGv8i16:
    6159             :     case ARM::VQNEGv8i8:
    6160             :     case ARM::VRECPEd:
    6161             :     case ARM::VRECPEfd:
    6162             :     case ARM::VRECPEfq:
    6163             :     case ARM::VRECPEhd:
    6164             :     case ARM::VRECPEhq:
    6165             :     case ARM::VRECPEq:
    6166             :     case ARM::VREV16d8:
    6167             :     case ARM::VREV16q8:
    6168             :     case ARM::VREV32d16:
    6169             :     case ARM::VREV32d8:
    6170             :     case ARM::VREV32q16:
    6171             :     case ARM::VREV32q8:
    6172             :     case ARM::VREV64d16:
    6173             :     case ARM::VREV64d32:
    6174             :     case ARM::VREV64d8:
    6175             :     case ARM::VREV64q16:
    6176             :     case ARM::VREV64q32:
    6177             :     case ARM::VREV64q8:
    6178             :     case ARM::VRSQRTEd:
    6179             :     case ARM::VRSQRTEfd:
    6180             :     case ARM::VRSQRTEfq:
    6181             :     case ARM::VRSQRTEhd:
    6182             :     case ARM::VRSQRTEhq:
    6183             :     case ARM::VRSQRTEq:
    6184             :     case ARM::VSHLLi16:
    6185             :     case ARM::VSHLLi32:
    6186             :     case ARM::VSHLLi8:
    6187             :     case ARM::VSWPd:
    6188             :     case ARM::VSWPq:
    6189             :     case ARM::VTRNd16:
    6190             :     case ARM::VTRNd32:
    6191             :     case ARM::VTRNd8:
    6192             :     case ARM::VTRNq16:
    6193             :     case ARM::VTRNq32:
    6194             :     case ARM::VTRNq8:
    6195             :     case ARM::VUZPd16:
    6196             :     case ARM::VUZPd8:
    6197             :     case ARM::VUZPq16:
    6198             :     case ARM::VUZPq32:
    6199             :     case ARM::VUZPq8:
    6200             :     case ARM::VZIPd16:
    6201             :     case ARM::VZIPd8:
    6202             :     case ARM::VZIPq16:
    6203             :     case ARM::VZIPq32:
    6204             :     case ARM::VZIPq8: {
    6205             :       // op: Vd
    6206         454 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6207         454 :       Value |= (op & UINT64_C(16)) << 18;
    6208         454 :       Value |= (op & UINT64_C(15)) << 12;
    6209             :       // op: Vm
    6210         454 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6211         454 :       Value |= (op & UINT64_C(16)) << 1;
    6212         454 :       Value |= op & UINT64_C(15);
    6213         908 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6214         454 :       break;
    6215             :     }
    6216             :     case ARM::VCVTANSDf:
    6217             :     case ARM::VCVTANSDh:
    6218             :     case ARM::VCVTANSQf:
    6219             :     case ARM::VCVTANSQh:
    6220             :     case ARM::VCVTANUDf:
    6221             :     case ARM::VCVTANUDh:
    6222             :     case ARM::VCVTANUQf:
    6223             :     case ARM::VCVTANUQh:
    6224             :     case ARM::VCVTMNSDf:
    6225             :     case ARM::VCVTMNSDh:
    6226             :     case ARM::VCVTMNSQf:
    6227             :     case ARM::VCVTMNSQh:
    6228             :     case ARM::VCVTMNUDf:
    6229             :     case ARM::VCVTMNUDh:
    6230             :     case ARM::VCVTMNUQf:
    6231             :     case ARM::VCVTMNUQh:
    6232             :     case ARM::VCVTNNSDf:
    6233             :     case ARM::VCVTNNSDh:
    6234             :     case ARM::VCVTNNSQf:
    6235             :     case ARM::VCVTNNSQh:
    6236             :     case ARM::VCVTNNUDf:
    6237             :     case ARM::VCVTNNUDh:
    6238             :     case ARM::VCVTNNUQf:
    6239             :     case ARM::VCVTNNUQh:
    6240             :     case ARM::VCVTPNSDf:
    6241             :     case ARM::VCVTPNSDh:
    6242             :     case ARM::VCVTPNSQf:
    6243             :     case ARM::VCVTPNSQh:
    6244             :     case ARM::VCVTPNUDf:
    6245             :     case ARM::VCVTPNUDh:
    6246             :     case ARM::VCVTPNUQf:
    6247             :     case ARM::VCVTPNUQh:
    6248             :     case ARM::VRINTANDf:
    6249             :     case ARM::VRINTANDh:
    6250             :     case ARM::VRINTANQf:
    6251             :     case ARM::VRINTANQh:
    6252             :     case ARM::VRINTMNDf:
    6253             :     case ARM::VRINTMNDh:
    6254             :     case ARM::VRINTMNQf:
    6255             :     case ARM::VRINTMNQh:
    6256             :     case ARM::VRINTNNDf:
    6257             :     case ARM::VRINTNNDh:
    6258             :     case ARM::VRINTNNQf:
    6259             :     case ARM::VRINTNNQh:
    6260             :     case ARM::VRINTPNDf:
    6261             :     case ARM::VRINTPNDh:
    6262             :     case ARM::VRINTPNQf:
    6263             :     case ARM::VRINTPNQh:
    6264             :     case ARM::VRINTXNDf:
    6265             :     case ARM::VRINTXNDh:
    6266             :     case ARM::VRINTXNQf:
    6267             :     case ARM::VRINTXNQh:
    6268             :     case ARM::VRINTZNDf:
    6269             :     case ARM::VRINTZNDh:
    6270             :     case ARM::VRINTZNQf:
    6271             :     case ARM::VRINTZNQh: {
    6272             :       // op: Vd
    6273         178 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6274         178 :       Value |= (op & UINT64_C(16)) << 18;
    6275         178 :       Value |= (op & UINT64_C(15)) << 12;
    6276             :       // op: Vm
    6277         178 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6278         178 :       Value |= (op & UINT64_C(16)) << 1;
    6279         178 :       Value |= op & UINT64_C(15);
    6280         356 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    6281         178 :       break;
    6282             :     }
    6283             :     case ARM::VSLIv4i16:
    6284             :     case ARM::VSLIv8i16: {
    6285             :       // op: Vd
    6286          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6287          12 :       Value |= (op & UINT64_C(16)) << 18;
    6288          12 :       Value |= (op & UINT64_C(15)) << 12;
    6289             :       // op: Vm
    6290          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6291          12 :       Value |= (op & UINT64_C(16)) << 1;
    6292          12 :       Value |= op & UINT64_C(15);
    6293             :       // op: SIMM
    6294          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6295          12 :       Value |= (op & UINT64_C(15)) << 16;
    6296          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6297          12 :       break;
    6298             :     }
    6299             :     case ARM::VSLIv2i32:
    6300             :     case ARM::VSLIv4i32: {
    6301             :       // op: Vd
    6302          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6303          12 :       Value |= (op & UINT64_C(16)) << 18;
    6304          12 :       Value |= (op & UINT64_C(15)) << 12;
    6305             :       // op: Vm
    6306          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6307          12 :       Value |= (op & UINT64_C(16)) << 1;
    6308          12 :       Value |= op & UINT64_C(15);
    6309             :       // op: SIMM
    6310          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6311          12 :       Value |= (op & UINT64_C(31)) << 16;
    6312          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6313          12 :       break;
    6314             :     }
    6315             :     case ARM::VSLIv1i64:
    6316             :     case ARM::VSLIv2i64: {
    6317             :       // op: Vd
    6318          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6319          12 :       Value |= (op & UINT64_C(16)) << 18;
    6320          12 :       Value |= (op & UINT64_C(15)) << 12;
    6321             :       // op: Vm
    6322          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6323          12 :       Value |= (op & UINT64_C(16)) << 1;
    6324          12 :       Value |= op & UINT64_C(15);
    6325             :       // op: SIMM
    6326          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6327          12 :       Value |= (op & UINT64_C(63)) << 16;
    6328          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6329          12 :       break;
    6330             :     }
    6331             :     case ARM::VSLIv16i8:
    6332             :     case ARM::VSLIv8i8: {
    6333             :       // op: Vd
    6334          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6335          12 :       Value |= (op & UINT64_C(16)) << 18;
    6336          12 :       Value |= (op & UINT64_C(15)) << 12;
    6337             :       // op: Vm
    6338          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6339          12 :       Value |= (op & UINT64_C(16)) << 1;
    6340          12 :       Value |= op & UINT64_C(15);
    6341             :       // op: SIMM
    6342          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6343          12 :       Value |= (op & UINT64_C(7)) << 16;
    6344          24 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6345          12 :       break;
    6346             :     }
    6347             :     case ARM::VRSRAsv4i16:
    6348             :     case ARM::VRSRAsv8i16:
    6349             :     case ARM::VRSRAuv4i16:
    6350             :     case ARM::VRSRAuv8i16:
    6351             :     case ARM::VSRAsv4i16:
    6352             :     case ARM::VSRAsv8i16:
    6353             :     case ARM::VSRAuv4i16:
    6354             :     case ARM::VSRAuv8i16:
    6355             :     case ARM::VSRIv4i16:
    6356             :     case ARM::VSRIv8i16: {
    6357             :       // op: Vd
    6358          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6359          52 :       Value |= (op & UINT64_C(16)) << 18;
    6360          52 :       Value |= (op & UINT64_C(15)) << 12;
    6361             :       // op: Vm
    6362          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6363          52 :       Value |= (op & UINT64_C(16)) << 1;
    6364          52 :       Value |= op & UINT64_C(15);
    6365             :       // op: SIMM
    6366          52 :       op = getShiftRight16Imm(MI, 3, Fixups, STI);
    6367          52 :       Value |= (op & UINT64_C(15)) << 16;
    6368         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6369          52 :       break;
    6370             :     }
    6371             :     case ARM::VRSRAsv2i32:
    6372             :     case ARM::VRSRAsv4i32:
    6373             :     case ARM::VRSRAuv2i32:
    6374             :     case ARM::VRSRAuv4i32:
    6375             :     case ARM::VSRAsv2i32:
    6376             :     case ARM::VSRAsv4i32:
    6377             :     case ARM::VSRAuv2i32:
    6378             :     case ARM::VSRAuv4i32:
    6379             :     case ARM::VSRIv2i32:
    6380             :     case ARM::VSRIv4i32: {
    6381             :       // op: Vd
    6382          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6383          52 :       Value |= (op & UINT64_C(16)) << 18;
    6384          52 :       Value |= (op & UINT64_C(15)) << 12;
    6385             :       // op: Vm
    6386          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6387          52 :       Value |= (op & UINT64_C(16)) << 1;
    6388          52 :       Value |= op & UINT64_C(15);
    6389             :       // op: SIMM
    6390          52 :       op = getShiftRight32Imm(MI, 3, Fixups, STI);
    6391          52 :       Value |= (op & UINT64_C(31)) << 16;
    6392         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6393          52 :       break;
    6394             :     }
    6395             :     case ARM::VRSRAsv1i64:
    6396             :     case ARM::VRSRAsv2i64:
    6397             :     case ARM::VRSRAuv1i64:
    6398             :     case ARM::VRSRAuv2i64:
    6399             :     case ARM::VSRAsv1i64:
    6400             :     case ARM::VSRAsv2i64:
    6401             :     case ARM::VSRAuv1i64:
    6402             :     case ARM::VSRAuv2i64:
    6403             :     case ARM::VSRIv1i64:
    6404             :     case ARM::VSRIv2i64: {
    6405             :       // op: Vd
    6406          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6407          52 :       Value |= (op & UINT64_C(16)) << 18;
    6408          52 :       Value |= (op & UINT64_C(15)) << 12;
    6409             :       // op: Vm
    6410          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6411          52 :       Value |= (op & UINT64_C(16)) << 1;
    6412          52 :       Value |= op & UINT64_C(15);
    6413             :       // op: SIMM
    6414          52 :       op = getShiftRight64Imm(MI, 3, Fixups, STI);
    6415          52 :       Value |= (op & UINT64_C(63)) << 16;
    6416         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6417          52 :       break;
    6418             :     }
    6419             :     case ARM::VRSRAsv16i8:
    6420             :     case ARM::VRSRAsv8i8:
    6421             :     case ARM::VRSRAuv16i8:
    6422             :     case ARM::VRSRAuv8i8:
    6423             :     case ARM::VSRAsv16i8:
    6424             :     case ARM::VSRAsv8i8:
    6425             :     case ARM::VSRAuv16i8:
    6426             :     case ARM::VSRAuv8i8:
    6427             :     case ARM::VSRIv16i8:
    6428             :     case ARM::VSRIv8i8: {
    6429             :       // op: Vd
    6430          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6431          52 :       Value |= (op & UINT64_C(16)) << 18;
    6432          52 :       Value |= (op & UINT64_C(15)) << 12;
    6433             :       // op: Vm
    6434          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6435          52 :       Value |= (op & UINT64_C(16)) << 1;
    6436          52 :       Value |= op & UINT64_C(15);
    6437             :       // op: SIMM
    6438          52 :       op = getShiftRight8Imm(MI, 3, Fixups, STI);
    6439          52 :       Value |= (op & UINT64_C(7)) << 16;
    6440         104 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6441          52 :       break;
    6442             :     }
    6443             :     case ARM::AESD:
    6444             :     case ARM::AESE:
    6445             :     case ARM::SHA1SU1:
    6446             :     case ARM::SHA256SU0:
    6447             :     case ARM::VPADALsv16i8:
    6448             :     case ARM::VPADALsv2i32:
    6449             :     case ARM::VPADALsv4i16:
    6450             :     case ARM::VPADALsv4i32:
    6451             :     case ARM::VPADALsv8i16:
    6452             :     case ARM::VPADALsv8i8:
    6453             :     case ARM::VPADALuv16i8:
    6454             :     case ARM::VPADALuv2i32:
    6455             :     case ARM::VPADALuv4i16:
    6456             :     case ARM::VPADALuv4i32:
    6457             :     case ARM::VPADALuv8i16:
    6458             :     case ARM::VPADALuv8i8: {
    6459             :       // op: Vd
    6460          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6461          32 :       Value |= (op & UINT64_C(16)) << 18;
    6462          32 :       Value |= (op & UINT64_C(15)) << 12;
    6463             :       // op: Vm
    6464          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6465          32 :       Value |= (op & UINT64_C(16)) << 1;
    6466          32 :       Value |= op & UINT64_C(15);
    6467          64 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6468          32 :       break;
    6469             :     }
    6470             :     case ARM::VEXTd32: {
    6471             :       // op: Vd
    6472           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6473           0 :       Value |= (op & UINT64_C(16)) << 18;
    6474           0 :       Value |= (op & UINT64_C(15)) << 12;
    6475             :       // op: Vn
    6476           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6477           0 :       Value |= (op & UINT64_C(15)) << 16;
    6478           0 :       Value |= (op & UINT64_C(16)) << 3;
    6479             :       // op: Vm
    6480           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6481           0 :       Value |= (op & UINT64_C(16)) << 1;
    6482           0 :       Value |= op & UINT64_C(15);
    6483             :       // op: index
    6484           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6485           0 :       Value |= (op & UINT64_C(1)) << 10;
    6486           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6487           0 :       break;
    6488             :     }
    6489             :     case ARM::VEXTq64: {
    6490             :       // op: Vd
    6491           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6492           2 :       Value |= (op & UINT64_C(16)) << 18;
    6493           2 :       Value |= (op & UINT64_C(15)) << 12;
    6494             :       // op: Vn
    6495           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6496           2 :       Value |= (op & UINT64_C(15)) << 16;
    6497           2 :       Value |= (op & UINT64_C(16)) << 3;
    6498             :       // op: Vm
    6499           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6500           2 :       Value |= (op & UINT64_C(16)) << 1;
    6501           2 :       Value |= op & UINT64_C(15);
    6502             :       // op: index
    6503           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6504           2 :       Value |= (op & UINT64_C(1)) << 11;
    6505           4 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6506           2 :       break;
    6507             :     }
    6508             :     case ARM::VEXTq8: {
    6509             :       // op: Vd
    6510           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6511           8 :       Value |= (op & UINT64_C(16)) << 18;
    6512           8 :       Value |= (op & UINT64_C(15)) << 12;
    6513             :       // op: Vn
    6514           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6515           8 :       Value |= (op & UINT64_C(15)) << 16;
    6516           8 :       Value |= (op & UINT64_C(16)) << 3;
    6517             :       // op: Vm
    6518           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6519           8 :       Value |= (op & UINT64_C(16)) << 1;
    6520           8 :       Value |= op & UINT64_C(15);
    6521             :       // op: index
    6522           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6523           8 :       Value |= (op & UINT64_C(15)) << 8;
    6524          16 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6525           8 :       break;
    6526             :     }
    6527             :     case ARM::VEXTq32: {
    6528             :       // op: Vd
    6529           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6530           4 :       Value |= (op & UINT64_C(16)) << 18;
    6531           4 :       Value |= (op & UINT64_C(15)) << 12;
    6532             :       // op: Vn
    6533           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6534           4 :       Value |= (op & UINT64_C(15)) << 16;
    6535           4 :       Value |= (op & UINT64_C(16)) << 3;
    6536             :       // op: Vm
    6537           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6538           4 :       Value |= (op & UINT64_C(16)) << 1;
    6539           4 :       Value |= op & UINT64_C(15);
    6540             :       // op: index
    6541           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6542           4 :       Value |= (op & UINT64_C(3)) << 10;
    6543           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6544           4 :       break;
    6545             :     }
    6546             :     case ARM::VEXTd16: {
    6547             :       // op: Vd
    6548           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6549           4 :       Value |= (op & UINT64_C(16)) << 18;
    6550           4 :       Value |= (op & UINT64_C(15)) << 12;
    6551             :       // op: Vn
    6552           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6553           4 :       Value |= (op & UINT64_C(15)) << 16;
    6554           4 :       Value |= (op & UINT64_C(16)) << 3;
    6555             :       // op: Vm
    6556           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6557           4 :       Value |= (op & UINT64_C(16)) << 1;
    6558           4 :       Value |= op & UINT64_C(15);
    6559             :       // op: index
    6560           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6561           4 :       Value |= (op & UINT64_C(3)) << 9;
    6562           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6563           4 :       break;
    6564             :     }
    6565             :     case ARM::VEXTd8: {
    6566             :       // op: Vd
    6567           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6568           8 :       Value |= (op & UINT64_C(16)) << 18;
    6569           8 :       Value |= (op & UINT64_C(15)) << 12;
    6570             :       // op: Vn
    6571           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6572           8 :       Value |= (op & UINT64_C(15)) << 16;
    6573           8 :       Value |= (op & UINT64_C(16)) << 3;
    6574             :       // op: Vm
    6575           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6576           8 :       Value |= (op & UINT64_C(16)) << 1;
    6577           8 :       Value |= op & UINT64_C(15);
    6578             :       // op: index
    6579           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6580           8 :       Value |= (op & UINT64_C(7)) << 8;
    6581          16 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6582           8 :       break;
    6583             :     }
    6584             :     case ARM::VEXTq16: {
    6585             :       // op: Vd
    6586           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6587           0 :       Value |= (op & UINT64_C(16)) << 18;
    6588           0 :       Value |= (op & UINT64_C(15)) << 12;
    6589             :       // op: Vn
    6590           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6591           0 :       Value |= (op & UINT64_C(15)) << 16;
    6592           0 :       Value |= (op & UINT64_C(16)) << 3;
    6593             :       // op: Vm
    6594           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6595           0 :       Value |= (op & UINT64_C(16)) << 1;
    6596           0 :       Value |= op & UINT64_C(15);
    6597             :       // op: index
    6598           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6599           0 :       Value |= (op & UINT64_C(7)) << 9;
    6600           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6601           0 :       break;
    6602             :     }
    6603             :     case ARM::VCADDv2f32:
    6604             :     case ARM::VCADDv4f16:
    6605             :     case ARM::VCADDv4f32:
    6606             :     case ARM::VCADDv8f16: {
    6607             :       // op: Vd
    6608          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6609          16 :       Value |= (op & UINT64_C(16)) << 18;
    6610          16 :       Value |= (op & UINT64_C(15)) << 12;
    6611             :       // op: Vn
    6612          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6613          16 :       Value |= (op & UINT64_C(15)) << 16;
    6614          16 :       Value |= (op & UINT64_C(16)) << 3;
    6615             :       // op: Vm
    6616          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6617          16 :       Value |= (op & UINT64_C(16)) << 1;
    6618          16 :       Value |= op & UINT64_C(15);
    6619             :       // op: rot
    6620          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6621          16 :       Value |= (op & UINT64_C(1)) << 24;
    6622          16 :       break;
    6623             :     }
    6624             :     case ARM::VABDLsv2i64:
    6625             :     case ARM::VABDLsv4i32:
    6626             :     case ARM::VABDLsv8i16:
    6627             :     case ARM::VABDLuv2i64:
    6628             :     case ARM::VABDLuv4i32:
    6629             :     case ARM::VABDLuv8i16:
    6630             :     case ARM::VABDfd:
    6631             :     case ARM::VABDfq:
    6632             :     case ARM::VABDhd:
    6633             :     case ARM::VABDhq:
    6634             :     case ARM::VABDsv16i8:
    6635             :     case ARM::VABDsv2i32:
    6636             :     case ARM::VABDsv4i16:
    6637             :     case ARM::VABDsv4i32:
    6638             :     case ARM::VABDsv8i16:
    6639             :     case ARM::VABDsv8i8:
    6640             :     case ARM::VABDuv16i8:
    6641             :     case ARM::VABDuv2i32:
    6642             :     case ARM::VABDuv4i16:
    6643             :     case ARM::VABDuv4i32:
    6644             :     case ARM::VABDuv8i16:
    6645             :     case ARM::VABDuv8i8:
    6646             :     case ARM::VACGEfd:
    6647             :     case ARM::VACGEfq:
    6648             :     case ARM::VACGEhd:
    6649             :     case ARM::VACGEhq:
    6650             :     case ARM::VACGTfd:
    6651             :     case ARM::VACGTfq:
    6652             :     case ARM::VACGThd:
    6653             :     case ARM::VACGThq:
    6654             :     case ARM::VADDHNv2i32:
    6655             :     case ARM::VADDHNv4i16:
    6656             :     case ARM::VADDHNv8i8:
    6657             :     case ARM::VADDLsv2i64:
    6658             :     case ARM::VADDLsv4i32:
    6659             :     case ARM::VADDLsv8i16:
    6660             :     case ARM::VADDLuv2i64:
    6661             :     case ARM::VADDLuv4i32:
    6662             :     case ARM::VADDLuv8i16:
    6663             :     case ARM::VADDWsv2i64:
    6664             :     case ARM::VADDWsv4i32:
    6665             :     case ARM::VADDWsv8i16:
    6666             :     case ARM::VADDWuv2i64:
    6667             :     case ARM::VADDWuv4i32:
    6668             :     case ARM::VADDWuv8i16:
    6669             :     case ARM::VADDfd:
    6670             :     case ARM::VADDfq:
    6671             :     case ARM::VADDhd:
    6672             :     case ARM::VADDhq:
    6673             :     case ARM::VADDv16i8:
    6674             :     case ARM::VADDv1i64:
    6675             :     case ARM::VADDv2i32:
    6676             :     case ARM::VADDv2i64:
    6677             :     case ARM::VADDv4i16:
    6678             :     case ARM::VADDv4i32:
    6679             :     case ARM::VADDv8i16:
    6680             :     case ARM::VADDv8i8:
    6681             :     case ARM::VANDd:
    6682             :     case ARM::VANDq:
    6683             :     case ARM::VBICd:
    6684             :     case ARM::VBICq:
    6685             :     case ARM::VCEQfd:
    6686             :     case ARM::VCEQfq:
    6687             :     case ARM::VCEQhd:
    6688             :     case ARM::VCEQhq:
    6689             :     case ARM::VCEQv16i8:
    6690             :     case ARM::VCEQv2i32:
    6691             :     case ARM::VCEQv4i16:
    6692             :     case ARM::VCEQv4i32:
    6693             :     case ARM::VCEQv8i16:
    6694             :     case ARM::VCEQv8i8:
    6695             :     case ARM::VCGEfd:
    6696             :     case ARM::VCGEfq:
    6697             :     case ARM::VCGEhd:
    6698             :     case ARM::VCGEhq:
    6699             :     case ARM::VCGEsv16i8:
    6700             :     case ARM::VCGEsv2i32:
    6701             :     case ARM::VCGEsv4i16:
    6702             :     case ARM::VCGEsv4i32:
    6703             :     case ARM::VCGEsv8i16:
    6704             :     case ARM::VCGEsv8i8:
    6705             :     case ARM::VCGEuv16i8:
    6706             :     case ARM::VCGEuv2i32:
    6707             :     case ARM::VCGEuv4i16:
    6708             :     case ARM::VCGEuv4i32:
    6709             :     case ARM::VCGEuv8i16:
    6710             :     case ARM::VCGEuv8i8:
    6711             :     case ARM::VCGTfd:
    6712             :     case ARM::VCGTfq:
    6713             :     case ARM::VCGThd:
    6714             :     case ARM::VCGThq:
    6715             :     case ARM::VCGTsv16i8:
    6716             :     case ARM::VCGTsv2i32:
    6717             :     case ARM::VCGTsv4i16:
    6718             :     case ARM::VCGTsv4i32:
    6719             :     case ARM::VCGTsv8i16:
    6720             :     case ARM::VCGTsv8i8:
    6721             :     case ARM::VCGTuv16i8:
    6722             :     case ARM::VCGTuv2i32:
    6723             :     case ARM::VCGTuv4i16:
    6724             :     case ARM::VCGTuv4i32:
    6725             :     case ARM::VCGTuv8i16:
    6726             :     case ARM::VCGTuv8i8:
    6727             :     case ARM::VEORd:
    6728             :     case ARM::VEORq:
    6729             :     case ARM::VHADDsv16i8:
    6730             :     case ARM::VHADDsv2i32:
    6731             :     case ARM::VHADDsv4i16:
    6732             :     case ARM::VHADDsv4i32:
    6733             :     case ARM::VHADDsv8i16:
    6734             :     case ARM::VHADDsv8i8:
    6735             :     case ARM::VHADDuv16i8:
    6736             :     case ARM::VHADDuv2i32:
    6737             :     case ARM::VHADDuv4i16:
    6738             :     case ARM::VHADDuv4i32:
    6739             :     case ARM::VHADDuv8i16:
    6740             :     case ARM::VHADDuv8i8:
    6741             :     case ARM::VHSUBsv16i8:
    6742             :     case ARM::VHSUBsv2i32:
    6743             :     case ARM::VHSUBsv4i16:
    6744             :     case ARM::VHSUBsv4i32:
    6745             :     case ARM::VHSUBsv8i16:
    6746             :     case ARM::VHSUBsv8i8:
    6747             :     case ARM::VHSUBuv16i8:
    6748             :     case ARM::VHSUBuv2i32:
    6749             :     case ARM::VHSUBuv4i16:
    6750             :     case ARM::VHSUBuv4i32:
    6751             :     case ARM::VHSUBuv8i16:
    6752             :     case ARM::VHSUBuv8i8:
    6753             :     case ARM::VMAXfd:
    6754             :     case ARM::VMAXfq:
    6755             :     case ARM::VMAXhd:
    6756             :     case ARM::VMAXhq:
    6757             :     case ARM::VMAXsv16i8:
    6758             :     case ARM::VMAXsv2i32:
    6759             :     case ARM::VMAXsv4i16:
    6760             :     case ARM::VMAXsv4i32:
    6761             :     case ARM::VMAXsv8i16:
    6762             :     case ARM::VMAXsv8i8:
    6763             :     case ARM::VMAXuv16i8:
    6764             :     case ARM::VMAXuv2i32:
    6765             :     case ARM::VMAXuv4i16:
    6766             :     case ARM::VMAXuv4i32:
    6767             :     case ARM::VMAXuv8i16:
    6768             :     case ARM::VMAXuv8i8:
    6769             :     case ARM::VMINfd:
    6770             :     case ARM::VMINfq:
    6771             :     case ARM::VMINhd:
    6772             :     case ARM::VMINhq:
    6773             :     case ARM::VMINsv16i8:
    6774             :     case ARM::VMINsv2i32:
    6775             :     case ARM::VMINsv4i16:
    6776             :     case ARM::VMINsv4i32:
    6777             :     case ARM::VMINsv8i16:
    6778             :     case ARM::VMINsv8i8:
    6779             :     case ARM::VMINuv16i8:
    6780             :     case ARM::VMINuv2i32:
    6781             :     case ARM::VMINuv4i16:
    6782             :     case ARM::VMINuv4i32:
    6783             :     case ARM::VMINuv8i16:
    6784             :     case ARM::VMINuv8i8:
    6785             :     case ARM::VMULLp64:
    6786             :     case ARM::VMULLp8:
    6787             :     case ARM::VMULLsv2i64:
    6788             :     case ARM::VMULLsv4i32:
    6789             :     case ARM::VMULLsv8i16:
    6790             :     case ARM::VMULLuv2i64:
    6791             :     case ARM::VMULLuv4i32:
    6792             :     case ARM::VMULLuv8i16:
    6793             :     case ARM::VMULfd:
    6794             :     case ARM::VMULfq:
    6795             :     case ARM::VMULhd:
    6796             :     case ARM::VMULhq:
    6797             :     case ARM::VMULpd:
    6798             :     case ARM::VMULpq:
    6799             :     case ARM::VMULv16i8:
    6800             :     case ARM::VMULv2i32:
    6801             :     case ARM::VMULv4i16:
    6802             :     case ARM::VMULv4i32:
    6803             :     case ARM::VMULv8i16:
    6804             :     case ARM::VMULv8i8:
    6805             :     case ARM::VORNd:
    6806             :     case ARM::VORNq:
    6807             :     case ARM::VORRd:
    6808             :     case ARM::VORRq:
    6809             :     case ARM::VPADDf:
    6810             :     case ARM::VPADDh:
    6811             :     case ARM::VPADDi16:
    6812             :     case ARM::VPADDi32:
    6813             :     case ARM::VPADDi8:
    6814             :     case ARM::VPMAXf:
    6815             :     case ARM::VPMAXh:
    6816             :     case ARM::VPMAXs16:
    6817             :     case ARM::VPMAXs32:
    6818             :     case ARM::VPMAXs8:
    6819             :     case ARM::VPMAXu16:
    6820             :     case ARM::VPMAXu32:
    6821             :     case ARM::VPMAXu8:
    6822             :     case ARM::VPMINf:
    6823             :     case ARM::VPMINh:
    6824             :     case ARM::VPMINs16:
    6825             :     case ARM::VPMINs32:
    6826             :     case ARM::VPMINs8:
    6827             :     case ARM::VPMINu16:
    6828             :     case ARM::VPMINu32:
    6829             :     case ARM::VPMINu8:
    6830             :     case ARM::VQADDsv16i8:
    6831             :     case ARM::VQADDsv1i64:
    6832             :     case ARM::VQADDsv2i32:
    6833             :     case ARM::VQADDsv2i64:
    6834             :     case ARM::VQADDsv4i16:
    6835             :     case ARM::VQADDsv4i32:
    6836             :     case ARM::VQADDsv8i16:
    6837             :     case ARM::VQADDsv8i8:
    6838             :     case ARM::VQADDuv16i8:
    6839             :     case ARM::VQADDuv1i64:
    6840             :     case ARM::VQADDuv2i32:
    6841             :     case ARM::VQADDuv2i64:
    6842             :     case ARM::VQADDuv4i16:
    6843             :     case ARM::VQADDuv4i32:
    6844             :     case ARM::VQADDuv8i16:
    6845             :     case ARM::VQADDuv8i8:
    6846             :     case ARM::VQDMULHv2i32:
    6847             :     case ARM::VQDMULHv4i16:
    6848             :     case ARM::VQDMULHv4i32:
    6849             :     case ARM::VQDMULHv8i16:
    6850             :     case ARM::VQDMULLv2i64:
    6851             :     case ARM::VQDMULLv4i32:
    6852             :     case ARM::VQRDMULHv2i32:
    6853             :     case ARM::VQRDMULHv4i16:
    6854             :     case ARM::VQRDMULHv4i32:
    6855             :     case ARM::VQRDMULHv8i16:
    6856             :     case ARM::VQSUBsv16i8:
    6857             :     case ARM::VQSUBsv1i64:
    6858             :     case ARM::VQSUBsv2i32:
    6859             :     case ARM::VQSUBsv2i64:
    6860             :     case ARM::VQSUBsv4i16:
    6861             :     case ARM::VQSUBsv4i32:
    6862             :     case ARM::VQSUBsv8i16:
    6863             :     case ARM::VQSUBsv8i8:
    6864             :     case ARM::VQSUBuv16i8:
    6865             :     case ARM::VQSUBuv1i64:
    6866             :     case ARM::VQSUBuv2i32:
    6867             :     case ARM::VQSUBuv2i64:
    6868             :     case ARM::VQSUBuv4i16:
    6869             :     case ARM::VQSUBuv4i32:
    6870             :     case ARM::VQSUBuv8i16:
    6871             :     case ARM::VQSUBuv8i8:
    6872             :     case ARM::VRADDHNv2i32:
    6873             :     case ARM::VRADDHNv4i16:
    6874             :     case ARM::VRADDHNv8i8:
    6875             :     case ARM::VRECPSfd:
    6876             :     case ARM::VRECPSfq:
    6877             :     case ARM::VRECPShd:
    6878             :     case ARM::VRECPShq:
    6879             :     case ARM::VRHADDsv16i8:
    6880             :     case ARM::VRHADDsv2i32:
    6881             :     case ARM::VRHADDsv4i16:
    6882             :     case ARM::VRHADDsv4i32:
    6883             :     case ARM::VRHADDsv8i16:
    6884             :     case ARM::VRHADDsv8i8:
    6885             :     case ARM::VRHADDuv16i8:
    6886             :     case ARM::VRHADDuv2i32:
    6887             :     case ARM::VRHADDuv4i16:
    6888             :     case ARM::VRHADDuv4i32:
    6889             :     case ARM::VRHADDuv8i16:
    6890             :     case ARM::VRHADDuv8i8:
    6891             :     case ARM::VRSQRTSfd:
    6892             :     case ARM::VRSQRTSfq:
    6893             :     case ARM::VRSQRTShd:
    6894             :     case ARM::VRSQRTShq:
    6895             :     case ARM::VRSUBHNv2i32:
    6896             :     case ARM::VRSUBHNv4i16:
    6897             :     case ARM::VRSUBHNv8i8:
    6898             :     case ARM::VSUBHNv2i32:
    6899             :     case ARM::VSUBHNv4i16:
    6900             :     case ARM::VSUBHNv8i8:
    6901             :     case ARM::VSUBLsv2i64:
    6902             :     case ARM::VSUBLsv4i32:
    6903             :     case ARM::VSUBLsv8i16:
    6904             :     case ARM::VSUBLuv2i64:
    6905             :     case ARM::VSUBLuv4i32:
    6906             :     case ARM::VSUBLuv8i16:
    6907             :     case ARM::VSUBWsv2i64:
    6908             :     case ARM::VSUBWsv4i32:
    6909             :     case ARM::VSUBWsv8i16:
    6910             :     case ARM::VSUBWuv2i64:
    6911             :     case ARM::VSUBWuv4i32:
    6912             :     case ARM::VSUBWuv8i16:
    6913             :     case ARM::VSUBfd:
    6914             :     case ARM::VSUBfq:
    6915             :     case ARM::VSUBhd:
    6916             :     case ARM::VSUBhq:
    6917             :     case ARM::VSUBv16i8:
    6918             :     case ARM::VSUBv1i64:
    6919             :     case ARM::VSUBv2i32:
    6920             :     case ARM::VSUBv2i64:
    6921             :     case ARM::VSUBv4i16:
    6922             :     case ARM::VSUBv4i32:
    6923             :     case ARM::VSUBv8i16:
    6924             :     case ARM::VSUBv8i8:
    6925             :     case ARM::VTBL1:
    6926             :     case ARM::VTBL2:
    6927             :     case ARM::VTBL3:
    6928             :     case ARM::VTBL4:
    6929             :     case ARM::VTSTv16i8:
    6930             :     case ARM::VTSTv2i32:
    6931             :     case ARM::VTSTv4i16:
    6932             :     case ARM::VTSTv4i32:
    6933             :     case ARM::VTSTv8i16:
    6934             :     case ARM::VTSTv8i8: {
    6935             :       // op: Vd
    6936         969 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6937         969 :       Value |= (op & UINT64_C(16)) << 18;
    6938         969 :       Value |= (op & UINT64_C(15)) << 12;
    6939             :       // op: Vn
    6940         969 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6941         969 :       Value |= (op & UINT64_C(15)) << 16;
    6942         969 :       Value |= (op & UINT64_C(16)) << 3;
    6943             :       // op: Vm
    6944         969 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6945         969 :       Value |= (op & UINT64_C(16)) << 1;
    6946         969 :       Value |= op & UINT64_C(15);
    6947        1938 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6948         969 :       break;
    6949             :     }
    6950             :     case ARM::VMAXNMNDf:
    6951             :     case ARM::VMAXNMNDh:
    6952             :     case ARM::VMAXNMNQf:
    6953             :     case ARM::VMAXNMNQh:
    6954             :     case ARM::VMINNMNDf:
    6955             :     case ARM::VMINNMNDh:
    6956             :     case ARM::VMINNMNQf:
    6957             :     case ARM::VMINNMNQh: {
    6958             :       // op: Vd
    6959          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6960          24 :       Value |= (op & UINT64_C(16)) << 18;
    6961          24 :       Value |= (op & UINT64_C(15)) << 12;
    6962             :       // op: Vn
    6963          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6964          24 :       Value |= (op & UINT64_C(15)) << 16;
    6965          24 :       Value |= (op & UINT64_C(16)) << 3;
    6966             :       // op: Vm
    6967          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6968          24 :       Value |= (op & UINT64_C(16)) << 1;
    6969          24 :       Value |= op & UINT64_C(15);
    6970          48 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    6971          24 :       break;
    6972             :     }
    6973             :     case ARM::VMULLslsv2i32:
    6974             :     case ARM::VMULLsluv2i32:
    6975             :     case ARM::VMULslfd:
    6976             :     case ARM::VMULslfq:
    6977             :     case ARM::VMULslv2i32:
    6978             :     case ARM::VMULslv4i32:
    6979             :     case ARM::VQDMULHslv2i32:
    6980             :     case ARM::VQDMULHslv4i32:
    6981             :     case ARM::VQDMULLslv2i32:
    6982             :     case ARM::VQRDMULHslv2i32:
    6983             :     case ARM::VQRDMULHslv4i32: {
    6984             :       // op: Vd
    6985          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6986          16 :       Value |= (op & UINT64_C(16)) << 18;
    6987          16 :       Value |= (op & UINT64_C(15)) << 12;
    6988             :       // op: Vn
    6989          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6990          16 :       Value |= (op & UINT64_C(15)) << 16;
    6991          16 :       Value |= (op & UINT64_C(16)) << 3;
    6992             :       // op: Vm
    6993          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6994          16 :       Value |= op & UINT64_C(15);
    6995             :       // op: lane
    6996          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6997          16 :       Value |= (op & UINT64_C(1)) << 5;
    6998          32 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6999          16 :       break;
    7000             :     }
    7001             :     case ARM::VMULLslsv4i16:
    7002             :     case ARM::VMULLsluv4i16:
    7003             :     case ARM::VMULslhd:
    7004             :     case ARM::VMULslhq:
    7005             :     case ARM::VMULslv4i16:
    7006             :     case ARM::VMULslv8i16:
    7007             :     case ARM::VQDMULHslv4i16:
    7008             :     case ARM::VQDMULHslv8i16:
    7009             :     case ARM::VQDMULLslv4i16:
    7010             :     case ARM::VQRDMULHslv4i16:
    7011             :     case ARM::VQRDMULHslv8i16: {
    7012             :       // op: Vd
    7013          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7014          25 :       Value |= (op & UINT64_C(16)) << 18;
    7015          25 :       Value |= (op & UINT64_C(15)) << 12;
    7016             :       // op: Vn
    7017          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7018          25 :       Value |= (op & UINT64_C(15)) << 16;
    7019          25 :       Value |= (op & UINT64_C(16)) << 3;
    7020             :       // op: Vm
    7021          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7022          25 :       Value |= op & UINT64_C(7);
    7023             :       // op: lane
    7024          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7025          25 :       Value |= (op & UINT64_C(2)) << 4;
    7026          25 :       Value |= (op & UINT64_C(1)) << 3;
    7027          50 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7028          25 :       break;
    7029             :     }
    7030             :     case ARM::VQRSHLsv16i8:
    7031             :     case ARM::VQRSHLsv1i64:
    7032             :     case ARM::VQRSHLsv2i32:
    7033             :     case ARM::VQRSHLsv2i64:
    7034             :     case ARM::VQRSHLsv4i16:
    7035             :     case ARM::VQRSHLsv4i32:
    7036             :     case ARM::VQRSHLsv8i16:
    7037             :     case ARM::VQRSHLsv8i8:
    7038             :     case ARM::VQRSHLuv16i8:
    7039             :     case ARM::VQRSHLuv1i64:
    7040             :     case ARM::VQRSHLuv2i32:
    7041             :     case ARM::VQRSHLuv2i64:
    7042             :     case ARM::VQRSHLuv4i16:
    7043             :     case ARM::VQRSHLuv4i32:
    7044             :     case ARM::VQRSHLuv8i16:
    7045             :     case ARM::VQRSHLuv8i8:
    7046             :     case ARM::VQSHLsv16i8:
    7047             :     case ARM::VQSHLsv1i64:
    7048             :     case ARM::VQSHLsv2i32:
    7049             :     case ARM::VQSHLsv2i64:
    7050             :     case ARM::VQSHLsv4i16:
    7051             :     case ARM::VQSHLsv4i32:
    7052             :     case ARM::VQSHLsv8i16:
    7053             :     case ARM::VQSHLsv8i8:
    7054             :     case ARM::VQSHLuv16i8:
    7055             :     case ARM::VQSHLuv1i64:
    7056             :     case ARM::VQSHLuv2i32:
    7057             :     case ARM::VQSHLuv2i64:
    7058             :     case ARM::VQSHLuv4i16:
    7059             :     case ARM::VQSHLuv4i32:
    7060             :     case ARM::VQSHLuv8i16:
    7061             :     case ARM::VQSHLuv8i8:
    7062             :     case ARM::VRSHLsv16i8:
    7063             :     case ARM::VRSHLsv1i64:
    7064             :     case ARM::VRSHLsv2i32:
    7065             :     case ARM::VRSHLsv2i64:
    7066             :     case ARM::VRSHLsv4i16:
    7067             :     case ARM::VRSHLsv4i32:
    7068             :     case ARM::VRSHLsv8i16:
    7069             :     case ARM::VRSHLsv8i8:
    7070             :     case ARM::VRSHLuv16i8:
    7071             :     case ARM::VRSHLuv1i64:
    7072             :     case ARM::VRSHLuv2i32:
    7073             :     case ARM::VRSHLuv2i64:
    7074             :     case ARM::VRSHLuv4i16:
    7075             :     case ARM::VRSHLuv4i32:
    7076             :     case ARM::VRSHLuv8i16:
    7077             :     case ARM::VRSHLuv8i8:
    7078             :     case ARM::VSHLsv16i8:
    7079             :     case ARM::VSHLsv1i64:
    7080             :     case ARM::VSHLsv2i32:
    7081             :     case ARM::VSHLsv2i64:
    7082             :     case ARM::VSHLsv4i16:
    7083             :     case ARM::VSHLsv4i32:
    7084             :     case ARM::VSHLsv8i16:
    7085             :     case ARM::VSHLsv8i8:
    7086             :     case ARM::VSHLuv16i8:
    7087             :     case ARM::VSHLuv1i64:
    7088             :     case ARM::VSHLuv2i32:
    7089             :     case ARM::VSHLuv2i64:
    7090             :     case ARM::VSHLuv4i16:
    7091             :     case ARM::VSHLuv4i32:
    7092             :     case ARM::VSHLuv8i16:
    7093             :     case ARM::VSHLuv8i8: {
    7094             :       // op: Vd
    7095         144 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7096         144 :       Value |= (op & UINT64_C(16)) << 18;
    7097         144 :       Value |= (op & UINT64_C(15)) << 12;
    7098             :       // op: Vn
    7099         144 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7100         144 :       Value |= (op & UINT64_C(15)) << 16;
    7101         144 :       Value |= (op & UINT64_C(16)) << 3;
    7102             :       // op: Vm
    7103         144 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7104         144 :       Value |= (op & UINT64_C(16)) << 1;
    7105         144 :       Value |= op & UINT64_C(15);
    7106         288 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7107         144 :       break;
    7108             :     }
    7109             :     case ARM::VCMLAv2f32:
    7110             :     case ARM::VCMLAv4f16:
    7111             :     case ARM::VCMLAv4f32:
    7112             :     case ARM::VCMLAv8f16: {
    7113             :       // op: Vd
    7114          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7115          24 :       Value |= (op & UINT64_C(16)) << 18;
    7116          24 :       Value |= (op & UINT64_C(15)) << 12;
    7117             :       // op: Vn
    7118          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7119          24 :       Value |= (op & UINT64_C(15)) << 16;
    7120          24 :       Value |= (op & UINT64_C(16)) << 3;
    7121             :       // op: Vm
    7122          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7123          24 :       Value |= (op & UINT64_C(16)) << 1;
    7124          24 :       Value |= op & UINT64_C(15);
    7125             :       // op: rot
    7126          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7127          24 :       Value |= (op & UINT64_C(3)) << 23;
    7128          24 :       break;
    7129             :     }
    7130             :     case ARM::VCMLAv2f32_indexed:
    7131             :     case ARM::VCMLAv4f32_indexed: {
    7132             :       // op: Vd
    7133          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7134          20 :       Value |= (op & UINT64_C(16)) << 18;
    7135          20 :       Value |= (op & UINT64_C(15)) << 12;
    7136             :       // op: Vn
    7137          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7138          20 :       Value |= (op & UINT64_C(15)) << 16;
    7139          20 :       Value |= (op & UINT64_C(16)) << 3;
    7140             :       // op: Vm
    7141          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7142          20 :       Value |= (op & UINT64_C(16)) << 1;
    7143          20 :       Value |= op & UINT64_C(15);
    7144             :       // op: rot
    7145          20 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7146          20 :       Value |= (op & UINT64_C(3)) << 20;
    7147          20 :       break;
    7148             :     }
    7149             :     case ARM::SHA1C:
    7150             :     case ARM::SHA1M:
    7151             :     case ARM::SHA1P:
    7152             :     case ARM::SHA1SU0:
    7153             :     case ARM::SHA256H:
    7154             :     case ARM::SHA256H2:
    7155             :     case ARM::SHA256SU1:
    7156             :     case ARM::VABALsv2i64:
    7157             :     case ARM::VABALsv4i32:
    7158             :     case ARM::VABALsv8i16:
    7159             :     case ARM::VABALuv2i64:
    7160             :     case ARM::VABALuv4i32:
    7161             :     case ARM::VABALuv8i16:
    7162             :     case ARM::VABAsv16i8:
    7163             :     case ARM::VABAsv2i32:
    7164             :     case ARM::VABAsv4i16:
    7165             :     case ARM::VABAsv4i32:
    7166             :     case ARM::VABAsv8i16:
    7167             :     case ARM::VABAsv8i8:
    7168             :     case ARM::VABAuv16i8:
    7169             :     case ARM::VABAuv2i32:
    7170             :     case ARM::VABAuv4i16:
    7171             :     case ARM::VABAuv4i32:
    7172             :     case ARM::VABAuv8i16:
    7173             :     case ARM::VABAuv8i8:
    7174             :     case ARM::VBIFd:
    7175             :     case ARM::VBIFq:
    7176             :     case ARM::VBITd:
    7177             :     case ARM::VBITq:
    7178             :     case ARM::VBSLd:
    7179             :     case ARM::VBSLq:
    7180             :     case ARM::VFMAfd:
    7181             :     case ARM::VFMAfq:
    7182             :     case ARM::VFMAhd:
    7183             :     case ARM::VFMAhq:
    7184             :     case ARM::VFMSfd:
    7185             :     case ARM::VFMSfq:
    7186             :     case ARM::VFMShd:
    7187             :     case ARM::VFMShq:
    7188             :     case ARM::VMLALsv2i64:
    7189             :     case ARM::VMLALsv4i32:
    7190             :     case ARM::VMLALsv8i16:
    7191             :     case ARM::VMLALuv2i64:
    7192             :     case ARM::VMLALuv4i32:
    7193             :     case ARM::VMLALuv8i16:
    7194             :     case ARM::VMLAfd:
    7195             :     case ARM::VMLAfq:
    7196             :     case ARM::VMLAhd:
    7197             :     case ARM::VMLAhq:
    7198             :     case ARM::VMLAv16i8:
    7199             :     case ARM::VMLAv2i32:
    7200             :     case ARM::VMLAv4i16:
    7201             :     case ARM::VMLAv4i32:
    7202             :     case ARM::VMLAv8i16:
    7203             :     case ARM::VMLAv8i8:
    7204             :     case ARM::VMLSLsv2i64:
    7205             :     case ARM::VMLSLsv4i32:
    7206             :     case ARM::VMLSLsv8i16:
    7207             :     case ARM::VMLSLuv2i64:
    7208             :     case ARM::VMLSLuv4i32:
    7209             :     case ARM::VMLSLuv8i16:
    7210             :     case ARM::VMLSfd:
    7211             :     case ARM::VMLSfq:
    7212             :     case ARM::VMLShd:
    7213             :     case ARM::VMLShq:
    7214             :     case ARM::VMLSv16i8:
    7215             :     case ARM::VMLSv2i32:
    7216             :     case ARM::VMLSv4i16:
    7217             :     case ARM::VMLSv4i32:
    7218             :     case ARM::VMLSv8i16:
    7219             :     case ARM::VMLSv8i8:
    7220             :     case ARM::VQDMLALv2i64:
    7221             :     case ARM::VQDMLALv4i32:
    7222             :     case ARM::VQDMLSLv2i64:
    7223             :     case ARM::VQDMLSLv4i32:
    7224             :     case ARM::VQRDMLAHv2i32:
    7225             :     case ARM::VQRDMLAHv4i16:
    7226             :     case ARM::VQRDMLAHv4i32:
    7227             :     case ARM::VQRDMLAHv8i16:
    7228             :     case ARM::VQRDMLSHv2i32:
    7229             :     case ARM::VQRDMLSHv4i16:
    7230             :     case ARM::VQRDMLSHv4i32:
    7231             :     case ARM::VQRDMLSHv8i16:
    7232             :     case ARM::VTBX1:
    7233             :     case ARM::VTBX2:
    7234             :     case ARM::VTBX3:
    7235             :     case ARM::VTBX4: {
    7236             :       // op: Vd
    7237         185 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7238         185 :       Value |= (op & UINT64_C(16)) << 18;
    7239         185 :       Value |= (op & UINT64_C(15)) << 12;
    7240             :       // op: Vn
    7241         185 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7242         185 :       Value |= (op & UINT64_C(15)) << 16;
    7243         185 :       Value |= (op & UINT64_C(16)) << 3;
    7244             :       // op: Vm
    7245         185 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7246         185 :       Value |= (op & UINT64_C(16)) << 1;
    7247         185 :       Value |= op & UINT64_C(15);
    7248         370 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7249         185 :       break;
    7250             :     }
    7251             :     case ARM::VMLALslsv2i32:
    7252             :     case ARM::VMLALsluv2i32:
    7253             :     case ARM::VMLAslfd:
    7254             :     case ARM::VMLAslfq:
    7255             :     case ARM::VMLAslv2i32:
    7256             :     case ARM::VMLAslv4i32:
    7257             :     case ARM::VMLSLslsv2i32:
    7258             :     case ARM::VMLSLsluv2i32:
    7259             :     case ARM::VMLSslfd:
    7260             :     case ARM::VMLSslfq:
    7261             :     case ARM::VMLSslv2i32:
    7262             :     case ARM::VMLSslv4i32:
    7263             :     case ARM::VQDMLALslv2i32:
    7264             :     case ARM::VQDMLSLslv2i32:
    7265             :     case ARM::VQRDMLAHslv2i32:
    7266             :     case ARM::VQRDMLAHslv4i32:
    7267             :     case ARM::VQRDMLSHslv2i32:
    7268             :     case ARM::VQRDMLSHslv4i32: {
    7269             :       // op: Vd
    7270          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7271          11 :       Value |= (op & UINT64_C(16)) << 18;
    7272          11 :       Value |= (op & UINT64_C(15)) << 12;
    7273             :       // op: Vn
    7274          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7275          11 :       Value |= (op & UINT64_C(15)) << 16;
    7276          11 :       Value |= (op & UINT64_C(16)) << 3;
    7277             :       // op: Vm
    7278          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7279          11 :       Value |= op & UINT64_C(15);
    7280             :       // op: lane
    7281          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7282          11 :       Value |= (op & UINT64_C(1)) << 5;
    7283          22 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7284          11 :       break;
    7285             :     }
    7286             :     case ARM::VCMLAv4f16_indexed:
    7287             :     case ARM::VCMLAv8f16_indexed: {
    7288             :       // op: Vd
    7289           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7290           6 :       Value |= (op & UINT64_C(16)) << 18;
    7291           6 :       Value |= (op & UINT64_C(15)) << 12;
    7292             :       // op: Vn
    7293           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7294           6 :       Value |= (op & UINT64_C(15)) << 16;
    7295           6 :       Value |= (op & UINT64_C(16)) << 3;
    7296             :       // op: Vm
    7297           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7298           6 :       Value |= op & UINT64_C(15);
    7299             :       // op: rot
    7300           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7301           6 :       Value |= (op & UINT64_C(3)) << 20;
    7302             :       // op: lane
    7303           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7304           6 :       Value |= (op & UINT64_C(1)) << 5;
    7305           6 :       break;
    7306             :     }
    7307             :     case ARM::VMLALslsv4i16:
    7308             :     case ARM::VMLALsluv4i16:
    7309             :     case ARM::VMLAslhd:
    7310             :     case ARM::VMLAslhq:
    7311             :     case ARM::VMLAslv4i16:
    7312             :     case ARM::VMLAslv8i16:
    7313             :     case ARM::VMLSLslsv4i16:
    7314             :     case ARM::VMLSLsluv4i16:
    7315             :     case ARM::VMLSslhd:
    7316             :     case ARM::VMLSslhq:
    7317             :     case ARM::VMLSslv4i16:
    7318             :     case ARM::VMLSslv8i16:
    7319             :     case ARM::VQDMLALslv4i16:
    7320             :     case ARM::VQDMLSLslv4i16:
    7321             :     case ARM::VQRDMLAHslv4i16:
    7322             :     case ARM::VQRDMLAHslv8i16:
    7323             :     case ARM::VQRDMLSHslv4i16:
    7324             :     case ARM::VQRDMLSHslv8i16: {
    7325             :       // op: Vd
    7326          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7327          35 :       Value |= (op & UINT64_C(16)) << 18;
    7328          35 :       Value |= (op & UINT64_C(15)) << 12;
    7329             :       // op: Vn
    7330          35 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7331          35 :       Value |= (op & UINT64_C(15)) << 16;
    7332          35 :       Value |= (op & UINT64_C(16)) << 3;
    7333             :       // op: Vm
    7334          35 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7335          35 :       Value |= op & UINT64_C(7);
    7336             :       // op: lane
    7337          35 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7338          35 :       Value |= (op & UINT64_C(2)) << 4;
    7339          35 :       Value |= (op & UINT64_C(1)) << 3;
    7340          70 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7341          35 :       break;
    7342             :     }
    7343             :     case ARM::VSDOTD:
    7344             :     case ARM::VSDOTQ:
    7345             :     case ARM::VUDOTD:
    7346             :     case ARM::VUDOTQ: {
    7347             :       // op: Vd
    7348          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7349          24 :       Value |= (op & UINT64_C(16)) << 18;
    7350          24 :       Value |= (op & UINT64_C(15)) << 12;
    7351             :       // op: Vn
    7352          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7353          24 :       Value |= (op & UINT64_C(15)) << 16;
    7354          24 :       Value |= (op & UINT64_C(16)) << 3;
    7355             :       // op: Vm
    7356          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7357          24 :       Value |= (op & UINT64_C(16)) << 1;
    7358          24 :       Value |= op & UINT64_C(15);
    7359          24 :       break;
    7360             :     }
    7361             :     case ARM::VSDOTDI:
    7362             :     case ARM::VSDOTQI:
    7363             :     case ARM::VUDOTDI:
    7364             :     case ARM::VUDOTQI: {
    7365             :       // op: Vd
    7366          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7367          24 :       Value |= (op & UINT64_C(16)) << 18;
    7368          24 :       Value |= (op & UINT64_C(15)) << 12;
    7369             :       // op: Vn
    7370          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7371          24 :       Value |= (op & UINT64_C(15)) << 16;
    7372          24 :       Value |= (op & UINT64_C(16)) << 3;
    7373             :       // op: Vm
    7374          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7375          24 :       Value |= op & UINT64_C(15);
    7376             :       // op: lane
    7377          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7378          24 :       Value |= (op & UINT64_C(1)) << 5;
    7379          24 :       break;
    7380             :     }
    7381             :     case ARM::VST1LNd8: {
    7382             :       // op: Vd
    7383           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7384           2 :       Value |= (op & UINT64_C(16)) << 18;
    7385           2 :       Value |= (op & UINT64_C(15)) << 12;
    7386             :       // op: Rn
    7387           4 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7388           2 :       Value |= (op & UINT64_C(15)) << 16;
    7389             :       // op: lane
    7390           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7391           2 :       Value |= (op & UINT64_C(7)) << 5;
    7392           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7393           2 :       break;
    7394             :     }
    7395             :     case ARM::VST3LNd32:
    7396             :     case ARM::VST3LNq32: {
    7397             :       // op: Vd
    7398           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7399           6 :       Value |= (op & UINT64_C(16)) << 18;
    7400           6 :       Value |= (op & UINT64_C(15)) << 12;
    7401             :       // op: Rn
    7402          12 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7403           6 :       Value |= (op & UINT64_C(15)) << 16;
    7404             :       // op: lane
    7405           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7406           6 :       Value |= (op & UINT64_C(1)) << 7;
    7407          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7408           6 :       break;
    7409             :     }
    7410             :     case ARM::VST3LNd16:
    7411             :     case ARM::VST3LNq16: {
    7412             :       // op: Vd
    7413           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7414           6 :       Value |= (op & UINT64_C(16)) << 18;
    7415           6 :       Value |= (op & UINT64_C(15)) << 12;
    7416             :       // op: Rn
    7417          12 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7418           6 :       Value |= (op & UINT64_C(15)) << 16;
    7419             :       // op: lane
    7420           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7421           6 :       Value |= (op & UINT64_C(3)) << 6;
    7422          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7423           6 :       break;
    7424             :     }
    7425             :     case ARM::VST3LNd8: {
    7426             :       // op: Vd
    7427           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7428           3 :       Value |= (op & UINT64_C(16)) << 18;
    7429           3 :       Value |= (op & UINT64_C(15)) << 12;
    7430             :       // op: Rn
    7431           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7432           3 :       Value |= (op & UINT64_C(15)) << 16;
    7433             :       // op: lane
    7434           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7435           3 :       Value |= (op & UINT64_C(7)) << 5;
    7436           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7437           3 :       break;
    7438             :     }
    7439             :     case ARM::VST1LNd16: {
    7440             :       // op: Vd
    7441           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7442           3 :       Value |= (op & UINT64_C(16)) << 18;
    7443           3 :       Value |= (op & UINT64_C(15)) << 12;
    7444             :       // op: Rn
    7445           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7446           3 :       Value |= (op & UINT64_C(15)) << 16;
    7447           3 :       Value |= op & UINT64_C(16);
    7448             :       // op: lane
    7449           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7450           3 :       Value |= (op & UINT64_C(3)) << 6;
    7451           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7452           3 :       break;
    7453             :     }
    7454             :     case ARM::VST2LNd32:
    7455             :     case ARM::VST2LNq32: {
    7456             :       // op: Vd
    7457           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7458           9 :       Value |= (op & UINT64_C(16)) << 18;
    7459           9 :       Value |= (op & UINT64_C(15)) << 12;
    7460             :       // op: Rn
    7461          18 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7462           9 :       Value |= (op & UINT64_C(15)) << 16;
    7463           9 :       Value |= op & UINT64_C(16);
    7464             :       // op: lane
    7465           9 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7466           9 :       Value |= (op & UINT64_C(1)) << 7;
    7467          18 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7468           9 :       break;
    7469             :     }
    7470             :     case ARM::VST2LNd16:
    7471             :     case ARM::VST2LNq16: {
    7472             :       // op: Vd
    7473           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7474           5 :       Value |= (op & UINT64_C(16)) << 18;
    7475           5 :       Value |= (op & UINT64_C(15)) << 12;
    7476             :       // op: Rn
    7477          10 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7478           5 :       Value |= (op & UINT64_C(15)) << 16;
    7479           5 :       Value |= op & UINT64_C(16);
    7480             :       // op: lane
    7481           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7482           5 :       Value |= (op & UINT64_C(3)) << 6;
    7483          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7484           5 :       break;
    7485             :     }
    7486             :     case ARM::VST2LNd8: {
    7487             :       // op: Vd
    7488           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7489           5 :       Value |= (op & UINT64_C(16)) << 18;
    7490           5 :       Value |= (op & UINT64_C(15)) << 12;
    7491             :       // op: Rn
    7492          10 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7493           5 :       Value |= (op & UINT64_C(15)) << 16;
    7494           5 :       Value |= op & UINT64_C(16);
    7495             :       // op: lane
    7496           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7497           5 :       Value |= (op & UINT64_C(7)) << 5;
    7498          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7499           5 :       break;
    7500             :     }
    7501             :     case ARM::VST4LNd16:
    7502             :     case ARM::VST4LNq16: {
    7503             :       // op: Vd
    7504           8 :       op = getMachineOpValue(MI, MI.getOperand(2), 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, 0, Fixups, STI);
    7509           8 :       Value |= (op & UINT64_C(15)) << 16;
    7510           8 :       Value |= op & UINT64_C(16);
    7511             :       // op: lane
    7512           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7513           8 :       Value |= (op & UINT64_C(3)) << 6;
    7514          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7515           8 :       break;
    7516             :     }
    7517             :     case ARM::VST4LNd8: {
    7518             :       // op: Vd
    7519           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7520           4 :       Value |= (op & UINT64_C(16)) << 18;
    7521           4 :       Value |= (op & UINT64_C(15)) << 12;
    7522             :       // op: Rn
    7523           8 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7524           4 :       Value |= (op & UINT64_C(15)) << 16;
    7525           4 :       Value |= op & UINT64_C(16);
    7526             :       // op: lane
    7527           4 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7528           4 :       Value |= (op & UINT64_C(7)) << 5;
    7529           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7530           4 :       break;
    7531             :     }
    7532             :     case ARM::VST1d16:
    7533             :     case ARM::VST1d16T:
    7534             :     case ARM::VST1d32:
    7535             :     case ARM::VST1d32T:
    7536             :     case ARM::VST1d64:
    7537             :     case ARM::VST1d64T:
    7538             :     case ARM::VST1d8:
    7539             :     case ARM::VST1d8T:
    7540             :     case ARM::VST3d16:
    7541             :     case ARM::VST3d32:
    7542             :     case ARM::VST3d8:
    7543             :     case ARM::VST3q16:
    7544             :     case ARM::VST3q32:
    7545             :     case ARM::VST3q8: {
    7546             :       // op: Vd
    7547          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7548          49 :       Value |= (op & UINT64_C(16)) << 18;
    7549          49 :       Value |= (op & UINT64_C(15)) << 12;
    7550             :       // op: Rn
    7551          98 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7552          49 :       Value |= (op & UINT64_C(15)) << 16;
    7553          49 :       Value |= op & UINT64_C(16);
    7554          98 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7555          49 :       break;
    7556             :     }
    7557             :     case ARM::VST4LNd32:
    7558             :     case ARM::VST4LNq32: {
    7559             :       // op: Vd
    7560          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7561          13 :       Value |= (op & UINT64_C(16)) << 18;
    7562          13 :       Value |= (op & UINT64_C(15)) << 12;
    7563             :       // op: Rn
    7564          26 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7565          13 :       Value |= (op & UINT64_C(15)) << 16;
    7566          13 :       Value |= op & UINT64_C(48);
    7567             :       // op: lane
    7568          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7569          13 :       Value |= (op & UINT64_C(1)) << 7;
    7570          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7571          13 :       break;
    7572             :     }
    7573             :     case ARM::VST1d16Q:
    7574             :     case ARM::VST1d32Q:
    7575             :     case ARM::VST1d64Q:
    7576             :     case ARM::VST1d8Q:
    7577             :     case ARM::VST1q16:
    7578             :     case ARM::VST1q32:
    7579             :     case ARM::VST1q64:
    7580             :     case ARM::VST1q8:
    7581             :     case ARM::VST2b16:
    7582             :     case ARM::VST2b32:
    7583             :     case ARM::VST2b8:
    7584             :     case ARM::VST2d16:
    7585             :     case ARM::VST2d32:
    7586             :     case ARM::VST2d8:
    7587             :     case ARM::VST2q16:
    7588             :     case ARM::VST2q32:
    7589             :     case ARM::VST2q8:
    7590             :     case ARM::VST4d16:
    7591             :     case ARM::VST4d32:
    7592             :     case ARM::VST4d8:
    7593             :     case ARM::VST4q16:
    7594             :     case ARM::VST4q32:
    7595             :     case ARM::VST4q8: {
    7596             :       // op: Vd
    7597         113 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7598         113 :       Value |= (op & UINT64_C(16)) << 18;
    7599         113 :       Value |= (op & UINT64_C(15)) << 12;
    7600             :       // op: Rn
    7601         226 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7602         113 :       Value |= (op & UINT64_C(15)) << 16;
    7603         113 :       Value |= op & UINT64_C(48);
    7604         226 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7605         113 :       break;
    7606             :     }
    7607             :     case ARM::VST1LNd32: {
    7608             :       // op: Vd
    7609           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7610           3 :       Value |= (op & UINT64_C(16)) << 18;
    7611           3 :       Value |= (op & UINT64_C(15)) << 12;
    7612             :       // op: Rn
    7613           6 :       op = getAddrMode6OneLane32AddressOpValue(MI, 0, Fixups, STI);
    7614           3 :       Value |= (op & UINT64_C(15)) << 16;
    7615           3 :       Value |= op & UINT64_C(48);
    7616             :       // op: lane
    7617           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7618           3 :       Value |= (op & UINT64_C(1)) << 7;
    7619           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7620           3 :       break;
    7621             :     }
    7622             :     case ARM::VST1d16wb_fixed:
    7623             :     case ARM::VST1d32wb_fixed:
    7624             :     case ARM::VST1d64wb_fixed:
    7625             :     case ARM::VST1d8wb_fixed: {
    7626             :       // op: Vd
    7627          56 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7628          56 :       Value |= (op & UINT64_C(16)) << 18;
    7629          56 :       Value |= (op & UINT64_C(15)) << 12;
    7630             :       // op: Rn
    7631         112 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7632          56 :       Value |= (op & UINT64_C(15)) << 16;
    7633          56 :       Value |= op & UINT64_C(16);
    7634         112 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7635          56 :       break;
    7636             :     }
    7637             :     case ARM::VST1d16Qwb_fixed:
    7638             :     case ARM::VST1d16Twb_fixed:
    7639             :     case ARM::VST1d32Qwb_fixed:
    7640             :     case ARM::VST1d32Twb_fixed:
    7641             :     case ARM::VST1d64Qwb_fixed:
    7642             :     case ARM::VST1d64Twb_fixed:
    7643             :     case ARM::VST1d8Qwb_fixed:
    7644             :     case ARM::VST1d8Twb_fixed:
    7645             :     case ARM::VST1q16wb_fixed:
    7646             :     case ARM::VST1q32wb_fixed:
    7647             :     case ARM::VST1q64wb_fixed:
    7648             :     case ARM::VST1q8wb_fixed:
    7649             :     case ARM::VST2b16wb_fixed:
    7650             :     case ARM::VST2b32wb_fixed:
    7651             :     case ARM::VST2b8wb_fixed:
    7652             :     case ARM::VST2d16wb_fixed:
    7653             :     case ARM::VST2d32wb_fixed:
    7654             :     case ARM::VST2d8wb_fixed:
    7655             :     case ARM::VST2q16wb_fixed:
    7656             :     case ARM::VST2q32wb_fixed:
    7657             :     case ARM::VST2q8wb_fixed: {
    7658             :       // op: Vd
    7659          92 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7660          92 :       Value |= (op & UINT64_C(16)) << 18;
    7661          92 :       Value |= (op & UINT64_C(15)) << 12;
    7662             :       // op: Rn
    7663         184 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7664          92 :       Value |= (op & UINT64_C(15)) << 16;
    7665          92 :       Value |= op & UINT64_C(48);
    7666         184 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7667          92 :       break;
    7668             :     }
    7669             :     case ARM::VST1LNd8_UPD: {
    7670             :       // op: Vd
    7671          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7672          11 :       Value |= (op & UINT64_C(16)) << 18;
    7673          11 :       Value |= (op & UINT64_C(15)) << 12;
    7674             :       // op: Rn
    7675          22 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7676          11 :       Value |= (op & UINT64_C(15)) << 16;
    7677             :       // op: Rm
    7678             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7679          11 :       Value |= op & UINT64_C(15);
    7680             :       // op: lane
    7681          11 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7682          11 :       Value |= (op & UINT64_C(7)) << 5;
    7683          22 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7684          11 :       break;
    7685             :     }
    7686             :     case ARM::VST3LNd32_UPD:
    7687             :     case ARM::VST3LNq32_UPD: {
    7688             :       // op: Vd
    7689           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7690           8 :       Value |= (op & UINT64_C(16)) << 18;
    7691           8 :       Value |= (op & UINT64_C(15)) << 12;
    7692             :       // op: Rn
    7693          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7694           8 :       Value |= (op & UINT64_C(15)) << 16;
    7695             :       // op: Rm
    7696             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7697           8 :       Value |= op & UINT64_C(15);
    7698             :       // op: lane
    7699           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7700           8 :       Value |= (op & UINT64_C(1)) << 7;
    7701          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7702           8 :       break;
    7703             :     }
    7704             :     case ARM::VST3LNd16_UPD:
    7705             :     case ARM::VST3LNq16_UPD: {
    7706             :       // op: Vd
    7707           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7708           8 :       Value |= (op & UINT64_C(16)) << 18;
    7709           8 :       Value |= (op & UINT64_C(15)) << 12;
    7710             :       // op: Rn
    7711          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7712           8 :       Value |= (op & UINT64_C(15)) << 16;
    7713             :       // op: Rm
    7714             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7715           8 :       Value |= op & UINT64_C(15);
    7716             :       // op: lane
    7717           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7718           8 :       Value |= (op & UINT64_C(3)) << 6;
    7719          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7720           8 :       break;
    7721             :     }
    7722             :     case ARM::VST3LNd8_UPD: {
    7723             :       // op: Vd
    7724           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7725           4 :       Value |= (op & UINT64_C(16)) << 18;
    7726           4 :       Value |= (op & UINT64_C(15)) << 12;
    7727             :       // op: Rn
    7728           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7729           4 :       Value |= (op & UINT64_C(15)) << 16;
    7730             :       // op: Rm
    7731             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7732           4 :       Value |= op & UINT64_C(15);
    7733             :       // op: lane
    7734           4 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7735           4 :       Value |= (op & UINT64_C(7)) << 5;
    7736           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7737           4 :       break;
    7738             :     }
    7739             :     case ARM::VST1LNd16_UPD: {
    7740             :       // op: Vd
    7741          17 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7742          17 :       Value |= (op & UINT64_C(16)) << 18;
    7743          17 :       Value |= (op & UINT64_C(15)) << 12;
    7744             :       // op: Rn
    7745          34 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7746          17 :       Value |= (op & UINT64_C(15)) << 16;
    7747          17 :       Value |= op & UINT64_C(16);
    7748             :       // op: Rm
    7749             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7750          17 :       Value |= op & UINT64_C(15);
    7751             :       // op: lane
    7752          17 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7753          17 :       Value |= (op & UINT64_C(3)) << 6;
    7754          34 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7755          17 :       break;
    7756             :     }
    7757             :     case ARM::VST2LNd32_UPD:
    7758             :     case ARM::VST2LNq32_UPD: {
    7759             :       // op: Vd
    7760          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7761          10 :       Value |= (op & UINT64_C(16)) << 18;
    7762          10 :       Value |= (op & UINT64_C(15)) << 12;
    7763             :       // op: Rn
    7764          20 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7765          10 :       Value |= (op & UINT64_C(15)) << 16;
    7766          10 :       Value |= op & UINT64_C(16);
    7767             :       // op: Rm
    7768             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7769          10 :       Value |= op & UINT64_C(15);
    7770             :       // op: lane
    7771          10 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7772          10 :       Value |= (op & UINT64_C(1)) << 7;
    7773          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7774          10 :       break;
    7775             :     }
    7776             :     case ARM::VST2LNd16_UPD:
    7777             :     case ARM::VST2LNq16_UPD: {
    7778             :       // op: Vd
    7779           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7780           2 :       Value |= (op & UINT64_C(16)) << 18;
    7781           2 :       Value |= (op & UINT64_C(15)) << 12;
    7782             :       // op: Rn
    7783           4 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7784           2 :       Value |= (op & UINT64_C(15)) << 16;
    7785           2 :       Value |= op & UINT64_C(16);
    7786             :       // op: Rm
    7787             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7788           2 :       Value |= op & UINT64_C(15);
    7789             :       // op: lane
    7790           2 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7791           2 :       Value |= (op & UINT64_C(3)) << 6;
    7792           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7793           2 :       break;
    7794             :     }
    7795             :     case ARM::VST2LNd8_UPD: {
    7796             :       // op: Vd
    7797           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7798           6 :       Value |= (op & UINT64_C(16)) << 18;
    7799           6 :       Value |= (op & UINT64_C(15)) << 12;
    7800             :       // op: Rn
    7801          12 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7802           6 :       Value |= (op & UINT64_C(15)) << 16;
    7803           6 :       Value |= op & UINT64_C(16);
    7804             :       // op: Rm
    7805             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7806           6 :       Value |= op & UINT64_C(15);
    7807             :       // op: lane
    7808           6 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7809           6 :       Value |= (op & UINT64_C(7)) << 5;
    7810          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7811           6 :       break;
    7812             :     }
    7813             :     case ARM::VST4LNd16_UPD:
    7814             :     case ARM::VST4LNq16_UPD: {
    7815             :       // op: Vd
    7816          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7817          13 :       Value |= (op & UINT64_C(16)) << 18;
    7818          13 :       Value |= (op & UINT64_C(15)) << 12;
    7819             :       // op: Rn
    7820          26 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7821          13 :       Value |= (op & UINT64_C(15)) << 16;
    7822          13 :       Value |= op & UINT64_C(16);
    7823             :       // op: Rm
    7824             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7825          13 :       Value |= op & UINT64_C(15);
    7826             :       // op: lane
    7827          13 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7828          13 :       Value |= (op & UINT64_C(3)) << 6;
    7829          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7830          13 :       break;
    7831             :     }
    7832             :     case ARM::VST4LNd8_UPD: {
    7833             :       // op: Vd
    7834           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7835           7 :       Value |= (op & UINT64_C(16)) << 18;
    7836           7 :       Value |= (op & UINT64_C(15)) << 12;
    7837             :       // op: Rn
    7838          14 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7839           7 :       Value |= (op & UINT64_C(15)) << 16;
    7840           7 :       Value |= op & UINT64_C(16);
    7841             :       // op: Rm
    7842             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7843           7 :       Value |= op & UINT64_C(15);
    7844             :       // op: lane
    7845           7 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7846           7 :       Value |= (op & UINT64_C(7)) << 5;
    7847          14 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7848           7 :       break;
    7849             :     }
    7850             :     case ARM::VST3d16_UPD:
    7851             :     case ARM::VST3d32_UPD:
    7852             :     case ARM::VST3d8_UPD:
    7853             :     case ARM::VST3q16_UPD:
    7854             :     case ARM::VST3q32_UPD:
    7855             :     case ARM::VST3q8_UPD: {
    7856             :       // op: Vd
    7857          42 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7858          42 :       Value |= (op & UINT64_C(16)) << 18;
    7859          42 :       Value |= (op & UINT64_C(15)) << 12;
    7860             :       // op: Rn
    7861          84 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7862          42 :       Value |= (op & UINT64_C(15)) << 16;
    7863          42 :       Value |= op & UINT64_C(16);
    7864             :       // op: Rm
    7865             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7866          42 :       Value |= op & UINT64_C(15);
    7867          84 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7868          42 :       break;
    7869             :     }
    7870             :     case ARM::VST1d16wb_register:
    7871             :     case ARM::VST1d32wb_register:
    7872             :     case ARM::VST1d64wb_register:
    7873             :     case ARM::VST1d8wb_register: {
    7874             :       // op: Vd
    7875           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7876           8 :       Value |= (op & UINT64_C(16)) << 18;
    7877           8 :       Value |= (op & UINT64_C(15)) << 12;
    7878             :       // op: Rn
    7879          16 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7880           8 :       Value |= (op & UINT64_C(15)) << 16;
    7881           8 :       Value |= op & UINT64_C(16);
    7882             :       // op: Rm
    7883           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7884           8 :       Value |= op & UINT64_C(15);
    7885          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7886           8 :       break;
    7887             :     }
    7888             :     case ARM::VST4LNd32_UPD:
    7889             :     case ARM::VST4LNq32_UPD: {
    7890             :       // op: Vd
    7891          29 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7892          29 :       Value |= (op & UINT64_C(16)) << 18;
    7893          29 :       Value |= (op & UINT64_C(15)) << 12;
    7894             :       // op: Rn
    7895          58 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7896          29 :       Value |= (op & UINT64_C(15)) << 16;
    7897          29 :       Value |= op & UINT64_C(48);
    7898             :       // op: Rm
    7899             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7900          29 :       Value |= op & UINT64_C(15);
    7901             :       // op: lane
    7902          29 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7903          29 :       Value |= (op & UINT64_C(1)) << 7;
    7904          58 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7905          29 :       break;
    7906             :     }
    7907             :     case ARM::VST4d16_UPD:
    7908             :     case ARM::VST4d32_UPD:
    7909             :     case ARM::VST4d8_UPD:
    7910             :     case ARM::VST4q16_UPD:
    7911             :     case ARM::VST4q32_UPD:
    7912             :     case ARM::VST4q8_UPD: {
    7913             :       // op: Vd
    7914          66 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7915          66 :       Value |= (op & UINT64_C(16)) << 18;
    7916          66 :       Value |= (op & UINT64_C(15)) << 12;
    7917             :       // op: Rn
    7918         132 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7919          66 :       Value |= (op & UINT64_C(15)) << 16;
    7920          66 :       Value |= op & UINT64_C(48);
    7921             :       // op: Rm
    7922             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7923          66 :       Value |= op & UINT64_C(15);
    7924         132 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7925          66 :       break;
    7926             :     }
    7927             :     case ARM::VST1d16Qwb_register:
    7928             :     case ARM::VST1d16Twb_register:
    7929             :     case ARM::VST1d32Qwb_register:
    7930             :     case ARM::VST1d32Twb_register:
    7931             :     case ARM::VST1d64Qwb_register:
    7932             :     case ARM::VST1d64Twb_register:
    7933             :     case ARM::VST1d8Qwb_register:
    7934             :     case ARM::VST1d8Twb_register:
    7935             :     case ARM::VST1q16wb_register:
    7936             :     case ARM::VST1q32wb_register:
    7937             :     case ARM::VST1q64wb_register:
    7938             :     case ARM::VST1q8wb_register:
    7939             :     case ARM::VST2b16wb_register:
    7940             :     case ARM::VST2b32wb_register:
    7941             :     case ARM::VST2b8wb_register:
    7942             :     case ARM::VST2d16wb_register:
    7943             :     case ARM::VST2d32wb_register:
    7944             :     case ARM::VST2d8wb_register:
    7945             :     case ARM::VST2q16wb_register:
    7946             :     case ARM::VST2q32wb_register:
    7947             :     case ARM::VST2q8wb_register: {
    7948             :       // op: Vd
    7949          58 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7950          58 :       Value |= (op & UINT64_C(16)) << 18;
    7951          58 :       Value |= (op & UINT64_C(15)) << 12;
    7952             :       // op: Rn
    7953         116 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7954          58 :       Value |= (op & UINT64_C(15)) << 16;
    7955          58 :       Value |= op & UINT64_C(48);
    7956             :       // op: Rm
    7957          58 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7958          58 :       Value |= op & UINT64_C(15);
    7959         116 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7960          58 :       break;
    7961             :     }
    7962             :     case ARM::VST1LNd32_UPD: {
    7963             :       // op: Vd
    7964          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7965          10 :       Value |= (op & UINT64_C(16)) << 18;
    7966          10 :       Value |= (op & UINT64_C(15)) << 12;
    7967             :       // op: Rn
    7968          20 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    7969          10 :       Value |= (op & UINT64_C(15)) << 16;
    7970          10 :       Value |= op & UINT64_C(48);
    7971             :       // op: Rm
    7972             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7973          10 :       Value |= op & UINT64_C(15);
    7974             :       // op: lane
    7975          10 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7976          10 :       Value |= (op & UINT64_C(1)) << 7;
    7977          20 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7978          10 :       break;
    7979             :     }
    7980         360 :     case ARM::LDC2L_OFFSET:
    7981             :     case ARM::LDC2L_PRE:
    7982             :     case ARM::LDC2_OFFSET:
    7983             :     case ARM::LDC2_PRE:
    7984             :     case ARM::STC2L_OFFSET:
    7985             :     case ARM::STC2L_PRE:
    7986             :     case ARM::STC2_OFFSET:
    7987             :     case ARM::STC2_PRE:
    7988             :     case ARM::t2LDC2L_OFFSET:
    7989             :     case ARM::t2LDC2L_PRE:
    7990             :     case ARM::t2LDC2_OFFSET:
    7991             :     case ARM::t2LDC2_PRE:
    7992             :     case ARM::t2LDCL_OFFSET:
    7993             :     case ARM::t2LDCL_PRE:
    7994             :     case ARM::t2LDC_OFFSET:
    7995             :     case ARM::t2LDC_PRE:
    7996             :     case ARM::t2STC2L_OFFSET:
    7997             :     case ARM::t2STC2L_PRE:
    7998             :     case ARM::t2STC2_OFFSET:
    7999             :     case ARM::t2STC2_PRE:
    8000             :     case ARM::t2STCL_OFFSET:
    8001             :     case ARM::t2STCL_PRE:
    8002             :     case ARM::t2STC_OFFSET:
    8003             :     case ARM::t2STC_PRE: {
    8004             :       // op: addr
    8005         360 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
    8006         360 :       Value |= (op & UINT64_C(256)) << 15;
    8007         360 :       Value |= (op & UINT64_C(7680)) << 7;
    8008         360 :       Value |= op & UINT64_C(255);
    8009             :       // op: cop
    8010         360 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8011         360 :       Value |= (op & UINT64_C(15)) << 8;
    8012             :       // op: CRd
    8013         360 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8014         360 :       Value |= (op & UINT64_C(15)) << 12;
    8015         360 :       break;
    8016             :     }
    8017          21 :     case ARM::t2PLDWi12:
    8018             :     case ARM::t2PLDi12:
    8019             :     case ARM::t2PLIi12: {
    8020             :       // op: addr
    8021          21 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8022          21 :       Value |= (op & UINT64_C(122880)) << 3;
    8023          21 :       Value |= op & UINT64_C(4095);
    8024          21 :       break;
    8025             :     }
    8026           0 :     case ARM::PLDWi12:
    8027             :     case ARM::PLDi12:
    8028             :     case ARM::PLIi12: {
    8029             :       // op: addr
    8030           0 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8031           0 :       Value |= (op & UINT64_C(4096)) << 11;
    8032           0 :       Value |= (op & UINT64_C(122880)) << 3;
    8033           0 :       Value |= op & UINT64_C(4095);
    8034           0 :       break;
    8035             :     }
    8036           4 :     case ARM::t2PLDpci:
    8037             :     case ARM::t2PLIpci: {
    8038             :       // op: addr
    8039           4 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8040           4 :       Value |= (op & UINT64_C(4096)) << 11;
    8041           4 :       Value |= op & UINT64_C(4095);
    8042           4 :       break;
    8043             :     }
    8044             :     case ARM::t2LDAEXB:
    8045             :     case ARM::t2LDAEXH:
    8046             :     case ARM::t2LDREXB:
    8047             :     case ARM::t2LDREXH: {
    8048             :       // op: addr
    8049          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8050          20 :       Value |= (op & UINT64_C(15)) << 16;
    8051             :       // op: Rt
    8052          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8053          20 :       Value |= (op & UINT64_C(15)) << 12;
    8054          20 :       break;
    8055             :     }
    8056             :     case ARM::t2LDAEXD:
    8057             :     case ARM::t2LDREXD: {
    8058             :       // op: addr
    8059           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8060           8 :       Value |= (op & UINT64_C(15)) << 16;
    8061             :       // op: Rt
    8062           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8063           8 :       Value |= (op & UINT64_C(15)) << 12;
    8064             :       // op: Rt2
    8065           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8066           8 :       Value |= (op & UINT64_C(15)) << 8;
    8067           8 :       break;
    8068             :     }
    8069           6 :     case ARM::t2PLDWi8:
    8070             :     case ARM::t2PLDi8:
    8071             :     case ARM::t2PLIi8: {
    8072             :       // op: addr
    8073          12 :       op = getT2AddrModeImm8OpValue(MI, 0, Fixups, STI);
    8074           6 :       Value |= (op & UINT64_C(7680)) << 7;
    8075           6 :       Value |= op & UINT64_C(255);
    8076           6 :       break;
    8077             :     }
    8078          24 :     case ARM::t2PLDWs:
    8079             :     case ARM::t2PLDs:
    8080             :     case ARM::t2PLIs: {
    8081             :       // op: addr
    8082          48 :       op = getT2AddrModeSORegOpValue(MI, 0, Fixups, STI);
    8083          24 :       Value |= (op & UINT64_C(960)) << 10;
    8084          24 :       Value |= (op & UINT64_C(3)) << 4;
    8085          24 :       Value |= (op & UINT64_C(60)) >> 2;
    8086          24 :       break;
    8087             :     }
    8088             :     case ARM::t2MSRbanked: {
    8089             :       // op: banked
    8090          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8091          33 :       Value |= (op & UINT64_C(32)) << 15;
    8092          33 :       Value |= (op & UINT64_C(15)) << 8;
    8093          33 :       Value |= op & UINT64_C(16);
    8094             :       // op: Rn
    8095          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8096          33 :       Value |= (op & UINT64_C(15)) << 16;
    8097          33 :       break;
    8098             :     }
    8099             :     case ARM::t2MRSbanked: {
    8100             :       // op: banked
    8101          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8102          33 :       Value |= (op & UINT64_C(32)) << 15;
    8103          33 :       Value |= (op & UINT64_C(15)) << 16;
    8104          33 :       Value |= op & UINT64_C(16);
    8105             :       // op: Rd
    8106          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8107          33 :       Value |= (op & UINT64_C(15)) << 8;
    8108          33 :       break;
    8109             :     }
    8110             :     case ARM::t2IT: {
    8111             :       // op: cc
    8112        2773 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8113        2773 :       Value |= (op & UINT64_C(15)) << 4;
    8114             :       // op: mask
    8115        2773 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8116        2773 :       Value |= op & UINT64_C(15);
    8117        2773 :       break;
    8118             :     }
    8119             :     case ARM::tADDrSPi: {
    8120             :       // op: dst
    8121         495 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8122         495 :       Value |= (op & UINT64_C(7)) << 8;
    8123             :       // op: imm
    8124         495 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8125         495 :       Value |= op & UINT64_C(255);
    8126         495 :       break;
    8127             :     }
    8128             :     case ARM::BX: {
    8129             :       // op: dst
    8130           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8131           0 :       Value |= op & UINT64_C(15);
    8132           0 :       break;
    8133             :     }
    8134             :     case ARM::tPICADD: {
    8135             :       // op: dst
    8136           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8137           0 :       Value |= op & UINT64_C(7);
    8138           0 :       break;
    8139             :     }
    8140             :     case ARM::tSETEND: {
    8141             :       // op: end
    8142          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8143          11 :       Value |= (op & UINT64_C(1)) << 3;
    8144          11 :       break;
    8145             :     }
    8146             :     case ARM::SETEND: {
    8147             :       // op: end
    8148          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8149          11 :       Value |= (op & UINT64_C(1)) << 9;
    8150          11 :       break;
    8151             :     }
    8152         707 :     case ARM::BL: {
    8153             :       // op: func
    8154         707 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    8155         707 :       Value |= op & UINT64_C(16777215);
    8156         707 :       break;
    8157             :     }
    8158             :     case ARM::t2BXJ: {
    8159             :       // op: func
    8160          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8161          10 :       Value |= (op & UINT64_C(15)) << 16;
    8162          10 :       break;
    8163             :     }
    8164             :     case ARM::BLX: {
    8165             :       // op: func
    8166          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8167          20 :       Value |= op & UINT64_C(15);
    8168          20 :       break;
    8169             :     }
    8170             :     case ARM::tBLXNSr:
    8171             :     case ARM::tBLXr: {
    8172             :       // op: func
    8173          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8174          42 :       Value |= (op & UINT64_C(15)) << 3;
    8175          42 :       break;
    8176             :     }
    8177         979 :     case ARM::tBL: {
    8178             :       // op: func
    8179         979 :       op = getThumbBLTargetOpValue(MI, 2, Fixups, STI);
    8180         979 :       Value |= (op & UINT64_C(8388608)) << 3;
    8181         979 :       Value |= (op & UINT64_C(2095104)) << 5;
    8182         979 :       Value |= (op & UINT64_C(4194304)) >> 9;
    8183         979 :       Value |= (op & UINT64_C(2097152)) >> 10;
    8184         979 :       Value |= op & UINT64_C(2047);
    8185         979 :       break;
    8186             :     }
    8187          31 :     case ARM::tBLXi: {
    8188             :       // op: func
    8189          31 :       op = getThumbBLXTargetOpValue(MI, 2, Fixups, STI);
    8190          31 :       Value |= (op & UINT64_C(8388608)) << 3;
    8191          31 :       Value |= (op & UINT64_C(2095104)) << 5;
    8192          31 :       Value |= (op & UINT64_C(4194304)) >> 9;
    8193          31 :       Value |= (op & UINT64_C(2097152)) >> 10;
    8194          31 :       Value |= op & UINT64_C(2046);
    8195          31 :       break;
    8196             :     }
    8197             :     case ARM::t2SETPAN: {
    8198             :       // op: imm
    8199           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8200           2 :       Value |= (op & UINT64_C(1)) << 3;
    8201           2 :       break;
    8202             :     }
    8203             :     case ARM::SETPAN: {
    8204             :       // op: imm
    8205           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8206           2 :       Value |= (op & UINT64_C(1)) << 9;
    8207           2 :       break;
    8208             :     }
    8209             :     case ARM::tHINT: {
    8210             :       // op: imm
    8211         108 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8212         108 :       Value |= (op & UINT64_C(15)) << 4;
    8213         108 :       break;
    8214             :     }
    8215             :     case ARM::HVC: {
    8216             :       // op: imm
    8217           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8218           4 :       Value |= (op & UINT64_C(65520)) << 4;
    8219           4 :       Value |= op & UINT64_C(15);
    8220           4 :       break;
    8221             :     }
    8222             :     case ARM::t2HINT:
    8223             :     case ARM::t2SUBS_PC_LR:
    8224             :     case ARM::tSVC: {
    8225             :       // op: imm
    8226          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8227          64 :       Value |= op & UINT64_C(255);
    8228          64 :       break;
    8229             :     }
    8230             :     case ARM::tADDspi:
    8231             :     case ARM::tSUBspi: {
    8232             :       // op: imm
    8233         510 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8234         510 :       Value |= op & UINT64_C(127);
    8235         510 :       break;
    8236             :     }
    8237             :     case ARM::t2HVC:
    8238             :     case ARM::t2UDF: {
    8239             :       // op: imm16
    8240          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8241          10 :       Value |= (op & UINT64_C(61440)) << 4;
    8242          10 :       Value |= op & UINT64_C(4095);
    8243          10 :       break;
    8244             :     }
    8245             :     case ARM::UDF: {
    8246             :       // op: imm16
    8247           1 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8248           1 :       Value |= (op & UINT64_C(65520)) << 4;
    8249           1 :       Value |= op & UINT64_C(15);
    8250           1 :       break;
    8251             :     }
    8252             :     case ARM::tUDF: {
    8253             :       // op: imm8
    8254           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8255           2 :       Value |= op & UINT64_C(255);
    8256           2 :       break;
    8257             :     }
    8258             :     case ARM::tCPS: {
    8259             :       // op: imod
    8260          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8261          17 :       Value |= (op & UINT64_C(1)) << 4;
    8262             :       // op: iflags
    8263          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8264          17 :       Value |= op & UINT64_C(7);
    8265          17 :       break;
    8266             :     }
    8267             :     case ARM::CPS2p: {
    8268             :       // op: imod
    8269           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8270           4 :       Value |= (op & UINT64_C(3)) << 18;
    8271             :       // op: iflags
    8272           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8273           4 :       Value |= (op & UINT64_C(7)) << 6;
    8274           4 :       break;
    8275             :     }
    8276             :     case ARM::CPS3p: {
    8277             :       // op: imod
    8278           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8279           5 :       Value |= (op & UINT64_C(3)) << 18;
    8280             :       // op: iflags
    8281           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8282           5 :       Value |= (op & UINT64_C(7)) << 6;
    8283             :       // op: mode
    8284           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8285           5 :       Value |= op & UINT64_C(31);
    8286           5 :       break;
    8287             :     }
    8288             :     case ARM::t2CPS2p: {
    8289             :       // op: imod
    8290           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8291           4 :       Value |= (op & UINT64_C(3)) << 9;
    8292             :       // op: iflags
    8293           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8294           4 :       Value |= (op & UINT64_C(7)) << 5;
    8295           4 :       break;
    8296             :     }
    8297             :     case ARM::t2CPS3p: {
    8298             :       // op: imod
    8299          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8300          12 :       Value |= (op & UINT64_C(3)) << 9;
    8301             :       // op: iflags
    8302          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8303          12 :       Value |= (op & UINT64_C(7)) << 5;
    8304             :       // op: mode
    8305          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8306          12 :       Value |= op & UINT64_C(31);
    8307          12 :       break;
    8308             :     }
    8309             :     case ARM::t2MSR_AR: {
    8310             :       // op: mask
    8311          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8312          31 :       Value |= (op & UINT64_C(16)) << 16;
    8313          31 :       Value |= (op & UINT64_C(15)) << 8;
    8314             :       // op: Rn
    8315          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8316          31 :       Value |= (op & UINT64_C(15)) << 16;
    8317          31 :       break;
    8318             :     }
    8319             :     case ARM::CPS1p:
    8320             :     case ARM::SRSDA:
    8321             :     case ARM::SRSDA_UPD:
    8322             :     case ARM::SRSDB:
    8323             :     case ARM::SRSDB_UPD:
    8324             :     case ARM::SRSIA:
    8325             :     case ARM::SRSIA_UPD:
    8326             :     case ARM::SRSIB:
    8327             :     case ARM::SRSIB_UPD:
    8328             :     case ARM::t2CPS1p:
    8329             :     case ARM::t2SRSDB:
    8330             :     case ARM::t2SRSDB_UPD:
    8331             :     case ARM::t2SRSIA:
    8332             :     case ARM::t2SRSIA_UPD: {
    8333             :       // op: mode
    8334         122 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8335         122 :       Value |= op & UINT64_C(31);
    8336         122 :       break;
    8337             :     }
    8338             :     case ARM::LDC2L_POST:
    8339             :     case ARM::LDC2_POST:
    8340             :     case ARM::STC2L_POST:
    8341             :     case ARM::STC2_POST:
    8342             :     case ARM::t2LDC2L_POST:
    8343             :     case ARM::t2LDC2_POST:
    8344             :     case ARM::t2LDCL_POST:
    8345             :     case ARM::t2LDC_POST:
    8346             :     case ARM::t2STC2L_POST:
    8347             :     case ARM::t2STC2_POST:
    8348             :     case ARM::t2STCL_POST:
    8349             :     case ARM::t2STC_POST: {
    8350             :       // op: offset
    8351         176 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8352         176 :       Value |= (op & UINT64_C(256)) << 15;
    8353         176 :       Value |= op & UINT64_C(255);
    8354             :       // op: addr
    8355         176 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8356         176 :       Value |= (op & UINT64_C(15)) << 16;
    8357             :       // op: cop
    8358         176 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8359         176 :       Value |= (op & UINT64_C(15)) << 8;
    8360             :       // op: CRd
    8361         176 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8362         176 :       Value |= (op & UINT64_C(15)) << 12;
    8363         176 :       break;
    8364             :     }
    8365             :     case ARM::CDP2:
    8366             :     case ARM::t2CDP:
    8367             :     case ARM::t2CDP2: {
    8368             :       // op: opc1
    8369          23 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8370          23 :       Value |= (op & UINT64_C(15)) << 20;
    8371             :       // op: CRn
    8372          23 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8373          23 :       Value |= (op & UINT64_C(15)) << 16;
    8374             :       // op: CRd
    8375          23 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8376          23 :       Value |= (op & UINT64_C(15)) << 12;
    8377             :       // op: cop
    8378          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8379          23 :       Value |= (op & UINT64_C(15)) << 8;
    8380             :       // op: opc2
    8381          23 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    8382          23 :       Value |= (op & UINT64_C(7)) << 5;
    8383             :       // op: CRm
    8384          23 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8385          23 :       Value |= op & UINT64_C(15);
    8386          23 :       break;
    8387             :     }
    8388             :     case ARM::t2SMC: {
    8389             :       // op: opt
    8390           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8391           3 :       Value |= (op & UINT64_C(15)) << 16;
    8392           3 :       break;
    8393             :     }
    8394             :     case ARM::DMB:
    8395             :     case ARM::DSB:
    8396             :     case ARM::ISB:
    8397             :     case ARM::t2DBG:
    8398             :     case ARM::t2DMB:
    8399             :     case ARM::t2DSB:
    8400             :     case ARM::t2ISB: {
    8401             :       // op: opt
    8402         308 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8403         308 :       Value |= op & UINT64_C(15);
    8404         308 :       break;
    8405             :     }
    8406             :     case ARM::LDC2L_OPTION:
    8407             :     case ARM::LDC2_OPTION:
    8408             :     case ARM::STC2L_OPTION:
    8409             :     case ARM::STC2_OPTION:
    8410             :     case ARM::t2LDC2L_OPTION:
    8411             :     case ARM::t2LDC2_OPTION:
    8412             :     case ARM::t2LDCL_OPTION:
    8413             :     case ARM::t2LDC_OPTION:
    8414             :     case ARM::t2STC2L_OPTION:
    8415             :     case ARM::t2STC2_OPTION:
    8416             :     case ARM::t2STCL_OPTION:
    8417             :     case ARM::t2STC_OPTION: {
    8418             :       // op: option
    8419          88 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8420          88 :       Value |= op & UINT64_C(255);
    8421             :       // op: addr
    8422          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8423          88 :       Value |= (op & UINT64_C(15)) << 16;
    8424             :       // op: cop
    8425          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8426          88 :       Value |= (op & UINT64_C(15)) << 8;
    8427             :       // op: CRd
    8428          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8429          88 :       Value |= (op & UINT64_C(15)) << 12;
    8430          88 :       break;
    8431             :     }
    8432             :     case ARM::BX_RET:
    8433             :     case ARM::ERET:
    8434             :     case ARM::MOVPCLR: {
    8435             :       // op: p
    8436         341 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8437         341 :       Value |= (op & UINT64_C(15)) << 28;
    8438         341 :       break;
    8439             :     }
    8440             :     case ARM::FMSTAT: {
    8441             :       // op: p
    8442          49 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8443          49 :       Value |= (op & UINT64_C(15)) << 28;
    8444          98 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8445          49 :       break;
    8446             :     }
    8447             :     case ARM::t2Bcc: {
    8448             :       // op: p
    8449          73 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8450          73 :       Value |= (op & UINT64_C(15)) << 22;
    8451             :       // op: target
    8452          73 :       op = getBranchTargetOpValue(MI, 0, Fixups, STI);
    8453          73 :       Value |= (op & UINT64_C(1048576)) << 6;
    8454          73 :       Value |= (op & UINT64_C(258048)) << 4;
    8455          73 :       Value |= (op & UINT64_C(262144)) >> 5;
    8456          73 :       Value |= (op & UINT64_C(524288)) >> 8;
    8457          73 :       Value |= (op & UINT64_C(4094)) >> 1;
    8458          73 :       break;
    8459             :     }
    8460             :     case ARM::VCMPEZD:
    8461             :     case ARM::VCMPZD: {
    8462             :       // op: p
    8463           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8464           2 :       Value |= (op & UINT64_C(15)) << 28;
    8465             :       // op: Dd
    8466           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8467           2 :       Value |= (op & UINT64_C(16)) << 18;
    8468           2 :       Value |= (op & UINT64_C(15)) << 12;
    8469           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8470           2 :       break;
    8471             :     }
    8472             :     case ARM::MRS:
    8473             :     case ARM::MRSsys: {
    8474             :       // op: p
    8475           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8476           7 :       Value |= (op & UINT64_C(15)) << 28;
    8477             :       // op: Rd
    8478           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8479           7 :       Value |= (op & UINT64_C(15)) << 12;
    8480           7 :       break;
    8481             :     }
    8482             :     case ARM::VLDMSIA:
    8483             :     case ARM::VSTMSIA: {
    8484             :       // op: p
    8485           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8486           2 :       Value |= (op & UINT64_C(15)) << 28;
    8487             :       // op: Rn
    8488           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8489           2 :       Value |= (op & UINT64_C(15)) << 16;
    8490             :       // op: regs
    8491           2 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8492           2 :       Value |= (op & UINT64_C(256)) << 14;
    8493           2 :       Value |= (op & UINT64_C(7680)) << 3;
    8494           2 :       Value |= op & UINT64_C(255);
    8495           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8496           2 :       break;
    8497             :     }
    8498             :     case ARM::FLDMXIA:
    8499             :     case ARM::FSTMXIA: {
    8500             :       // op: p
    8501           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8502           2 :       Value |= (op & UINT64_C(15)) << 28;
    8503             :       // op: Rn
    8504           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8505           2 :       Value |= (op & UINT64_C(15)) << 16;
    8506             :       // op: regs
    8507           2 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8508           2 :       Value |= (op & UINT64_C(3840)) << 4;
    8509           2 :       Value |= op & UINT64_C(254);
    8510           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8511           2 :       break;
    8512             :     }
    8513             :     case ARM::VLDMDIA:
    8514             :     case ARM::VSTMDIA: {
    8515             :       // op: p
    8516           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8517           4 :       Value |= (op & UINT64_C(15)) << 28;
    8518             :       // op: Rn
    8519           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8520           4 :       Value |= (op & UINT64_C(15)) << 16;
    8521             :       // op: regs
    8522           4 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8523           4 :       Value |= (op & UINT64_C(4096)) << 10;
    8524           4 :       Value |= (op & UINT64_C(3840)) << 4;
    8525           4 :       Value |= op & UINT64_C(254);
    8526           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8527           4 :       break;
    8528             :     }
    8529             :     case ARM::VLLDM:
    8530             :     case ARM::VLSTM: {
    8531             :       // op: p
    8532           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8533           4 :       Value |= (op & UINT64_C(15)) << 28;
    8534             :       // op: Rn
    8535           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8536           4 :       Value |= (op & UINT64_C(15)) << 16;
    8537           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8538           4 :       break;
    8539             :     }
    8540             :     case ARM::VMRS:
    8541             :     case ARM::VMRS_FPEXC:
    8542             :     case ARM::VMRS_FPINST:
    8543             :     case ARM::VMRS_FPINST2:
    8544             :     case ARM::VMRS_FPSID:
    8545             :     case ARM::VMRS_MVFR0:
    8546             :     case ARM::VMRS_MVFR1:
    8547             :     case ARM::VMRS_MVFR2: {
    8548             :       // op: p
    8549         107 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8550         107 :       Value |= (op & UINT64_C(15)) << 28;
    8551             :       // op: Rt
    8552         107 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8553         107 :       Value |= (op & UINT64_C(15)) << 12;
    8554         214 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8555         107 :       break;
    8556             :     }
    8557             :     case ARM::VCMPEZH:
    8558             :     case ARM::VCMPEZS:
    8559             :     case ARM::VCMPZH:
    8560             :     case ARM::VCMPZS: {
    8561             :       // op: p
    8562          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8563          10 :       Value |= (op & UINT64_C(15)) << 28;
    8564             :       // op: Sd
    8565          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8566          10 :       Value |= (op & UINT64_C(1)) << 22;
    8567          10 :       Value |= (op & UINT64_C(30)) << 11;
    8568          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8569          10 :       break;
    8570             :     }
    8571             :     case ARM::BX_pred: {
    8572             :       // op: p
    8573          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8574          17 :       Value |= (op & UINT64_C(15)) << 28;
    8575             :       // op: dst
    8576          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8577          17 :       Value |= op & UINT64_C(15);
    8578          17 :       break;
    8579             :     }
    8580             :     case ARM::BL_pred: {
    8581             :       // op: p
    8582          82 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8583          82 :       Value |= (op & UINT64_C(15)) << 28;
    8584             :       // op: func
    8585          82 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    8586          82 :       Value |= op & UINT64_C(16777215);
    8587          82 :       break;
    8588             :     }
    8589             :     case ARM::BLX_pred:
    8590             :     case ARM::BXJ: {
    8591             :       // op: p
    8592          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8593          10 :       Value |= (op & UINT64_C(15)) << 28;
    8594             :       // op: func
    8595          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8596          10 :       Value |= op & UINT64_C(15);
    8597          10 :       break;
    8598             :     }
    8599             :     case ARM::HINT: {
    8600             :       // op: p
    8601          81 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8602          81 :       Value |= (op & UINT64_C(15)) << 28;
    8603             :       // op: imm
    8604          81 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8605          81 :       Value |= op & UINT64_C(255);
    8606          81 :       break;
    8607             :     }
    8608             :     case ARM::DBG:
    8609             :     case ARM::SMC: {
    8610             :       // op: p
    8611          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8612          10 :       Value |= (op & UINT64_C(15)) << 28;
    8613             :       // op: opt
    8614          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8615          10 :       Value |= op & UINT64_C(15);
    8616          10 :       break;
    8617             :     }
    8618             :     case ARM::LDMDA:
    8619             :     case ARM::LDMDB:
    8620             :     case ARM::LDMIA:
    8621             :     case ARM::LDMIB:
    8622             :     case ARM::STMDA:
    8623             :     case ARM::STMDB:
    8624             :     case ARM::STMIA:
    8625             :     case ARM::STMIB:
    8626             :     case ARM::sysLDMDA:
    8627             :     case ARM::sysLDMDB:
    8628             :     case ARM::sysLDMIA:
    8629             :     case ARM::sysLDMIB:
    8630             :     case ARM::sysSTMDA:
    8631             :     case ARM::sysSTMDB:
    8632             :     case ARM::sysSTMIA:
    8633             :     case ARM::sysSTMIB: {
    8634             :       // op: p
    8635         164 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8636         164 :       Value |= (op & UINT64_C(15)) << 28;
    8637             :       // op: regs
    8638         164 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8639         164 :       Value |= op & UINT64_C(65535);
    8640             :       // op: Rn
    8641         164 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8642         164 :       Value |= (op & UINT64_C(15)) << 16;
    8643         164 :       break;
    8644             :     }
    8645             :     case ARM::VMSR:
    8646             :     case ARM::VMSR_FPEXC:
    8647             :     case ARM::VMSR_FPINST:
    8648             :     case ARM::VMSR_FPINST2:
    8649             :     case ARM::VMSR_FPSID: {
    8650             :       // op: p
    8651          86 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8652          86 :       Value |= (op & UINT64_C(15)) << 28;
    8653             :       // op: src
    8654          86 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8655          86 :       Value |= (op & UINT64_C(15)) << 12;
    8656         172 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8657          86 :       break;
    8658             :     }
    8659             :     case ARM::SVC: {
    8660             :       // op: p
    8661           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8662           8 :       Value |= (op & UINT64_C(15)) << 28;
    8663             :       // op: svc
    8664           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8665           8 :       Value |= op & UINT64_C(16777215);
    8666           8 :       break;
    8667             :     }
    8668             :     case ARM::Bcc: {
    8669             :       // op: p
    8670         221 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8671         221 :       Value |= (op & UINT64_C(15)) << 28;
    8672             :       // op: target
    8673         221 :       op = getARMBranchTargetOpValue(MI, 0, Fixups, STI);
    8674         221 :       Value |= op & UINT64_C(16777215);
    8675         221 :       break;
    8676             :     }
    8677             :     case ARM::tBcc: {
    8678             :       // op: p
    8679         180 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8680         180 :       Value |= (op & UINT64_C(15)) << 8;
    8681             :       // op: target
    8682         180 :       op = getThumbBCCTargetOpValue(MI, 0, Fixups, STI);
    8683         180 :       Value |= op & UINT64_C(255);
    8684         180 :       break;
    8685             :     }
    8686             :     case ARM::VABSD:
    8687             :     case ARM::VCMPD:
    8688             :     case ARM::VCMPED:
    8689             :     case ARM::VMOVD:
    8690             :     case ARM::VNEGD:
    8691             :     case ARM::VRINTRD:
    8692             :     case ARM::VRINTXD:
    8693             :     case ARM::VRINTZD:
    8694             :     case ARM::VSQRTD: {
    8695             :       // op: p
    8696         126 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8697         126 :       Value |= (op & UINT64_C(15)) << 28;
    8698             :       // op: Dd
    8699         126 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8700         126 :       Value |= (op & UINT64_C(16)) << 18;
    8701         126 :       Value |= (op & UINT64_C(15)) << 12;
    8702             :       // op: Dm
    8703         126 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8704         126 :       Value |= (op & UINT64_C(16)) << 1;
    8705         126 :       Value |= op & UINT64_C(15);
    8706         252 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8707         126 :       break;
    8708             :     }
    8709             :     case ARM::VCVTBHD:
    8710             :     case ARM::VCVTTHD:
    8711             :     case ARM::VSITOD:
    8712             :     case ARM::VUITOD: {
    8713             :       // op: p
    8714          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8715          20 :       Value |= (op & UINT64_C(15)) << 28;
    8716             :       // op: Dd
    8717          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8718          20 :       Value |= (op & UINT64_C(16)) << 18;
    8719          20 :       Value |= (op & UINT64_C(15)) << 12;
    8720             :       // op: Sm
    8721          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8722          20 :       Value |= (op & UINT64_C(1)) << 5;
    8723          20 :       Value |= (op & UINT64_C(30)) >> 1;
    8724          40 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8725          20 :       break;
    8726             :     }
    8727             :     case ARM::FCONSTD: {
    8728             :       // op: p
    8729          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8730          10 :       Value |= (op & UINT64_C(15)) << 28;
    8731             :       // op: Dd
    8732          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8733          10 :       Value |= (op & UINT64_C(16)) << 18;
    8734          10 :       Value |= (op & UINT64_C(15)) << 12;
    8735             :       // op: imm
    8736          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8737          10 :       Value |= (op & UINT64_C(240)) << 12;
    8738          10 :       Value |= op & UINT64_C(15);
    8739          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8740          10 :       break;
    8741             :     }
    8742             :     case ARM::VCVTBDH:
    8743             :     case ARM::VCVTTDH: {
    8744             :       // op: p
    8745          17 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8746          17 :       Value |= (op & UINT64_C(15)) << 28;
    8747             :       // op: Dm
    8748          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8749          17 :       Value |= (op & UINT64_C(16)) << 1;
    8750          17 :       Value |= op & UINT64_C(15);
    8751             :       // op: Sd
    8752          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8753          17 :       Value |= (op & UINT64_C(1)) << 22;
    8754          17 :       Value |= (op & UINT64_C(30)) << 11;
    8755          34 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8756          17 :       break;
    8757             :     }
    8758             :     case ARM::CLZ:
    8759             :     case ARM::RBIT:
    8760             :     case ARM::REV:
    8761             :     case ARM::REV16:
    8762             :     case ARM::REVSH: {
    8763             :       // op: p
    8764          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8765          27 :       Value |= (op & UINT64_C(15)) << 28;
    8766             :       // op: Rd
    8767          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8768          27 :       Value |= (op & UINT64_C(15)) << 12;
    8769             :       // op: Rm
    8770          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8771          27 :       Value |= op & UINT64_C(15);
    8772          27 :       break;
    8773             :     }
    8774             :     case ARM::MOVi16: {
    8775             :       // op: p
    8776         269 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8777         269 :       Value |= (op & UINT64_C(15)) << 28;
    8778             :       // op: Rd
    8779         269 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8780         269 :       Value |= (op & UINT64_C(15)) << 12;
    8781             :       // op: imm
    8782         269 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    8783         269 :       Value |= (op & UINT64_C(61440)) << 4;
    8784         269 :       Value |= op & UINT64_C(4095);
    8785         269 :       break;
    8786             :     }
    8787             :     case ARM::ADR: {
    8788             :       // op: p
    8789          30 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8790          30 :       Value |= (op & UINT64_C(15)) << 28;
    8791             :       // op: Rd
    8792          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8793          30 :       Value |= (op & UINT64_C(15)) << 12;
    8794             :       // op: label
    8795          30 :       op = getAdrLabelOpValue(MI, 1, Fixups, STI);
    8796          30 :       Value |= (op & UINT64_C(12288)) << 10;
    8797          30 :       Value |= op & UINT64_C(4095);
    8798          30 :       break;
    8799             :     }
    8800             :     case ARM::CMNzrr:
    8801             :     case ARM::CMPrr:
    8802             :     case ARM::TEQrr:
    8803             :     case ARM::TSTrr: {
    8804             :       // op: p
    8805          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8806          22 :       Value |= (op & UINT64_C(15)) << 28;
    8807             :       // op: Rn
    8808          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8809          22 :       Value |= (op & UINT64_C(15)) << 16;
    8810             :       // op: Rm
    8811          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8812          22 :       Value |= op & UINT64_C(15);
    8813          22 :       break;
    8814             :     }
    8815             :     case ARM::CMNri:
    8816             :     case ARM::CMPri:
    8817             :     case ARM::TEQri:
    8818             :     case ARM::TSTri: {
    8819             :       // op: p
    8820         104 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8821         104 :       Value |= (op & UINT64_C(15)) << 28;
    8822             :       // op: Rn
    8823         104 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8824         104 :       Value |= (op & UINT64_C(15)) << 16;
    8825             :       // op: imm
    8826         104 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    8827         104 :       Value |= op & UINT64_C(4095);
    8828         104 :       break;
    8829             :     }
    8830             :     case ARM::VLDMSDB_UPD:
    8831             :     case ARM::VLDMSIA_UPD:
    8832             :     case ARM::VSTMSDB_UPD:
    8833             :     case ARM::VSTMSIA_UPD: {
    8834             :       // op: p
    8835           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8836           8 :       Value |= (op & UINT64_C(15)) << 28;
    8837             :       // op: Rn
    8838           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8839           8 :       Value |= (op & UINT64_C(15)) << 16;
    8840             :       // op: regs
    8841           8 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8842           8 :       Value |= (op & UINT64_C(256)) << 14;
    8843           8 :       Value |= (op & UINT64_C(7680)) << 3;
    8844           8 :       Value |= op & UINT64_C(255);
    8845          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8846           8 :       break;
    8847             :     }
    8848             :     case ARM::FLDMXDB_UPD:
    8849             :     case ARM::FLDMXIA_UPD:
    8850             :     case ARM::FSTMXDB_UPD:
    8851             :     case ARM::FSTMXIA_UPD: {
    8852             :       // op: p
    8853           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8854           4 :       Value |= (op & UINT64_C(15)) << 28;
    8855             :       // op: Rn
    8856           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8857           4 :       Value |= (op & UINT64_C(15)) << 16;
    8858             :       // op: regs
    8859           4 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8860           4 :       Value |= (op & UINT64_C(3840)) << 4;
    8861           4 :       Value |= op & UINT64_C(254);
    8862           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8863           4 :       break;
    8864             :     }
    8865             :     case ARM::VLDMDDB_UPD:
    8866             :     case ARM::VLDMDIA_UPD:
    8867             :     case ARM::VSTMDDB_UPD:
    8868             :     case ARM::VSTMDIA_UPD: {
    8869             :       // op: p
    8870          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8871          42 :       Value |= (op & UINT64_C(15)) << 28;
    8872             :       // op: Rn
    8873          42 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8874          42 :       Value |= (op & UINT64_C(15)) << 16;
    8875             :       // op: regs
    8876          42 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8877          42 :       Value |= (op & UINT64_C(4096)) << 10;
    8878          42 :       Value |= (op & UINT64_C(3840)) << 4;
    8879          42 :       Value |= op & UINT64_C(254);
    8880          84 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8881          42 :       break;
    8882             :     }
    8883             :     case ARM::VMOVRH:
    8884             :     case ARM::VMOVRS: {
    8885             :       // op: p
    8886         172 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8887         172 :       Value |= (op & UINT64_C(15)) << 28;
    8888             :       // op: Rt
    8889         172 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8890         172 :       Value |= (op & UINT64_C(15)) << 12;
    8891             :       // op: Sn
    8892         172 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8893         172 :       Value |= (op & UINT64_C(30)) << 15;
    8894         172 :       Value |= (op & UINT64_C(1)) << 7;
    8895         344 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8896         172 :       break;
    8897             :     }
    8898             :     case ARM::LDA:
    8899             :     case ARM::LDAB:
    8900             :     case ARM::LDAEX:
    8901             :     case ARM::LDAEXB:
    8902             :     case ARM::LDAEXD:
    8903             :     case ARM::LDAEXH:
    8904             :     case ARM::LDAH:
    8905             :     case ARM::LDREX:
    8906             :     case ARM::LDREXB:
    8907             :     case ARM::LDREXD:
    8908             :     case ARM::LDREXH: {
    8909             :       // op: p
    8910          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8911          27 :       Value |= (op & UINT64_C(15)) << 28;
    8912             :       // op: Rt
    8913          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8914          27 :       Value |= (op & UINT64_C(15)) << 12;
    8915             :       // op: addr
    8916          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8917          27 :       Value |= (op & UINT64_C(15)) << 16;
    8918          27 :       break;
    8919             :     }
    8920             :     case ARM::STL:
    8921             :     case ARM::STLB:
    8922             :     case ARM::STLH: {
    8923             :       // op: p
    8924           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8925           6 :       Value |= (op & UINT64_C(15)) << 28;
    8926             :       // op: Rt
    8927           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8928           6 :       Value |= op & UINT64_C(15);
    8929             :       // op: addr
    8930           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8931           6 :       Value |= (op & UINT64_C(15)) << 16;
    8932           6 :       break;
    8933             :     }
    8934             :     case ARM::VCVTSD:
    8935             :     case ARM::VJCVT:
    8936             :     case ARM::VTOSIRD:
    8937             :     case ARM::VTOSIZD:
    8938             :     case ARM::VTOUIRD:
    8939             :     case ARM::VTOUIZD: {
    8940             :       // op: p
    8941          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8942          10 :       Value |= (op & UINT64_C(15)) << 28;
    8943             :       // op: Sd
    8944          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8945          10 :       Value |= (op & UINT64_C(1)) << 22;
    8946          10 :       Value |= (op & UINT64_C(30)) << 11;
    8947             :       // op: Dm
    8948          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8949          10 :       Value |= (op & UINT64_C(16)) << 1;
    8950          10 :       Value |= op & UINT64_C(15);
    8951          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8952          10 :       break;
    8953             :     }
    8954             :     case ARM::VABSH:
    8955             :     case ARM::VABSS:
    8956             :     case ARM::VCMPEH:
    8957             :     case ARM::VCMPES:
    8958             :     case ARM::VCMPH:
    8959             :     case ARM::VCMPS:
    8960             :     case ARM::VCVTBHS:
    8961             :     case ARM::VCVTBSH:
    8962             :     case ARM::VCVTTHS:
    8963             :     case ARM::VCVTTSH:
    8964             :     case ARM::VMOVS:
    8965             :     case ARM::VNEGH:
    8966             :     case ARM::VNEGS:
    8967             :     case ARM::VRINTRH:
    8968             :     case ARM::VRINTRS:
    8969             :     case ARM::VRINTXH:
    8970             :     case ARM::VRINTXS:
    8971             :     case ARM::VRINTZH:
    8972             :     case ARM::VRINTZS:
    8973             :     case ARM::VSITOH:
    8974             :     case ARM::VSITOS:
    8975             :     case ARM::VSQRTH:
    8976             :     case ARM::VSQRTS:
    8977             :     case ARM::VTOSIRH:
    8978             :     case ARM::VTOSIRS:
    8979             :     case ARM::VTOSIZH:
    8980             :     case ARM::VTOSIZS:
    8981             :     case ARM::VTOUIRH:
    8982             :     case ARM::VTOUIRS:
    8983             :     case ARM::VTOUIZH:
    8984             :     case ARM::VTOUIZS:
    8985             :     case ARM::VUITOH:
    8986             :     case ARM::VUITOS: {
    8987             :       // op: p
    8988         207 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8989         207 :       Value |= (op & UINT64_C(15)) << 28;
    8990             :       // op: Sd
    8991         207 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8992         207 :       Value |= (op & UINT64_C(1)) << 22;
    8993         207 :       Value |= (op & UINT64_C(30)) << 11;
    8994             :       // op: Sm
    8995         207 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8996         207 :       Value |= (op & UINT64_C(1)) << 5;
    8997         207 :       Value |= (op & UINT64_C(30)) >> 1;
    8998         414 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8999         207 :       break;
    9000             :     }
    9001             :     case ARM::FCONSTH:
    9002             :     case ARM::FCONSTS: {
    9003             :       // op: p
    9004          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9005          49 :       Value |= (op & UINT64_C(15)) << 28;
    9006             :       // op: Sd
    9007          49 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9008          49 :       Value |= (op & UINT64_C(1)) << 22;
    9009          49 :       Value |= (op & UINT64_C(30)) << 11;
    9010             :       // op: imm
    9011          49 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9012          49 :       Value |= (op & UINT64_C(240)) << 12;
    9013          49 :       Value |= op & UINT64_C(15);
    9014          98 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9015          49 :       break;
    9016             :     }
    9017             :     case ARM::VCVTDS: {
    9018             :       // op: p
    9019           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9020           2 :       Value |= (op & UINT64_C(15)) << 28;
    9021             :       // op: Sm
    9022           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9023           2 :       Value |= (op & UINT64_C(1)) << 5;
    9024           2 :       Value |= (op & UINT64_C(30)) >> 1;
    9025             :       // op: Dd
    9026           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9027           2 :       Value |= (op & UINT64_C(16)) << 18;
    9028           2 :       Value |= (op & UINT64_C(15)) << 12;
    9029           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9030           2 :       break;
    9031             :     }
    9032             :     case ARM::VMOVHR:
    9033             :     case ARM::VMOVSR: {
    9034             :       // op: p
    9035          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9036          24 :       Value |= (op & UINT64_C(15)) << 28;
    9037             :       // op: Sn
    9038          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9039          24 :       Value |= (op & UINT64_C(30)) << 15;
    9040          24 :       Value |= (op & UINT64_C(1)) << 7;
    9041             :       // op: Rt
    9042          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9043          24 :       Value |= (op & UINT64_C(15)) << 12;
    9044          48 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9045          24 :       break;
    9046             :     }
    9047             :     case ARM::MSRbanked: {
    9048             :       // op: p
    9049          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9050          33 :       Value |= (op & UINT64_C(15)) << 28;
    9051             :       // op: banked
    9052          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9053          33 :       Value |= (op & UINT64_C(32)) << 17;
    9054          33 :       Value |= (op & UINT64_C(15)) << 16;
    9055          33 :       Value |= (op & UINT64_C(16)) << 4;
    9056             :       // op: Rn
    9057          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9058          33 :       Value |= op & UINT64_C(15);
    9059          33 :       break;
    9060             :     }
    9061             :     case ARM::MRSbanked: {
    9062             :       // op: p
    9063          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9064          33 :       Value |= (op & UINT64_C(15)) << 28;
    9065             :       // op: banked
    9066          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9067          33 :       Value |= (op & UINT64_C(32)) << 17;
    9068          33 :       Value |= (op & UINT64_C(15)) << 16;
    9069          33 :       Value |= (op & UINT64_C(16)) << 4;
    9070             :       // op: Rd
    9071          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9072          33 :       Value |= (op & UINT64_C(15)) << 12;
    9073          33 :       break;
    9074             :     }
    9075             :     case ARM::MSR: {
    9076             :       // op: p
    9077          29 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9078          29 :       Value |= (op & UINT64_C(15)) << 28;
    9079             :       // op: mask
    9080          29 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9081          29 :       Value |= (op & UINT64_C(16)) << 18;
    9082          29 :       Value |= (op & UINT64_C(15)) << 16;
    9083             :       // op: Rn
    9084          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9085          29 :       Value |= op & UINT64_C(15);
    9086          29 :       break;
    9087             :     }
    9088             :     case ARM::MSRi: {
    9089             :       // op: p
    9090          46 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9091          46 :       Value |= (op & UINT64_C(15)) << 28;
    9092             :       // op: mask
    9093          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9094          46 :       Value |= (op & UINT64_C(16)) << 18;
    9095          46 :       Value |= (op & UINT64_C(15)) << 16;
    9096             :       // op: imm
    9097          46 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    9098          46 :       Value |= op & UINT64_C(4095);
    9099          46 :       break;
    9100             :     }
    9101             :     case ARM::LDMDA_UPD:
    9102             :     case ARM::LDMDB_UPD:
    9103             :     case ARM::LDMIA_UPD:
    9104             :     case ARM::LDMIB_UPD:
    9105             :     case ARM::STMDA_UPD:
    9106             :     case ARM::STMDB_UPD:
    9107             :     case ARM::STMIA_UPD:
    9108             :     case ARM::STMIB_UPD:
    9109             :     case ARM::sysLDMDA_UPD:
    9110             :     case ARM::sysLDMDB_UPD:
    9111             :     case ARM::sysLDMIA_UPD:
    9112             :     case ARM::sysLDMIB_UPD:
    9113             :     case ARM::sysSTMDA_UPD:
    9114             :     case ARM::sysSTMDB_UPD:
    9115             :     case ARM::sysSTMIA_UPD:
    9116             :     case ARM::sysSTMIB_UPD: {
    9117             :       // op: p
    9118         445 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9119         445 :       Value |= (op & UINT64_C(15)) << 28;
    9120             :       // op: regs
    9121         445 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    9122         445 :       Value |= op & UINT64_C(65535);
    9123             :       // op: Rn
    9124         445 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9125         445 :       Value |= (op & UINT64_C(15)) << 16;
    9126         445 :       break;
    9127             :     }
    9128             :     case ARM::MOVr:
    9129             :     case ARM::MOVr_TC:
    9130             :     case ARM::MVNr: {
    9131             :       // op: p
    9132         803 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9133         803 :       Value |= (op & UINT64_C(15)) << 28;
    9134             :       // op: s
    9135         803 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    9136         803 :       Value |= (op & UINT64_C(1)) << 20;
    9137             :       // op: Rd
    9138         803 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9139         803 :       Value |= (op & UINT64_C(15)) << 12;
    9140             :       // op: Rm
    9141         803 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9142         803 :       Value |= op & UINT64_C(15);
    9143         803 :       break;
    9144             :     }
    9145             :     case ARM::MOVi:
    9146             :     case ARM::MVNi: {
    9147             :       // op: p
    9148         514 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9149         514 :       Value |= (op & UINT64_C(15)) << 28;
    9150             :       // op: s
    9151         514 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    9152         514 :       Value |= (op & UINT64_C(1)) << 20;
    9153             :       // op: Rd
    9154         514 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9155         514 :       Value |= (op & UINT64_C(15)) << 12;
    9156             :       // op: imm
    9157         514 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    9158         514 :       Value |= op & UINT64_C(4095);
    9159         514 :       break;
    9160             :     }
    9161             :     case ARM::VADDD:
    9162             :     case ARM::VDIVD:
    9163             :     case ARM::VMULD:
    9164             :     case ARM::VNMULD:
    9165             :     case ARM::VSUBD: {
    9166             :       // op: p
    9167          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9168          10 :       Value |= (op & UINT64_C(15)) << 28;
    9169             :       // op: Dd
    9170          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9171          10 :       Value |= (op & UINT64_C(16)) << 18;
    9172          10 :       Value |= (op & UINT64_C(15)) << 12;
    9173             :       // op: Dn
    9174          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9175          10 :       Value |= (op & UINT64_C(15)) << 16;
    9176          10 :       Value |= (op & UINT64_C(16)) << 3;
    9177             :       // op: Dm
    9178          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9179          10 :       Value |= (op & UINT64_C(16)) << 1;
    9180          10 :       Value |= op & UINT64_C(15);
    9181          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9182          10 :       break;
    9183             :     }
    9184             :     case ARM::VLDRD:
    9185             :     case ARM::VSTRD: {
    9186             :       // op: p
    9187          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9188          15 :       Value |= (op & UINT64_C(15)) << 28;
    9189             :       // op: Dd
    9190          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9191          15 :       Value |= (op & UINT64_C(16)) << 18;
    9192          15 :       Value |= (op & UINT64_C(15)) << 12;
    9193             :       // op: addr
    9194          15 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    9195          15 :       Value |= (op & UINT64_C(256)) << 15;
    9196          15 :       Value |= (op & UINT64_C(7680)) << 7;
    9197          15 :       Value |= op & UINT64_C(255);
    9198          30 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9199          15 :       break;
    9200             :     }
    9201             :     case ARM::VMOVDRR: {
    9202             :       // op: p
    9203          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9204          15 :       Value |= (op & UINT64_C(15)) << 28;
    9205             :       // op: Dm
    9206          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9207          15 :       Value |= (op & UINT64_C(16)) << 1;
    9208          15 :       Value |= op & UINT64_C(15);
    9209             :       // op: Rt
    9210          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9211          15 :       Value |= (op & UINT64_C(15)) << 12;
    9212             :       // op: Rt2
    9213          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9214          15 :       Value |= (op & UINT64_C(15)) << 16;
    9215          30 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9216          15 :       break;
    9217             :     }
    9218             :     case ARM::VMOVRRD: {
    9219             :       // op: p
    9220           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9221           8 :       Value |= (op & UINT64_C(15)) << 28;
    9222             :       // op: Dm
    9223           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9224           8 :       Value |= (op & UINT64_C(16)) << 1;
    9225           8 :       Value |= op & UINT64_C(15);
    9226             :       // op: Rt
    9227           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9228           8 :       Value |= (op & UINT64_C(15)) << 12;
    9229             :       // op: Rt2
    9230           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9231           8 :       Value |= (op & UINT64_C(15)) << 16;
    9232          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9233           8 :       break;
    9234             :     }
    9235             :     case ARM::SXTB:
    9236             :     case ARM::SXTB16:
    9237             :     case ARM::SXTH:
    9238             :     case ARM::UXTB:
    9239             :     case ARM::UXTB16:
    9240             :     case ARM::UXTH: {
    9241             :       // op: p
    9242          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9243          60 :       Value |= (op & UINT64_C(15)) << 28;
    9244             :       // op: Rd
    9245          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9246          60 :       Value |= (op & UINT64_C(15)) << 12;
    9247             :       // op: Rm
    9248          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9249          60 :       Value |= op & UINT64_C(15);
    9250             :       // op: rot
    9251          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9252          60 :       Value |= (op & UINT64_C(3)) << 10;
    9253          60 :       break;
    9254             :     }
    9255             :     case ARM::SEL: {
    9256             :       // op: p
    9257           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9258           4 :       Value |= (op & UINT64_C(15)) << 28;
    9259             :       // op: Rd
    9260           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9261           4 :       Value |= (op & UINT64_C(15)) << 12;
    9262             :       // op: Rn
    9263           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9264           4 :       Value |= (op & UINT64_C(15)) << 16;
    9265             :       // op: Rm
    9266           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9267           4 :       Value |= op & UINT64_C(15);
    9268           4 :       break;
    9269             :     }
    9270             :     case ARM::BFC: {
    9271             :       // op: p
    9272          30 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9273          30 :       Value |= (op & UINT64_C(15)) << 28;
    9274             :       // op: Rd
    9275          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9276          30 :       Value |= (op & UINT64_C(15)) << 12;
    9277             :       // op: imm
    9278          30 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    9279          30 :       Value |= (op & UINT64_C(992)) << 11;
    9280          30 :       Value |= (op & UINT64_C(31)) << 7;
    9281          30 :       break;
    9282             :     }
    9283             :     case ARM::MOVTi16: {
    9284             :       // op: p
    9285         201 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9286         201 :       Value |= (op & UINT64_C(15)) << 28;
    9287             :       // op: Rd
    9288         201 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9289         201 :       Value |= (op & UINT64_C(15)) << 12;
    9290             :       // op: imm
    9291         201 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    9292         201 :       Value |= (op & UINT64_C(61440)) << 4;
    9293         201 :       Value |= op & UINT64_C(4095);
    9294         201 :       break;
    9295             :     }
    9296             :     case ARM::SSAT16:
    9297             :     case ARM::USAT16: {
    9298             :       // op: p
    9299          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9300          11 :       Value |= (op & UINT64_C(15)) << 28;
    9301             :       // op: Rd
    9302          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9303          11 :       Value |= (op & UINT64_C(15)) << 12;
    9304             :       // op: sat_imm
    9305          11 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9306          11 :       Value |= (op & UINT64_C(15)) << 16;
    9307             :       // op: Rn
    9308          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9309          11 :       Value |= op & UINT64_C(15);
    9310          11 :       break;
    9311             :     }
    9312             :     case ARM::SDIV:
    9313             :     case ARM::SMMUL:
    9314             :     case ARM::SMMULR:
    9315             :     case ARM::UDIV:
    9316             :     case ARM::USAD8: {
    9317             :       // op: p
    9318          26 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9319          26 :       Value |= (op & UINT64_C(15)) << 28;
    9320             :       // op: Rd
    9321          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9322          26 :       Value |= (op & UINT64_C(15)) << 16;
    9323             :       // op: Rn
    9324          26 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9325          26 :       Value |= op & UINT64_C(15);
    9326             :       // op: Rm
    9327          26 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9328          26 :       Value |= (op & UINT64_C(15)) << 8;
    9329          26 :       break;
    9330             :     }
    9331             :     case ARM::CMNzrsi:
    9332             :     case ARM::CMPrsi:
    9333             :     case ARM::TEQrsi:
    9334             :     case ARM::TSTrsi: {
    9335             :       // op: p
    9336          52 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9337          52 :       Value |= (op & UINT64_C(15)) << 28;
    9338             :       // op: Rn
    9339          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9340          52 :       Value |= (op & UINT64_C(15)) << 16;
    9341             :       // op: shift
    9342          52 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9343          52 :       Value |= op & UINT64_C(4064);
    9344          52 :       Value |= op & UINT64_C(15);
    9345          52 :       break;
    9346             :     }
    9347             :     case ARM::QADD16:
    9348             :     case ARM::QADD8:
    9349             :     case ARM::QASX:
    9350             :     case ARM::QSAX:
    9351             :     case ARM::QSUB16:
    9352             :     case ARM::QSUB8:
    9353             :     case ARM::SADD16:
    9354             :     case ARM::SADD8:
    9355             :     case ARM::SASX:
    9356             :     case ARM::SHADD16:
    9357             :     case ARM::SHADD8:
    9358             :     case ARM::SHASX:
    9359             :     case ARM::SHSAX:
    9360             :     case ARM::SHSUB16:
    9361             :     case ARM::SHSUB8:
    9362             :     case ARM::SSAX:
    9363             :     case ARM::SSUB16:
    9364             :     case ARM::SSUB8:
    9365             :     case ARM::UADD16:
    9366             :     case ARM::UADD8:
    9367             :     case ARM::UASX:
    9368             :     case ARM::UHADD16:
    9369             :     case ARM::UHADD8:
    9370             :     case ARM::UHASX:
    9371             :     case ARM::UHSAX:
    9372             :     case ARM::UHSUB16:
    9373             :     case ARM::UHSUB8:
    9374             :     case ARM::UQADD16:
    9375             :     case ARM::UQADD8:
    9376             :     case ARM::UQASX:
    9377             :     case ARM::UQSAX:
    9378             :     case ARM::UQSUB16:
    9379             :     case ARM::UQSUB8:
    9380             :     case ARM::USAX:
    9381             :     case ARM::USUB16:
    9382             :     case ARM::USUB8: {
    9383             :       // op: p
    9384         132 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9385         132 :       Value |= (op & UINT64_C(15)) << 28;
    9386             :       // op: Rn
    9387         132 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9388         132 :       Value |= (op & UINT64_C(15)) << 16;
    9389             :       // op: Rd
    9390         132 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9391         132 :       Value |= (op & UINT64_C(15)) << 12;
    9392             :       // op: Rm
    9393         132 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9394         132 :       Value |= op & UINT64_C(15);
    9395         132 :       break;
    9396             :     }
    9397             :     case ARM::SMUAD:
    9398             :     case ARM::SMUADX:
    9399             :     case ARM::SMULBB:
    9400             :     case ARM::SMULBT:
    9401             :     case ARM::SMULTB:
    9402             :     case ARM::SMULTT:
    9403             :     case ARM::SMULWB:
    9404             :     case ARM::SMULWT:
    9405             :     case ARM::SMUSD:
    9406             :     case ARM::SMUSDX: {
    9407             :       // op: p
    9408          36 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9409          36 :       Value |= (op & UINT64_C(15)) << 28;
    9410             :       // op: Rn
    9411          36 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9412          36 :       Value |= op & UINT64_C(15);
    9413             :       // op: Rm
    9414          36 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9415          36 :       Value |= (op & UINT64_C(15)) << 8;
    9416             :       // op: Rd
    9417          36 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9418          36 :       Value |= (op & UINT64_C(15)) << 16;
    9419          36 :       break;
    9420             :     }
    9421             :     case ARM::QADD:
    9422             :     case ARM::QDADD:
    9423             :     case ARM::QDSUB:
    9424             :     case ARM::QSUB: {
    9425             :       // op: p
    9426          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9427          16 :       Value |= (op & UINT64_C(15)) << 28;
    9428             :       // op: Rn
    9429          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9430          16 :       Value |= (op & UINT64_C(15)) << 16;
    9431             :       // op: Rd
    9432          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9433          16 :       Value |= (op & UINT64_C(15)) << 12;
    9434             :       // op: Rm
    9435          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9436          16 :       Value |= op & UINT64_C(15);
    9437          16 :       break;
    9438             :     }
    9439             :     case ARM::SWP:
    9440             :     case ARM::SWPB: {
    9441             :       // op: p
    9442           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9443           6 :       Value |= (op & UINT64_C(15)) << 28;
    9444             :       // op: Rt
    9445           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9446           6 :       Value |= (op & UINT64_C(15)) << 12;
    9447             :       // op: Rt2
    9448           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9449           6 :       Value |= op & UINT64_C(15);
    9450             :       // op: addr
    9451           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9452           6 :       Value |= (op & UINT64_C(15)) << 16;
    9453           6 :       break;
    9454             :     }
    9455             :     case ARM::LDRBi12:
    9456             :     case ARM::LDRi12:
    9457             :     case ARM::STRBi12:
    9458             :     case ARM::STRi12: {
    9459             :       // op: p
    9460        1913 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9461        1913 :       Value |= (op & UINT64_C(15)) << 28;
    9462             :       // op: Rt
    9463        1913 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9464        1913 :       Value |= (op & UINT64_C(15)) << 12;
    9465             :       // op: addr
    9466        1913 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9467        1913 :       Value |= (op & UINT64_C(4096)) << 11;
    9468        1913 :       Value |= (op & UINT64_C(122880)) << 3;
    9469        1913 :       Value |= op & UINT64_C(4095);
    9470        1913 :       break;
    9471             :     }
    9472             :     case ARM::LDRcp: {
    9473             :       // op: p
    9474           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9475           0 :       Value |= (op & UINT64_C(15)) << 28;
    9476             :       // op: Rt
    9477           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9478           0 :       Value |= (op & UINT64_C(15)) << 12;
    9479             :       // op: addr
    9480           0 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9481           0 :       Value |= (op & UINT64_C(4096)) << 11;
    9482           0 :       Value |= op & UINT64_C(4095);
    9483           0 :       break;
    9484             :     }
    9485             :     case ARM::STLEX:
    9486             :     case ARM::STLEXB:
    9487             :     case ARM::STLEXD:
    9488             :     case ARM::STLEXH:
    9489             :     case ARM::STREX:
    9490             :     case ARM::STREXB:
    9491             :     case ARM::STREXD:
    9492             :     case ARM::STREXH: {
    9493             :       // op: p
    9494          21 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9495          21 :       Value |= (op & UINT64_C(15)) << 28;
    9496             :       // op: Rt
    9497          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9498          21 :       Value |= op & UINT64_C(15);
    9499             :       // op: addr
    9500          21 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9501          21 :       Value |= (op & UINT64_C(15)) << 16;
    9502             :       // op: Rd
    9503          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9504          21 :       Value |= (op & UINT64_C(15)) << 12;
    9505          21 :       break;
    9506             :     }
    9507             :     case ARM::VADDH:
    9508             :     case ARM::VADDS:
    9509             :     case ARM::VDIVH:
    9510             :     case ARM::VDIVS:
    9511             :     case ARM::VMULH:
    9512             :     case ARM::VMULS:
    9513             :     case ARM::VNMULH:
    9514             :     case ARM::VNMULS:
    9515             :     case ARM::VSUBH:
    9516             :     case ARM::VSUBS: {
    9517             :       // op: p
    9518          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9519          31 :       Value |= (op & UINT64_C(15)) << 28;
    9520             :       // op: Sd
    9521          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9522          31 :       Value |= (op & UINT64_C(1)) << 22;
    9523          31 :       Value |= (op & UINT64_C(30)) << 11;
    9524             :       // op: Sn
    9525          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9526          31 :       Value |= (op & UINT64_C(30)) << 15;
    9527          31 :       Value |= (op & UINT64_C(1)) << 7;
    9528             :       // op: Sm
    9529          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9530          31 :       Value |= (op & UINT64_C(1)) << 5;
    9531          31 :       Value |= (op & UINT64_C(30)) >> 1;
    9532          62 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9533          31 :       break;
    9534             :     }
    9535             :     case ARM::VLDRH:
    9536             :     case ARM::VSTRH: {
    9537             :       // op: p
    9538          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9539          32 :       Value |= (op & UINT64_C(15)) << 28;
    9540             :       // op: Sd
    9541          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9542          32 :       Value |= (op & UINT64_C(1)) << 22;
    9543          32 :       Value |= (op & UINT64_C(30)) << 11;
    9544             :       // op: addr
    9545          32 :       op = getAddrMode5FP16OpValue(MI, 1, Fixups, STI);
    9546          32 :       Value |= (op & UINT64_C(256)) << 15;
    9547          32 :       Value |= (op & UINT64_C(7680)) << 7;
    9548          32 :       Value |= op & UINT64_C(255);
    9549          64 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9550          32 :       break;
    9551             :     }
    9552             :     case ARM::VLDRS:
    9553             :     case ARM::VSTRS: {
    9554             :       // op: p
    9555         281 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9556         281 :       Value |= (op & UINT64_C(15)) << 28;
    9557             :       // op: Sd
    9558         281 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9559         281 :       Value |= (op & UINT64_C(1)) << 22;
    9560         281 :       Value |= (op & UINT64_C(30)) << 11;
    9561             :       // op: addr
    9562         281 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    9563         281 :       Value |= (op & UINT64_C(256)) << 15;
    9564         281 :       Value |= (op & UINT64_C(7680)) << 7;
    9565         281 :       Value |= op & UINT64_C(255);
    9566         562 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9567         281 :       break;
    9568             :     }
    9569             :     case ARM::VSHTOH:
    9570             :     case ARM::VSHTOS:
    9571             :     case ARM::VSLTOH:
    9572             :     case ARM::VSLTOS:
    9573             :     case ARM::VTOSHH:
    9574             :     case ARM::VTOSHS:
    9575             :     case ARM::VTOSLH:
    9576             :     case ARM::VTOSLS:
    9577             :     case ARM::VTOUHH:
    9578             :     case ARM::VTOUHS:
    9579             :     case ARM::VTOULH:
    9580             :     case ARM::VTOULS:
    9581             :     case ARM::VUHTOH:
    9582             :     case ARM::VUHTOS:
    9583             :     case ARM::VULTOH:
    9584             :     case ARM::VULTOS: {
    9585             :       // op: p
    9586          40 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9587          40 :       Value |= (op & UINT64_C(15)) << 28;
    9588             :       // op: fbits
    9589          40 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9590          40 :       Value |= (op & UINT64_C(1)) << 5;
    9591          40 :       Value |= (op & UINT64_C(30)) >> 1;
    9592             :       // op: dst
    9593          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9594          40 :       Value |= (op & UINT64_C(1)) << 22;
    9595          40 :       Value |= (op & UINT64_C(30)) << 11;
    9596          80 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9597          40 :       break;
    9598             :     }
    9599             :     case ARM::VSHTOD:
    9600             :     case ARM::VSLTOD:
    9601             :     case ARM::VTOSHD:
    9602             :     case ARM::VTOSLD:
    9603             :     case ARM::VTOUHD:
    9604             :     case ARM::VTOULD:
    9605             :     case ARM::VUHTOD:
    9606             :     case ARM::VULTOD: {
    9607             :       // op: p
    9608           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9609           8 :       Value |= (op & UINT64_C(15)) << 28;
    9610             :       // op: fbits
    9611           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9612           8 :       Value |= (op & UINT64_C(1)) << 5;
    9613           8 :       Value |= (op & UINT64_C(30)) >> 1;
    9614             :       // op: dst
    9615           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9616           8 :       Value |= (op & UINT64_C(16)) << 18;
    9617           8 :       Value |= (op & UINT64_C(15)) << 12;
    9618          16 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9619           8 :       break;
    9620             :     }
    9621             :     case ARM::ADCrr:
    9622             :     case ARM::ADDrr:
    9623             :     case ARM::ANDrr:
    9624             :     case ARM::BICrr:
    9625             :     case ARM::EORrr:
    9626             :     case ARM::ORRrr:
    9627             :     case ARM::RSBrr:
    9628             :     case ARM::RSCrr:
    9629             :     case ARM::SBCrr:
    9630             :     case ARM::SUBrr: {
    9631             :       // op: p
    9632         164 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9633         164 :       Value |= (op & UINT64_C(15)) << 28;
    9634             :       // op: s
    9635         164 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9636         164 :       Value |= (op & UINT64_C(1)) << 20;
    9637             :       // op: Rd
    9638         164 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9639         164 :       Value |= (op & UINT64_C(15)) << 12;
    9640             :       // op: Rn
    9641         164 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9642         164 :       Value |= (op & UINT64_C(15)) << 16;
    9643             :       // op: Rm
    9644         164 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9645         164 :       Value |= op & UINT64_C(15);
    9646         164 :       break;
    9647             :     }
    9648             :     case ARM::ADCri:
    9649             :     case ARM::ADDri:
    9650             :     case ARM::ANDri:
    9651             :     case ARM::BICri:
    9652             :     case ARM::EORri:
    9653             :     case ARM::ORRri:
    9654             :     case ARM::RSBri:
    9655             :     case ARM::RSCri:
    9656             :     case ARM::SBCri:
    9657             :     case ARM::SUBri: {
    9658             :       // op: p
    9659        2288 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9660        2288 :       Value |= (op & UINT64_C(15)) << 28;
    9661             :       // op: s
    9662        2288 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9663        2288 :       Value |= (op & UINT64_C(1)) << 20;
    9664             :       // op: Rd
    9665        2288 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9666        2288 :       Value |= (op & UINT64_C(15)) << 12;
    9667             :       // op: Rn
    9668        2288 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9669        2288 :       Value |= (op & UINT64_C(15)) << 16;
    9670             :       // op: imm
    9671        2288 :       op = getModImmOpValue(MI, 2, Fixups, STI);
    9672        2288 :       Value |= op & UINT64_C(4095);
    9673        2288 :       break;
    9674             :     }
    9675             :     case ARM::MVNsi: {
    9676             :       // op: p
    9677          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9678          12 :       Value |= (op & UINT64_C(15)) << 28;
    9679             :       // op: s
    9680          12 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9681          12 :       Value |= (op & UINT64_C(1)) << 20;
    9682             :       // op: Rd
    9683          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9684          12 :       Value |= (op & UINT64_C(15)) << 12;
    9685             :       // op: shift
    9686          12 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9687          12 :       Value |= op & UINT64_C(4064);
    9688          12 :       Value |= op & UINT64_C(15);
    9689          12 :       break;
    9690             :     }
    9691             :     case ARM::MOVsi: {
    9692             :       // op: p
    9693          42 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9694          42 :       Value |= (op & UINT64_C(15)) << 28;
    9695             :       // op: s
    9696          42 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9697          42 :       Value |= (op & UINT64_C(1)) << 20;
    9698             :       // op: Rd
    9699          42 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9700          42 :       Value |= (op & UINT64_C(15)) << 12;
    9701             :       // op: src
    9702          42 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9703          42 :       Value |= op & UINT64_C(4064);
    9704          42 :       Value |= op & UINT64_C(15);
    9705          42 :       break;
    9706             :     }
    9707             :     case ARM::MUL: {
    9708             :       // op: p
    9709          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9710          15 :       Value |= (op & UINT64_C(15)) << 28;
    9711             :       // op: s
    9712          15 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9713          15 :       Value |= (op & UINT64_C(1)) << 20;
    9714             :       // op: Rd
    9715          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9716          15 :       Value |= (op & UINT64_C(15)) << 16;
    9717             :       // op: Rm
    9718          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9719          15 :       Value |= (op & UINT64_C(15)) << 8;
    9720             :       // op: Rn
    9721          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9722          15 :       Value |= op & UINT64_C(15);
    9723          15 :       break;
    9724             :     }
    9725             :     case ARM::VFMAD:
    9726             :     case ARM::VFMSD:
    9727             :     case ARM::VFNMAD:
    9728             :     case ARM::VFNMSD:
    9729             :     case ARM::VMLAD:
    9730             :     case ARM::VMLSD:
    9731             :     case ARM::VNMLAD:
    9732             :     case ARM::VNMLSD: {
    9733             :       // op: p
    9734          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9735          12 :       Value |= (op & UINT64_C(15)) << 28;
    9736             :       // op: Dd
    9737          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9738          12 :       Value |= (op & UINT64_C(16)) << 18;
    9739          12 :       Value |= (op & UINT64_C(15)) << 12;
    9740             :       // op: Dn
    9741          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9742          12 :       Value |= (op & UINT64_C(15)) << 16;
    9743          12 :       Value |= (op & UINT64_C(16)) << 3;
    9744             :       // op: Dm
    9745          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9746          12 :       Value |= (op & UINT64_C(16)) << 1;
    9747          12 :       Value |= op & UINT64_C(15);
    9748          24 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9749          12 :       break;
    9750             :     }
    9751             :     case ARM::SXTAB:
    9752             :     case ARM::SXTAB16:
    9753             :     case ARM::SXTAH:
    9754             :     case ARM::UXTAB:
    9755             :     case ARM::UXTAB16:
    9756             :     case ARM::UXTAH: {
    9757             :       // op: p
    9758          60 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9759          60 :       Value |= (op & UINT64_C(15)) << 28;
    9760             :       // op: Rd
    9761          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9762          60 :       Value |= (op & UINT64_C(15)) << 12;
    9763             :       // op: Rm
    9764          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9765          60 :       Value |= op & UINT64_C(15);
    9766             :       // op: Rn
    9767          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9768          60 :       Value |= (op & UINT64_C(15)) << 16;
    9769             :       // op: rot
    9770          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9771          60 :       Value |= (op & UINT64_C(3)) << 10;
    9772          60 :       break;
    9773             :     }
    9774             :     case ARM::PKHBT:
    9775             :     case ARM::PKHTB: {
    9776             :       // op: p
    9777          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9778          14 :       Value |= (op & UINT64_C(15)) << 28;
    9779             :       // op: Rd
    9780          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9781          14 :       Value |= (op & UINT64_C(15)) << 12;
    9782             :       // op: Rn
    9783          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9784          14 :       Value |= (op & UINT64_C(15)) << 16;
    9785             :       // op: Rm
    9786          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9787          14 :       Value |= op & UINT64_C(15);
    9788             :       // op: sh
    9789          14 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9790          14 :       Value |= (op & UINT64_C(31)) << 7;
    9791          14 :       break;
    9792             :     }
    9793             :     case ARM::SBFX:
    9794             :     case ARM::UBFX: {
    9795             :       // op: p
    9796           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9797           8 :       Value |= (op & UINT64_C(15)) << 28;
    9798             :       // op: Rd
    9799           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9800           8 :       Value |= (op & UINT64_C(15)) << 12;
    9801             :       // op: Rn
    9802           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9803           8 :       Value |= op & UINT64_C(15);
    9804             :       // op: lsb
    9805           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9806           8 :       Value |= (op & UINT64_C(31)) << 7;
    9807             :       // op: width
    9808           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9809           8 :       Value |= (op & UINT64_C(31)) << 16;
    9810           8 :       break;
    9811             :     }
    9812             :     case ARM::BFI: {
    9813             :       // op: p
    9814           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9815           7 :       Value |= (op & UINT64_C(15)) << 28;
    9816             :       // op: Rd
    9817           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9818           7 :       Value |= (op & UINT64_C(15)) << 12;
    9819             :       // op: Rn
    9820           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9821           7 :       Value |= op & UINT64_C(15);
    9822             :       // op: imm
    9823           7 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    9824           7 :       Value |= (op & UINT64_C(992)) << 11;
    9825           7 :       Value |= (op & UINT64_C(31)) << 7;
    9826           7 :       break;
    9827             :     }
    9828             :     case ARM::SSAT:
    9829             :     case ARM::USAT: {
    9830             :       // op: p
    9831          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9832          20 :       Value |= (op & UINT64_C(15)) << 28;
    9833             :       // op: Rd
    9834          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9835          20 :       Value |= (op & UINT64_C(15)) << 12;
    9836             :       // op: sat_imm
    9837          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9838          20 :       Value |= (op & UINT64_C(31)) << 16;
    9839             :       // op: Rn
    9840          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9841          20 :       Value |= op & UINT64_C(15);
    9842             :       // op: sh
    9843          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9844          20 :       Value |= (op & UINT64_C(31)) << 7;
    9845          20 :       Value |= (op & UINT64_C(32)) << 1;
    9846          20 :       break;
    9847             :     }
    9848             :     case ARM::MLS: {
    9849             :       // op: p
    9850           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9851           4 :       Value |= (op & UINT64_C(15)) << 28;
    9852             :       // op: Rd
    9853           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9854           4 :       Value |= (op & UINT64_C(15)) << 16;
    9855             :       // op: Rm
    9856           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9857           4 :       Value |= (op & UINT64_C(15)) << 8;
    9858             :       // op: Rn
    9859           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9860           4 :       Value |= op & UINT64_C(15);
    9861             :       // op: Ra
    9862           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9863           4 :       Value |= (op & UINT64_C(15)) << 12;
    9864           4 :       break;
    9865             :     }
    9866             :     case ARM::SMMLA:
    9867             :     case ARM::SMMLAR:
    9868             :     case ARM::SMMLS:
    9869             :     case ARM::SMMLSR:
    9870             :     case ARM::USADA8: {
    9871             :       // op: p
    9872          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9873          20 :       Value |= (op & UINT64_C(15)) << 28;
    9874             :       // op: Rd
    9875          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9876          20 :       Value |= (op & UINT64_C(15)) << 16;
    9877             :       // op: Rn
    9878          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9879          20 :       Value |= op & UINT64_C(15);
    9880             :       // op: Rm
    9881          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9882          20 :       Value |= (op & UINT64_C(15)) << 8;
    9883             :       // op: Ra
    9884          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9885          20 :       Value |= (op & UINT64_C(15)) << 12;
    9886          20 :       break;
    9887             :     }
    9888             :     case ARM::CMNzrsr:
    9889             :     case ARM::CMPrsr:
    9890             :     case ARM::TEQrsr:
    9891             :     case ARM::TSTrsr: {
    9892             :       // op: p
    9893          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9894          32 :       Value |= (op & UINT64_C(15)) << 28;
    9895             :       // op: Rn
    9896          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9897          32 :       Value |= (op & UINT64_C(15)) << 16;
    9898             :       // op: shift
    9899          32 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
    9900          32 :       Value |= op & UINT64_C(3840);
    9901          32 :       Value |= op & UINT64_C(96);
    9902          32 :       Value |= op & UINT64_C(15);
    9903          32 :       break;
    9904             :     }
    9905             :     case ARM::SMLAD:
    9906             :     case ARM::SMLADX:
    9907             :     case ARM::SMLSD:
    9908             :     case ARM::SMLSDX: {
    9909             :       // op: p
    9910          16 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9911          16 :       Value |= (op & UINT64_C(15)) << 28;
    9912             :       // op: Rn
    9913          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9914          16 :       Value |= op & UINT64_C(15);
    9915             :       // op: Rm
    9916          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9917          16 :       Value |= (op & UINT64_C(15)) << 8;
    9918             :       // op: Ra
    9919          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9920          16 :       Value |= (op & UINT64_C(15)) << 12;
    9921             :       // op: Rd
    9922          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9923          16 :       Value |= (op & UINT64_C(15)) << 16;
    9924          16 :       break;
    9925             :     }
    9926             :     case ARM::SMLABB:
    9927             :     case ARM::SMLABT:
    9928             :     case ARM::SMLATB:
    9929             :     case ARM::SMLATT:
    9930             :     case ARM::SMLAWB:
    9931             :     case ARM::SMLAWT: {
    9932             :       // op: p
    9933          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9934          24 :       Value |= (op & UINT64_C(15)) << 28;
    9935             :       // op: Rn
    9936          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9937          24 :       Value |= op & UINT64_C(15);
    9938             :       // op: Rm
    9939          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9940          24 :       Value |= (op & UINT64_C(15)) << 8;
    9941             :       // op: Rd
    9942          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9943          24 :       Value |= (op & UINT64_C(15)) << 16;
    9944             :       // op: Ra
    9945          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9946          24 :       Value |= (op & UINT64_C(15)) << 12;
    9947          24 :       break;
    9948             :     }
    9949             :     case ARM::LDRB_PRE_IMM:
    9950             :     case ARM::LDR_PRE_IMM: {
    9951             :       // op: p
    9952           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9953           2 :       Value |= (op & UINT64_C(15)) << 28;
    9954             :       // op: Rt
    9955           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9956           2 :       Value |= (op & UINT64_C(15)) << 12;
    9957             :       // op: addr
    9958           2 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
    9959           2 :       Value |= (op & UINT64_C(4096)) << 11;
    9960           2 :       Value |= (op & UINT64_C(122880)) << 3;
    9961           2 :       Value |= op & UINT64_C(4095);
    9962           2 :       break;
    9963             :     }
    9964             :     case ARM::LDRBrs:
    9965             :     case ARM::LDRrs:
    9966             :     case ARM::STRBrs:
    9967             :     case ARM::STRrs: {
    9968             :       // op: p
    9969          46 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9970          46 :       Value |= (op & UINT64_C(15)) << 28;
    9971             :       // op: Rt
    9972          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9973          46 :       Value |= (op & UINT64_C(15)) << 12;
    9974             :       // op: shift
    9975          46 :       op = getLdStSORegOpValue(MI, 1, Fixups, STI);
    9976          46 :       Value |= (op & UINT64_C(4096)) << 11;
    9977          46 :       Value |= (op & UINT64_C(122880)) << 3;
    9978          46 :       Value |= op & UINT64_C(4064);
    9979          46 :       Value |= op & UINT64_C(15);
    9980          46 :       break;
    9981             :     }
    9982             :     case ARM::STRB_PRE_IMM:
    9983             :     case ARM::STR_PRE_IMM: {
    9984             :       // op: p
    9985          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9986          14 :       Value |= (op & UINT64_C(15)) << 28;
    9987             :       // op: Rt
    9988          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9989          14 :       Value |= (op & UINT64_C(15)) << 12;
    9990             :       // op: addr
    9991          14 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
    9992          14 :       Value |= (op & UINT64_C(4096)) << 11;
    9993          14 :       Value |= (op & UINT64_C(122880)) << 3;
    9994          14 :       Value |= op & UINT64_C(4095);
    9995          14 :       break;
    9996             :     }
    9997             :     case ARM::VFMAH:
    9998             :     case ARM::VFMAS:
    9999             :     case ARM::VFMSH:
   10000             :     case ARM::VFMSS:
   10001             :     case ARM::VFNMAH:
   10002             :     case ARM::VFNMAS:
   10003             :     case ARM::VFNMSH:
   10004             :     case ARM::VFNMSS:
   10005             :     case ARM::VMLAH:
   10006             :     case ARM::VMLAS:
   10007             :     case ARM::VMLSH:
   10008             :     case ARM::VMLSS:
   10009             :     case ARM::VNMLAH:
   10010             :     case ARM::VNMLAS:
   10011             :     case ARM::VNMLSH:
   10012             :     case ARM::VNMLSS: {
   10013             :       // op: p
   10014          53 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10015          53 :       Value |= (op & UINT64_C(15)) << 28;
   10016             :       // op: Sd
   10017          53 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10018          53 :       Value |= (op & UINT64_C(1)) << 22;
   10019          53 :       Value |= (op & UINT64_C(30)) << 11;
   10020             :       // op: Sn
   10021          53 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10022          53 :       Value |= (op & UINT64_C(30)) << 15;
   10023          53 :       Value |= (op & UINT64_C(1)) << 7;
   10024             :       // op: Sm
   10025          53 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10026          53 :       Value |= (op & UINT64_C(1)) << 5;
   10027          53 :       Value |= (op & UINT64_C(30)) >> 1;
   10028         106 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10029          53 :       break;
   10030             :     }
   10031             :     case ARM::LDRH:
   10032             :     case ARM::LDRSB:
   10033             :     case ARM::LDRSH:
   10034             :     case ARM::STRH: {
   10035             :       // op: p
   10036          15 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10037          15 :       Value |= (op & UINT64_C(15)) << 28;
   10038             :       // op: addr
   10039          15 :       op = getAddrMode3OpValue(MI, 1, Fixups, STI);
   10040          15 :       Value |= (op & UINT64_C(256)) << 15;
   10041          15 :       Value |= (op & UINT64_C(8192)) << 9;
   10042          15 :       Value |= (op & UINT64_C(7680)) << 7;
   10043          15 :       Value |= (op & UINT64_C(240)) << 4;
   10044          15 :       Value |= op & UINT64_C(15);
   10045             :       // op: Rt
   10046          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10047          15 :       Value |= (op & UINT64_C(15)) << 12;
   10048          15 :       break;
   10049             :     }
   10050             :     case ARM::LDCL_OFFSET:
   10051             :     case ARM::LDCL_PRE:
   10052             :     case ARM::LDC_OFFSET:
   10053             :     case ARM::LDC_PRE:
   10054             :     case ARM::STCL_OFFSET:
   10055             :     case ARM::STCL_PRE:
   10056             :     case ARM::STC_OFFSET:
   10057             :     case ARM::STC_PRE: {
   10058             :       // op: p
   10059          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10060          72 :       Value |= (op & UINT64_C(15)) << 28;
   10061             :       // op: addr
   10062          72 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
   10063          72 :       Value |= (op & UINT64_C(256)) << 15;
   10064          72 :       Value |= (op & UINT64_C(7680)) << 7;
   10065          72 :       Value |= op & UINT64_C(255);
   10066             :       // op: cop
   10067          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10068          72 :       Value |= (op & UINT64_C(15)) << 8;
   10069             :       // op: CRd
   10070          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10071          72 :       Value |= (op & UINT64_C(15)) << 12;
   10072          72 :       break;
   10073             :     }
   10074             :     case ARM::LDRHTi:
   10075             :     case ARM::LDRSBTi:
   10076             :     case ARM::LDRSHTi: {
   10077             :       // op: p
   10078          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10079          13 :       Value |= (op & UINT64_C(15)) << 28;
   10080             :       // op: addr
   10081          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10082          13 :       Value |= (op & UINT64_C(15)) << 16;
   10083             :       // op: Rt
   10084          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10085          13 :       Value |= (op & UINT64_C(15)) << 12;
   10086             :       // op: offset
   10087          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10088          13 :       Value |= (op & UINT64_C(256)) << 15;
   10089          13 :       Value |= (op & UINT64_C(240)) << 4;
   10090          13 :       Value |= op & UINT64_C(15);
   10091          13 :       break;
   10092             :     }
   10093             :     case ARM::STRHTi: {
   10094             :       // op: p
   10095           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10096           3 :       Value |= (op & UINT64_C(15)) << 28;
   10097             :       // op: addr
   10098           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10099           3 :       Value |= (op & UINT64_C(15)) << 16;
   10100             :       // op: Rt
   10101           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10102           3 :       Value |= (op & UINT64_C(15)) << 12;
   10103             :       // op: offset
   10104           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10105           3 :       Value |= (op & UINT64_C(256)) << 15;
   10106           3 :       Value |= (op & UINT64_C(240)) << 4;
   10107           3 :       Value |= op & UINT64_C(15);
   10108           3 :       break;
   10109             :     }
   10110             :     case ARM::VMOVSRR: {
   10111             :       // op: p
   10112           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10113           3 :       Value |= (op & UINT64_C(15)) << 28;
   10114             :       // op: dst1
   10115           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10116           3 :       Value |= (op & UINT64_C(1)) << 5;
   10117           3 :       Value |= (op & UINT64_C(30)) >> 1;
   10118             :       // op: src1
   10119           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10120           3 :       Value |= (op & UINT64_C(15)) << 12;
   10121             :       // op: src2
   10122           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10123           3 :       Value |= (op & UINT64_C(15)) << 16;
   10124           6 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10125           3 :       break;
   10126             :     }
   10127             :     case ARM::LDCL_POST:
   10128             :     case ARM::LDC_POST:
   10129             :     case ARM::STCL_POST:
   10130             :     case ARM::STC_POST: {
   10131             :       // op: p
   10132          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10133          32 :       Value |= (op & UINT64_C(15)) << 28;
   10134             :       // op: offset
   10135          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10136          32 :       Value |= (op & UINT64_C(256)) << 15;
   10137          32 :       Value |= op & UINT64_C(255);
   10138             :       // op: addr
   10139          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10140          32 :       Value |= (op & UINT64_C(15)) << 16;
   10141             :       // op: cop
   10142          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10143          32 :       Value |= (op & UINT64_C(15)) << 8;
   10144             :       // op: CRd
   10145          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10146          32 :       Value |= (op & UINT64_C(15)) << 12;
   10147          32 :       break;
   10148             :     }
   10149             :     case ARM::LDCL_OPTION:
   10150             :     case ARM::LDC_OPTION:
   10151             :     case ARM::STCL_OPTION:
   10152             :     case ARM::STC_OPTION: {
   10153             :       // op: p
   10154           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10155           6 :       Value |= (op & UINT64_C(15)) << 28;
   10156             :       // op: option
   10157           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10158           6 :       Value |= op & UINT64_C(255);
   10159             :       // op: addr
   10160           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10161           6 :       Value |= (op & UINT64_C(15)) << 16;
   10162             :       // op: cop
   10163           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10164           6 :       Value |= (op & UINT64_C(15)) << 8;
   10165             :       // op: CRd
   10166           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10167           6 :       Value |= (op & UINT64_C(15)) << 12;
   10168           6 :       break;
   10169             :     }
   10170             :     case ARM::ADCrsi:
   10171             :     case ARM::ADDrsi:
   10172             :     case ARM::ANDrsi:
   10173             :     case ARM::BICrsi:
   10174             :     case ARM::EORrsi:
   10175             :     case ARM::ORRrsi:
   10176             :     case ARM::RSBrsi:
   10177             :     case ARM::RSCrsi:
   10178             :     case ARM::SBCrsi:
   10179             :     case ARM::SUBrsi: {
   10180             :       // op: p
   10181         291 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10182         291 :       Value |= (op & UINT64_C(15)) << 28;
   10183             :       // op: s
   10184         291 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10185         291 :       Value |= (op & UINT64_C(1)) << 20;
   10186             :       // op: Rd
   10187         291 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10188         291 :       Value |= (op & UINT64_C(15)) << 12;
   10189             :       // op: Rn
   10190         291 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10191         291 :       Value |= (op & UINT64_C(15)) << 16;
   10192             :       // op: shift
   10193         291 :       op = getSORegImmOpValue(MI, 2, Fixups, STI);
   10194         291 :       Value |= op & UINT64_C(4064);
   10195         291 :       Value |= op & UINT64_C(15);
   10196         291 :       break;
   10197             :     }
   10198             :     case ARM::MVNsr: {
   10199             :       // op: p
   10200           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10201           8 :       Value |= (op & UINT64_C(15)) << 28;
   10202             :       // op: s
   10203           8 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10204           8 :       Value |= (op & UINT64_C(1)) << 20;
   10205             :       // op: Rd
   10206           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10207           8 :       Value |= (op & UINT64_C(15)) << 12;
   10208             :       // op: shift
   10209           8 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10210           8 :       Value |= op & UINT64_C(3840);
   10211           8 :       Value |= op & UINT64_C(96);
   10212           8 :       Value |= op & UINT64_C(15);
   10213           8 :       break;
   10214             :     }
   10215             :     case ARM::MOVsr: {
   10216             :       // op: p
   10217           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10218           0 :       Value |= (op & UINT64_C(15)) << 28;
   10219             :       // op: s
   10220           0 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10221           0 :       Value |= (op & UINT64_C(1)) << 20;
   10222             :       // op: Rd
   10223           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10224           0 :       Value |= (op & UINT64_C(15)) << 12;
   10225             :       // op: src
   10226           0 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10227           0 :       Value |= op & UINT64_C(3840);
   10228           0 :       Value |= op & UINT64_C(96);
   10229           0 :       Value |= op & UINT64_C(15);
   10230           0 :       break;
   10231             :     }
   10232             :     case ARM::MLA: {
   10233             :       // op: p
   10234          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10235          13 :       Value |= (op & UINT64_C(15)) << 28;
   10236             :       // op: s
   10237          13 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10238          13 :       Value |= (op & UINT64_C(1)) << 20;
   10239             :       // op: Rd
   10240          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10241          13 :       Value |= (op & UINT64_C(15)) << 16;
   10242             :       // op: Rm
   10243          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10244          13 :       Value |= (op & UINT64_C(15)) << 8;
   10245             :       // op: Rn
   10246          13 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10247          13 :       Value |= op & UINT64_C(15);
   10248             :       // op: Ra
   10249          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10250          13 :       Value |= (op & UINT64_C(15)) << 12;
   10251          13 :       break;
   10252             :     }
   10253             :     case ARM::SMULL:
   10254             :     case ARM::UMULL: {
   10255             :       // op: p
   10256          18 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10257          18 :       Value |= (op & UINT64_C(15)) << 28;
   10258             :       // op: s
   10259          18 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10260          18 :       Value |= (op & UINT64_C(1)) << 20;
   10261             :       // op: RdLo
   10262          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10263          18 :       Value |= (op & UINT64_C(15)) << 12;
   10264             :       // op: RdHi
   10265          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10266          18 :       Value |= (op & UINT64_C(15)) << 16;
   10267             :       // op: Rm
   10268          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10269          18 :       Value |= (op & UINT64_C(15)) << 8;
   10270             :       // op: Rn
   10271          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10272          18 :       Value |= op & UINT64_C(15);
   10273          18 :       break;
   10274             :     }
   10275             :     case ARM::VMOVRRS: {
   10276             :       // op: p
   10277           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10278           2 :       Value |= (op & UINT64_C(15)) << 28;
   10279             :       // op: src1
   10280           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10281           2 :       Value |= (op & UINT64_C(1)) << 5;
   10282           2 :       Value |= (op & UINT64_C(30)) >> 1;
   10283             :       // op: Rt
   10284           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10285           2 :       Value |= (op & UINT64_C(15)) << 12;
   10286             :       // op: Rt2
   10287           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10288           2 :       Value |= (op & UINT64_C(15)) << 16;
   10289           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10290           2 :       break;
   10291             :     }
   10292             :     case ARM::MRRC: {
   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(0), Fixups, STI);
   10298           7 :       Value |= (op & UINT64_C(15)) << 12;
   10299             :       // op: Rt2
   10300           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10301           7 :       Value |= (op & UINT64_C(15)) << 16;
   10302             :       // op: cop
   10303           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10304           7 :       Value |= (op & UINT64_C(15)) << 8;
   10305             :       // op: opc1
   10306           7 :       op = getMachineOpValue(MI, MI.getOperand(3), 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             :     case ARM::LDRH_PRE:
   10314             :     case ARM::LDRSB_PRE:
   10315             :     case ARM::LDRSH_PRE: {
   10316             :       // op: p
   10317           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10318           9 :       Value |= (op & UINT64_C(15)) << 28;
   10319             :       // op: Rt
   10320           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10321           9 :       Value |= (op & UINT64_C(15)) << 12;
   10322             :       // op: addr
   10323           9 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10324           9 :       Value |= (op & UINT64_C(256)) << 15;
   10325           9 :       Value |= (op & UINT64_C(8192)) << 9;
   10326           9 :       Value |= (op & UINT64_C(7680)) << 7;
   10327           9 :       Value |= (op & UINT64_C(240)) << 4;
   10328           9 :       Value |= op & UINT64_C(15);
   10329           9 :       break;
   10330             :     }
   10331             :     case ARM::LDRB_PRE_REG:
   10332             :     case ARM::LDR_PRE_REG: {
   10333             :       // op: p
   10334           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10335           7 :       Value |= (op & UINT64_C(15)) << 28;
   10336             :       // op: Rt
   10337           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10338           7 :       Value |= (op & UINT64_C(15)) << 12;
   10339             :       // op: addr
   10340           7 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10341           7 :       Value |= (op & UINT64_C(4096)) << 11;
   10342           7 :       Value |= (op & UINT64_C(122880)) << 3;
   10343           7 :       Value |= op & UINT64_C(4064);
   10344           7 :       Value |= op & UINT64_C(15);
   10345           7 :       break;
   10346             :     }
   10347             :     case ARM::LDRBT_POST_REG:
   10348             :     case ARM::LDRB_POST_REG:
   10349             :     case ARM::LDRT_POST_REG:
   10350             :     case ARM::LDR_POST_REG: {
   10351             :       // op: p
   10352          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10353          14 :       Value |= (op & UINT64_C(15)) << 28;
   10354             :       // op: Rt
   10355          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10356          14 :       Value |= (op & UINT64_C(15)) << 12;
   10357             :       // op: offset
   10358          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10359          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10360          14 :       Value |= op & UINT64_C(4064);
   10361          14 :       Value |= op & UINT64_C(15);
   10362             :       // op: addr
   10363          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10364          14 :       Value |= (op & UINT64_C(15)) << 16;
   10365          14 :       break;
   10366             :     }
   10367             :     case ARM::LDRBT_POST_IMM:
   10368             :     case ARM::LDRB_POST_IMM:
   10369             :     case ARM::LDRT_POST_IMM:
   10370             :     case ARM::LDR_POST_IMM: {
   10371             :       // op: p
   10372         755 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10373         755 :       Value |= (op & UINT64_C(15)) << 28;
   10374             :       // op: Rt
   10375         755 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10376         755 :       Value |= (op & UINT64_C(15)) << 12;
   10377             :       // op: offset
   10378         755 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10379         755 :       Value |= (op & UINT64_C(4096)) << 11;
   10380         755 :       Value |= op & UINT64_C(4095);
   10381             :       // op: addr
   10382         755 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10383         755 :       Value |= (op & UINT64_C(15)) << 16;
   10384         755 :       break;
   10385             :     }
   10386             :     case ARM::LDRH_POST:
   10387             :     case ARM::LDRSB_POST:
   10388             :     case ARM::LDRSH_POST: {
   10389             :       // op: p
   10390         175 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10391         175 :       Value |= (op & UINT64_C(15)) << 28;
   10392             :       // op: Rt
   10393         175 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10394         175 :       Value |= (op & UINT64_C(15)) << 12;
   10395             :       // op: offset
   10396         175 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10397         175 :       Value |= (op & UINT64_C(256)) << 15;
   10398         175 :       Value |= (op & UINT64_C(512)) << 13;
   10399         175 :       Value |= (op & UINT64_C(240)) << 4;
   10400         175 :       Value |= op & UINT64_C(15);
   10401             :       // op: addr
   10402         175 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10403         175 :       Value |= (op & UINT64_C(15)) << 16;
   10404         175 :       break;
   10405             :     }
   10406             :     case ARM::STRH_PRE: {
   10407             :       // op: p
   10408           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10409           3 :       Value |= (op & UINT64_C(15)) << 28;
   10410             :       // op: Rt
   10411           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10412           3 :       Value |= (op & UINT64_C(15)) << 12;
   10413             :       // op: addr
   10414           3 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10415           3 :       Value |= (op & UINT64_C(256)) << 15;
   10416           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10417           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10418           3 :       Value |= (op & UINT64_C(240)) << 4;
   10419           3 :       Value |= op & UINT64_C(15);
   10420           3 :       break;
   10421             :     }
   10422             :     case ARM::STRB_PRE_REG:
   10423             :     case ARM::STR_PRE_REG: {
   10424             :       // op: p
   10425           4 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10426           4 :       Value |= (op & UINT64_C(15)) << 28;
   10427             :       // op: Rt
   10428           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10429           4 :       Value |= (op & UINT64_C(15)) << 12;
   10430             :       // op: addr
   10431           4 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10432           4 :       Value |= (op & UINT64_C(4096)) << 11;
   10433           4 :       Value |= (op & UINT64_C(122880)) << 3;
   10434           4 :       Value |= op & UINT64_C(4064);
   10435           4 :       Value |= op & UINT64_C(15);
   10436           4 :       break;
   10437             :     }
   10438             :     case ARM::STRBT_POST_REG:
   10439             :     case ARM::STRB_POST_REG:
   10440             :     case ARM::STRT_POST_REG:
   10441             :     case ARM::STR_POST_REG: {
   10442             :       // op: p
   10443          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10444          14 :       Value |= (op & UINT64_C(15)) << 28;
   10445             :       // op: Rt
   10446          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10447          14 :       Value |= (op & UINT64_C(15)) << 12;
   10448             :       // op: offset
   10449          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10450          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10451          14 :       Value |= op & UINT64_C(4064);
   10452          14 :       Value |= op & UINT64_C(15);
   10453             :       // op: addr
   10454          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10455          14 :       Value |= (op & UINT64_C(15)) << 16;
   10456          14 :       break;
   10457             :     }
   10458             :     case ARM::STRBT_POST_IMM:
   10459             :     case ARM::STRB_POST_IMM:
   10460             :     case ARM::STRT_POST_IMM:
   10461             :     case ARM::STR_POST_IMM: {
   10462             :       // op: p
   10463         747 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10464         747 :       Value |= (op & UINT64_C(15)) << 28;
   10465             :       // op: Rt
   10466         747 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10467         747 :       Value |= (op & UINT64_C(15)) << 12;
   10468             :       // op: offset
   10469         747 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10470         747 :       Value |= (op & UINT64_C(4096)) << 11;
   10471         747 :       Value |= op & UINT64_C(4095);
   10472             :       // op: addr
   10473         747 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10474         747 :       Value |= (op & UINT64_C(15)) << 16;
   10475         747 :       break;
   10476             :     }
   10477             :     case ARM::STRH_POST: {
   10478             :       // op: p
   10479         169 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10480         169 :       Value |= (op & UINT64_C(15)) << 28;
   10481             :       // op: Rt
   10482         169 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10483         169 :       Value |= (op & UINT64_C(15)) << 12;
   10484             :       // op: offset
   10485         169 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10486         169 :       Value |= (op & UINT64_C(256)) << 15;
   10487         169 :       Value |= (op & UINT64_C(512)) << 13;
   10488         169 :       Value |= (op & UINT64_C(240)) << 4;
   10489         169 :       Value |= op & UINT64_C(15);
   10490             :       // op: addr
   10491         169 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10492         169 :       Value |= (op & UINT64_C(15)) << 16;
   10493         169 :       break;
   10494             :     }
   10495             :     case ARM::MCRR: {
   10496             :       // op: p
   10497           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10498           7 :       Value |= (op & UINT64_C(15)) << 28;
   10499             :       // op: Rt
   10500           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10501           7 :       Value |= (op & UINT64_C(15)) << 12;
   10502             :       // op: Rt2
   10503           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10504           7 :       Value |= (op & UINT64_C(15)) << 16;
   10505             :       // op: cop
   10506           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10507           7 :       Value |= (op & UINT64_C(15)) << 8;
   10508             :       // op: opc1
   10509           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10510           7 :       Value |= (op & UINT64_C(15)) << 4;
   10511             :       // op: CRm
   10512           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10513           7 :       Value |= op & UINT64_C(15);
   10514           7 :       break;
   10515             :     }
   10516             :     case ARM::LDRD:
   10517             :     case ARM::STRD: {
   10518             :       // op: p
   10519          22 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10520          22 :       Value |= (op & UINT64_C(15)) << 28;
   10521             :       // op: addr
   10522          22 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10523          22 :       Value |= (op & UINT64_C(256)) << 15;
   10524          22 :       Value |= (op & UINT64_C(8192)) << 9;
   10525          22 :       Value |= (op & UINT64_C(7680)) << 7;
   10526          22 :       Value |= (op & UINT64_C(240)) << 4;
   10527          22 :       Value |= op & UINT64_C(15);
   10528             :       // op: Rt
   10529          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10530          22 :       Value |= (op & UINT64_C(15)) << 12;
   10531          22 :       break;
   10532             :     }
   10533             :     case ARM::LDRHTr:
   10534             :     case ARM::LDRSBTr:
   10535             :     case ARM::LDRSHTr: {
   10536             :       // op: p
   10537           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10538           9 :       Value |= (op & UINT64_C(15)) << 28;
   10539             :       // op: addr
   10540           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10541           9 :       Value |= (op & UINT64_C(15)) << 16;
   10542             :       // op: Rt
   10543           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10544           9 :       Value |= (op & UINT64_C(15)) << 12;
   10545             :       // op: Rm
   10546          18 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10547           9 :       Value |= (op & UINT64_C(16)) << 19;
   10548           9 :       Value |= op & UINT64_C(15);
   10549           9 :       break;
   10550             :     }
   10551             :     case ARM::STRHTr: {
   10552             :       // op: p
   10553           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10554           3 :       Value |= (op & UINT64_C(15)) << 28;
   10555             :       // op: addr
   10556           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10557           3 :       Value |= (op & UINT64_C(15)) << 16;
   10558             :       // op: Rt
   10559           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10560           3 :       Value |= (op & UINT64_C(15)) << 12;
   10561             :       // op: Rm
   10562           6 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10563           3 :       Value |= (op & UINT64_C(16)) << 19;
   10564           3 :       Value |= op & UINT64_C(15);
   10565           3 :       break;
   10566             :     }
   10567             :     case ARM::ADCrsr:
   10568             :     case ARM::ADDrsr:
   10569             :     case ARM::ANDrsr:
   10570             :     case ARM::BICrsr:
   10571             :     case ARM::EORrsr:
   10572             :     case ARM::ORRrsr:
   10573             :     case ARM::RSBrsr:
   10574             :     case ARM::RSCrsr:
   10575             :     case ARM::SBCrsr:
   10576             :     case ARM::SUBrsr: {
   10577             :       // op: p
   10578         171 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10579         171 :       Value |= (op & UINT64_C(15)) << 28;
   10580             :       // op: s
   10581         171 :       op = getCCOutOpValue(MI, 7, Fixups, STI);
   10582         171 :       Value |= (op & UINT64_C(1)) << 20;
   10583             :       // op: Rd
   10584         171 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10585         171 :       Value |= (op & UINT64_C(15)) << 12;
   10586             :       // op: Rn
   10587         171 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10588         171 :       Value |= (op & UINT64_C(15)) << 16;
   10589             :       // op: shift
   10590         171 :       op = getSORegRegOpValue(MI, 2, Fixups, STI);
   10591         171 :       Value |= op & UINT64_C(3840);
   10592         171 :       Value |= op & UINT64_C(96);
   10593         171 :       Value |= op & UINT64_C(15);
   10594         171 :       break;
   10595             :     }
   10596             :     case ARM::UMAAL: {
   10597             :       // op: p
   10598           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10599           5 :       Value |= (op & UINT64_C(15)) << 28;
   10600             :       // op: RdLo
   10601           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10602           5 :       Value |= (op & UINT64_C(15)) << 12;
   10603             :       // op: RdHi
   10604           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10605           5 :       Value |= (op & UINT64_C(15)) << 16;
   10606             :       // op: Rm
   10607           5 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10608           5 :       Value |= (op & UINT64_C(15)) << 8;
   10609             :       // op: Rn
   10610           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10611           5 :       Value |= op & UINT64_C(15);
   10612           5 :       break;
   10613             :     }
   10614             :     case ARM::SMLALBB:
   10615             :     case ARM::SMLALBT:
   10616             :     case ARM::SMLALD:
   10617             :     case ARM::SMLALDX:
   10618             :     case ARM::SMLALTB:
   10619             :     case ARM::SMLALTT:
   10620             :     case ARM::SMLSLD:
   10621             :     case ARM::SMLSLDX: {
   10622             :       // op: p
   10623          32 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10624          32 :       Value |= (op & UINT64_C(15)) << 28;
   10625             :       // op: Rn
   10626          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10627          32 :       Value |= op & UINT64_C(15);
   10628             :       // op: Rm
   10629          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10630          32 :       Value |= (op & UINT64_C(15)) << 8;
   10631             :       // op: RdLo
   10632          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10633          32 :       Value |= (op & UINT64_C(15)) << 12;
   10634             :       // op: RdHi
   10635          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10636          32 :       Value |= (op & UINT64_C(15)) << 16;
   10637          32 :       break;
   10638             :     }
   10639             :     case ARM::LDRD_PRE: {
   10640             :       // op: p
   10641           3 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10642           3 :       Value |= (op & UINT64_C(15)) << 28;
   10643             :       // op: Rt
   10644           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10645           3 :       Value |= (op & UINT64_C(15)) << 12;
   10646             :       // op: addr
   10647           3 :       op = getAddrMode3OpValue(MI, 3, Fixups, STI);
   10648           3 :       Value |= (op & UINT64_C(256)) << 15;
   10649           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10650           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10651           3 :       Value |= (op & UINT64_C(240)) << 4;
   10652           3 :       Value |= op & UINT64_C(15);
   10653           3 :       break;
   10654             :     }
   10655             :     case ARM::MRC: {
   10656             :       // op: p
   10657          23 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10658          23 :       Value |= (op & UINT64_C(15)) << 28;
   10659             :       // op: Rt
   10660          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10661          23 :       Value |= (op & UINT64_C(15)) << 12;
   10662             :       // op: cop
   10663          23 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10664          23 :       Value |= (op & UINT64_C(15)) << 8;
   10665             :       // op: opc1
   10666          23 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10667          23 :       Value |= (op & UINT64_C(7)) << 21;
   10668             :       // op: opc2
   10669          23 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10670          23 :       Value |= (op & UINT64_C(7)) << 5;
   10671             :       // op: CRm
   10672          23 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10673          23 :       Value |= op & UINT64_C(15);
   10674             :       // op: CRn
   10675          23 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10676          23 :       Value |= (op & UINT64_C(15)) << 16;
   10677          23 :       break;
   10678             :     }
   10679             :     case ARM::LDRD_POST: {
   10680             :       // op: p
   10681           7 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10682           7 :       Value |= (op & UINT64_C(15)) << 28;
   10683             :       // op: Rt
   10684           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10685           7 :       Value |= (op & UINT64_C(15)) << 12;
   10686             :       // op: offset
   10687           7 :       op = getAddrMode3OffsetOpValue(MI, 4, Fixups, STI);
   10688           7 :       Value |= (op & UINT64_C(256)) << 15;
   10689           7 :       Value |= (op & UINT64_C(512)) << 13;
   10690           7 :       Value |= (op & UINT64_C(240)) << 4;
   10691           7 :       Value |= op & UINT64_C(15);
   10692             :       // op: addr
   10693           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10694           7 :       Value |= (op & UINT64_C(15)) << 16;
   10695           7 :       break;
   10696             :     }
   10697             :     case ARM::STRD_PRE: {
   10698             :       // op: p
   10699           3 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10700           3 :       Value |= (op & UINT64_C(15)) << 28;
   10701             :       // op: Rt
   10702           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10703           3 :       Value |= (op & UINT64_C(15)) << 12;
   10704             :       // op: addr
   10705           3 :       op = getAddrMode3OpValue(MI, 3, Fixups, STI);
   10706           3 :       Value |= (op & UINT64_C(256)) << 15;
   10707           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10708           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10709           3 :       Value |= (op & UINT64_C(240)) << 4;
   10710           3 :       Value |= op & UINT64_C(15);
   10711           3 :       break;
   10712             :     }
   10713             :     case ARM::STRD_POST: {
   10714             :       // op: p
   10715           7 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10716           7 :       Value |= (op & UINT64_C(15)) << 28;
   10717             :       // op: Rt
   10718           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10719           7 :       Value |= (op & UINT64_C(15)) << 12;
   10720             :       // op: offset
   10721           7 :       op = getAddrMode3OffsetOpValue(MI, 4, Fixups, STI);
   10722           7 :       Value |= (op & UINT64_C(256)) << 15;
   10723           7 :       Value |= (op & UINT64_C(512)) << 13;
   10724           7 :       Value |= (op & UINT64_C(240)) << 4;
   10725           7 :       Value |= op & UINT64_C(15);
   10726             :       // op: addr
   10727           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10728           7 :       Value |= (op & UINT64_C(15)) << 16;
   10729           7 :       break;
   10730             :     }
   10731             :     case ARM::MCR: {
   10732             :       // op: p
   10733          16 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10734          16 :       Value |= (op & UINT64_C(15)) << 28;
   10735             :       // op: Rt
   10736          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10737          16 :       Value |= (op & UINT64_C(15)) << 12;
   10738             :       // op: cop
   10739          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10740          16 :       Value |= (op & UINT64_C(15)) << 8;
   10741             :       // op: opc1
   10742          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10743          16 :       Value |= (op & UINT64_C(7)) << 21;
   10744             :       // op: opc2
   10745          16 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10746          16 :       Value |= (op & UINT64_C(7)) << 5;
   10747             :       // op: CRm
   10748          16 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10749          16 :       Value |= op & UINT64_C(15);
   10750             :       // op: CRn
   10751          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10752          16 :       Value |= (op & UINT64_C(15)) << 16;
   10753          16 :       break;
   10754             :     }
   10755             :     case ARM::CDP: {
   10756             :       // op: p
   10757          10 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10758          10 :       Value |= (op & UINT64_C(15)) << 28;
   10759             :       // op: opc1
   10760          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10761          10 :       Value |= (op & UINT64_C(15)) << 20;
   10762             :       // op: CRn
   10763          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10764          10 :       Value |= (op & UINT64_C(15)) << 16;
   10765             :       // op: CRd
   10766          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10767          10 :       Value |= (op & UINT64_C(15)) << 12;
   10768             :       // op: cop
   10769          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10770          10 :       Value |= (op & UINT64_C(15)) << 8;
   10771             :       // op: opc2
   10772          10 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10773          10 :       Value |= (op & UINT64_C(7)) << 5;
   10774             :       // op: CRm
   10775          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10776          10 :       Value |= op & UINT64_C(15);
   10777          10 :       break;
   10778             :     }
   10779             :     case ARM::SMLAL:
   10780             :     case ARM::UMLAL: {
   10781             :       // op: p
   10782          26 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10783          26 :       Value |= (op & UINT64_C(15)) << 28;
   10784